Криптография

  

11.5.1. Сложение

Большинство современных процессоров имеют специальный признак переноса, учитывающий добавочное слагаемое к следующему разряду при побитовом сложении. Кроме того, существуют специальные функции, обычно называемые чем-то вроде addc, которые складывают два целых числа с учетом признака переноса. Так, если мы хотим сложить два 64-битовых числа х =и у =, нам нужно вычислить:


11.5.2. Умножение в столбик

Теперь обратимся к следующей простейшей арифметической операции, идущей после сложения и вычитания, а именно, к умножению. Заметим, что при умножении двух 32-битовых чисел получится 64-битовое, и, естественно, большинство современных процессоров оснащено операцией, осуществляющей это действие.


11.5.3. Умножение Карацубы

Один из методов ускорения умножения носит название умножения Карацубы. Предположим, нам нужно перемножить два n-битовых числа х и у. Запишем их в виде

где. Умножение происходит с помощью вычислений:


11.5.4. Деление

После знакомства с умножением перейдем к самой сложной арифметической операции — делению. Оно необходимо, в частности, для определения остатков от деления двух целых чисел — основной задачи арифметики остатков, а значит и RSA.

Итак, для данных двух целых х и у чисел мы хотим найти такие q и r, что х = qy + r, причем, как обычно, 0 ≤ r < у. Напомним, что такое деление называется делением с остатком или евклидовым делением.


11.5.5. Арифметика Монтгомери

Поскольку деление больших целых чисел — операция сложная, все наши криптографические действия будут идти очень медленно, если мы будем использовать стандартный метод деления, представленный в предыдущем параграфе. Напомним, что практически все криптосистемы с открытым ключом работают с арифметикой остатков. Поэтому нам хотелось бы уметь вычислять остатки от деления, не прибегая к дорогостоящей операции деления. На первый взгляд это кажется невозможным, но если прибегнуть к специальной арифметике Монтгомери, то все окажется не так страшно.


11.6. Арифметика в конечных полях

Кроме полей вычетов по простому модулю р в криптографии используются поля четной характеристики. Такие поля встречаются, например, в алгоритме Rijndael и в некоторых системах, основанных на эллиптических кривых. В Rijndael поле настолько мало, что можно использовать поисковые таблицы или специальные микросхемы для реализации основных арифметических действий, поэтому в этом параграфе мы будем разбираться с полями над большой степени, такими, которые, например, используются в эллиптических кривых. Кроме того, нас будут интересовать только программные реализации операций. На аппаратных средствах операции в полях характеристики 2 могут реализовываться с помощью так называемых оптимальных нормальных базисов, но мы не будем здесь этого касаться.


  1. 12.1. Общие сведения о цифровых подписях
  2. 12.2. Цифровые сертификаты и PKI
  3. 12.3.1. PGP
  4. 12.3.2. Протокол защищенных сокетов
  5. 12.3.3. Сертификаты Х509
  6. 12.3.4. SPKI
  7. 12.3.4.1. Кортеж SPKI из четырех объектов.
  8. 12.3.4.2. Кортеж SPKI из пяти объектов.
  9. 12.4. Другие приложения третьей доверенной стороны
  10. 12.5. Неявные сертификаты
  11. 12.5.1. Описание системы
  12. 12.5.2. Запрос сертификата
  13. 12.5.3. Обработка запроса
  14. 12.5.4. Действия Алисы
  15. 12.5.5. Действия пользователя
  16. 12.6. Криптография идентификационной информации
  17. 13.2. Схемы обязательств
  18. 13.3. Доказательства с нулевым разглашением
  19. 13.4. Система электронного голосования
  20. 13.4.1. Установки системы
  21. 13.4.2. Заполнение бюллетеня
  22. 13.4.3. Распределение бюллетеней
  23. 13.4.4. Проверка достоверности информации
  24. 13.4.5. Подсчет голосов
  25. Проблемы стойкости
  26. Атаки на схемы с открытым ключом
  27. 14.1. Введение
  28. 14.2. Атака Винера на RSA
  29. 14.3. Решетки и приведенные базисы
  30. 14.4. Атаки на RSA, основанные на решетках
  31. 14.4.1. Атака Хастада
  32. 14.4.2. Атака Франклина-Рейтера и обобщение Копперсмита
  33. 14.4.3. Обобщение атаки Винера
  34. 14.5. Частичное раскрытие ключа
  35. 14.5.1. Частичное раскрытие секретной экспоненты в RSA
  36. 14.5.2. Частичное раскрытие простых множителей модуля RSA
  37. 14.5.3. Частичное раскрытие младших значащих цифр секретной экспоненты RSA
  38. 14.6. Анализ дефектов
  39. 15.1. Стойкость шифрования
  40. 15.1.1. Понятия стойкости
  41. 15.1.1.1. Теоретико-информационная стойкость.
  42. 15.1.1.2. Семантическая стойкость.
  43. 15.1.1.3. Полиномиальная стойкость.
  44. 15.1.2. Виды атак
  45. 15.1.2.1. Пассивная атака.
  46. 15.1.2.2. Атака с выбором шифротекста.
  47. 15.1.2.3. Адаптивная атака с выбором шифротекста.
  48. 15.1.3.1. Жесткость.
  49. 15.1.3.2. Текстозависимость.
  50. 15.2. Стойкость актуальных алгоритмов шифрования
<< [Первая] < [Предыдущая] 1 2 [Следующая] > [Последняя] >>

Результаты 1 - 56 из 67