Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

В криптографии , номера ничего вверх-мой рукав любые числа , которые, в силу своей конструкции, которые выше подозрений скрытых свойств. Они используются при создании криптографических функций, таких как хэши и шифры . Этим алгоритмам часто требуются рандомизированные константы для микширования или инициализации. Криптограф может пожелать выбрать эти значения таким образом, чтобы продемонстрировать, что константы не были выбраны для гнусной цели, например, для создания бэкдора в алгоритме. [1] Эти опасения можно развеять, используя числа, созданные таким образом, чтобы не оставлять места для корректировки. Примером может служить использование начальных цифр числа πкак константы. [2] Использование цифр в π миллионов разрядов после десятичной точки не будет считаться заслуживающим доверия, потому что разработчик алгоритма мог выбрать эту отправную точку, потому что это создало секретную уязвимость, которую разработчик мог впоследствии использовать.

Считается, что цифры в позиционных представлениях действительных чисел, таких как π , e и иррациональные корни, появляются с одинаковой частотой (см. Нормальное число ). Такие числа можно рассматривать как противоположность случайных чисел Чайтина – Колмогорова, поскольку они кажутся случайными, но имеют очень низкую информационную энтропию . Их использование мотивировано ранними спорами по поводу Стандарта шифрования данных правительства США 1975 года , который подвергся критике, поскольку не было предоставлено объяснений для констант, используемых в его S-блоке (хотя позже выяснилось, что они были тщательно отобраны для защиты от тогдашних -классифицированная техникадифференциальный криптоанализ ). [3] Таким образом, возникла потребность в более прозрачном способе генерации констант, используемых в криптографии.

«В рукаве ничего нет» - это фраза, связанная с фокусниками , которые иногда предваряют магический трюк, открывая рукава, чтобы показать, что внутри у них нет никаких предметов.

Примеры [ править ]

  • Рон Ривест использовал тригонометрическую синусоидальную функцию для генерации констант для широко используемого хэша MD5 . [4]
  • Агентство национальной безопасности США использовало квадратные корни из малых целых чисел для получения констант, используемых в его «алгоритме безопасного хеширования » SHA-1 . Функции SHA-2 используют квадратные и кубические корни малых простых чисел . [5]
    • SHA-1 хэш - алгоритм использует 0123456789ABCDEFFEDCBA9876543210F0E1D2C3 в качестве начального значения хэш - функции.
  • Blowfish алгоритм шифрования использует двоичное представление П (без начального 3) , чтобы инициализировать ключ расписания . [2]
  • RFC 3526 описывает простые числа для обмена ключами в Интернете , которые также генерируются из π .
  • S-коробка из NewDES шифра является производным от Соединенных Штатов Декларации независимости . [6]
  • Кандидат AES DFC получает все его произвольных постоянных, в том числе все записи S-поле, из двоичного разложения е . [7]
  • В расписании ключей ARIA используется двоичное расширение 1 / π . [8]
  • В расписании ключей шифра RC5 используются двоичные цифры как из e, так и из золотого сечения . [9]
  • Функция БЛЕК хэша , финалист в ША-3 конкуренции, использует таблицу 16 постоянных слов , которые являются ведущими 512 или 1024 битами дробной части из П .
  • Расписание ключей шифра KASUMI использует 0x123456789ABCDEFFEDCBA9876543210 для получения измененного ключа.
  • Salsa20 семейство шифров использовать строку ASCII «развернуть 32-байтовый K» как константы в процессе ее инициализации блока.

Контрпримеры [ править ]

  • Streebog хэш - функция S-коробка была утверждал, что генерируется случайным образом , но была обратной инженерии и доказано, что генерируется алгоритмически с некоторыми «озадачивающих» слабые стороны. [10]
  • Стандарт шифрования данных (DES) имеет константы, предоставленные АНБ. Они оказались далеко не случайными, но вместо того, чтобы быть бэкдором, они сделали алгоритм устойчивым к дифференциальному криптоанализу - методу, который в то время не был широко известен. [3]
  • Dual_EC_DRBG , криптографический псевдослучайный битовый генератор , рекомендованный NIST , подвергся критике в 2007 году, поскольку константы, рекомендованные для использования в алгоритме, могли быть выбраны таким образом, чтобы их автор мог предсказывать будущие результаты на основе выборки прошлых сгенерированных значений. [1] В сентябре 2013 года The New York Times написала, что «внутренние записки, просочившиеся бывшим подрядчиком АНБ Эдвардом Сноуденом , предполагают, что АНБ сгенерировало один из генераторов случайных чисел, используемых в стандарте NIST 2006 года, который называется стандартом Dual EC DRBG - который содержит черный ход для АНБ ". [11]
  • Кривые P стандартизированы NIST для криптографии с эллиптическими кривыми . Коэффициенты на этих кривых генерируются путем хеширования необъяснимых случайных чисел , таких как:
    • P-224: bd713447 99d5c7fc dc45b59f a3b9ab8f 6a948bc5.
    • Р-256: c49d3608 86e70493 6a6678e1 139d26b7 819f7e90.
    • Р-384: a335926a a319a27a 1d00896a 6773a482 7acdac73.

Хотя это и не связано напрямую, после того, как был обнаружен бэкдор в Dual_EC_DRBG, подозрительные аспекты констант кривой P NIST [12] привели к опасениям [13], что АНБ выбрало значения, которые дали им преимущество в поиске [14] закрытых ключей. [15] С тех пор многие протоколы и программы начали использовать Curve25519 в качестве альтернативы кривой NIST P-256.

Я больше не доверяю константам. Я считаю, что АНБ манипулировало ими через их отношения с промышленностью.

-  Брюс Шнайер , АНБ ломает больше всего шифрования в Интернете (2013)

Ограничения [ править ]

Бернстайн и соавторы демонстрируют, что использование чисел «ничего в рукаве» в качестве отправной точки в сложной процедуре создания криптографических объектов, таких как эллиптические кривые, может быть недостаточно для предотвращения вставки лазеек. Если в процедуре выбора объекта имеется достаточно настраиваемых элементов, набор возможных вариантов дизайна и очевидных простых констант может быть достаточно большим, чтобы поиск возможностей позволил создать объект с желаемыми свойствами бэкдора. [16]

Сноски [ править ]

  1. ^ a b Брюс Шнайер (2007-11-15). «Разве АНБ заложило секретный бэкдор в новый стандарт шифрования?» . Проводные новости .
  2. ^ a b Бумага Blowfish
  3. ^ а б Брюс Шнайер . Прикладная криптография , второе издание, John Wiley and Sons, 1996, p. 278.
  4. ^ RFC 1321 разд. 3,4
  5. ^ FIPS 180-2: Secure Hash Standard (SHS) ( PDF , 236 kB) - Текущая версия Secure Hash Standard (SHA-1, SHA-224, SHA-256, SHA-384 и SHA-512), 1 Август 2002 г., поправка от 25 февраля 2004 г.
  6. ^ Редакция NEWDES, Роберт Скотт, 1996
  7. ^ Анри Гилберт; М. Жиро; П. Хугворст; Ф. Нойлхан; Т. Порнин; Г. Пупар; Дж. Стерн; С. Воденэ (19 мая 1998 г.). «Декоррелированный быстрый шифр: кандидат в AES» (PDF / PostScript ) . Цитировать журнал требует |journal=( помощь )
  8. ^ А. Бирюков , С. Де Cannière, J. Лано, Б. Preneel , SB Örs (7 января 2004). «Анализ безопасности и производительности ARIA» ( PostScript ) . Версия 1.2 - Заключительный отчет. Katholieke Universiteit Leuven . Цитировать журнал требует |journal=( помощь )CS1 maint: несколько имен: список авторов ( ссылка )
  9. Перейти ↑ Rivest, RL (1994). «Алгоритм шифрования RC5» (PDF) . Труды Второго международного семинара по быстрому шифрованию программного обеспечения (FSE) 1994e . С. 86–96.
  10. Бирюков, Алексей; Перрен, Лео; Удовенко, Алексей (2016). «Реверс-инжиниринг S-бокса Стрибога, Кузнечика и СТРИБОБр1 (Полная версия)» . Cite journal requires |journal= (help)
  11. ^ Perlroth, Nicole (10 сентября 2013). «Правительство объявляет о шагах по восстановлению доверия к стандартам шифрования» . Нью-Йорк Таймс . Проверено 11 сентября 2013 года .
  12. ^ https://safecurves.cr.yp.to/
  13. Максвелл, Грегори (8 сентября 2013 г.). "[tor-talk] NIST одобрил криптовалюту в Tor?" . Проверено 20 мая 2015 .
  14. ^ "SafeCurves: Rigidity" . safecurves.cr.yp.to . Проверено 20 мая 2015 .
  15. ^ "АНБ взламывает большинство шифрования в Интернете - Шнайер о безопасности" . www.schneier.com . Проверено 20 мая 2015 .
  16. ^ Как управлять стандартами кривых: технический документ для черной шляпы Дэниела Дж. Бернштейна, Тунг Чоу, Читчанок Чуэнгсатиансуп, Андреас Ху Улсинг, Эран Ламбуйдж, Таня Ланге , Рубен Нидерхаген и Кристин ван Вредендал, 27 сентября 2015 г. 4, 2016

Ссылки [ править ]

  • Брюс Шнайер . Прикладная криптография , второе издание. Джон Вили и сыновья, 1996.
  • Эли Бихам , Ади Шамир , (1990). Дифференциальный криптоанализ DES-подобных криптосистем. Достижения в криптологии - CRYPTO '90. Springer-Verlag. 2–21.