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

В криптографии , RC4 (Ривест Шифр 4 также известный как ARC4 или ARCFOUR означает Предполагаемая RC4, смотри ниже) представляет собой потоковый шифр . Хотя он отличается простотой и скоростью программного обеспечения, в RC4 было обнаружено множество уязвимостей, что сделало его небезопасным. [3] [4] Это особенно уязвимо, когда не отбрасывается начало выходного ключевого потока или когда используются неслучайные или связанные ключи. Особенно проблематичное использование RC4 привело к появлению очень небезопасных протоколов, таких как WEP . [5]

По состоянию на 2015 год есть предположение, что некоторые государственные криптологические агентства могут обладать способностью взламывать RC4 при использовании в протоколе TLS . [6] IETF опубликовал RFC 7465, запрещающий использование RC4 в TLS; [3] Mozilla и Microsoft выпустили аналогичные рекомендации. [7] [8]

Был предпринят ряд попыток усилить RC4, особенно Spritz, RC4A, VMPC и RC4 + .

История [ править ]

RC4 был разработан Роном Ривестом из RSA Security в 1987 году. Хотя он официально называется «Rivest Cipher 4», аббревиатура RC также понимается как «Код Рона» [9] (см. Также RC2 , RC5 и RC6 ).

Первоначально RC4 был коммерческой тайной , но в сентябре 1994 года его описание было анонимно отправлено в список рассылки Cypherpunks . [10] Вскоре он был размещен в группе новостей sci.crypt , где в считанные дни был проанализирован Бобом Дженкинсом. [11] Оттуда он распространился на многие сайты в Интернете. Утечка кода была подтверждена как подлинная, поскольку было обнаружено, что его выходные данные совпадают с выходными данными проприетарного программного обеспечения, использующего лицензионный RC4. Поскольку алгоритм известен, он больше не является коммерческой тайной. Название RC4 является торговой маркой, поэтому RC4 часто упоминается как Arcfour или ARC4 (то есть предполагаемый RC4 ) [12]чтобы избежать проблем с товарным знаком. RSA Security никогда официально не выпускала алгоритм; Однако Ривест связался со статьей о RC4 на английском языке в Википедии в своих заметках по курсу в 2008 году [13] и подтвердил историю RC4 и его кода в своей статье 2014 года. [14]

RC4 стал частью некоторых широко используемых протоколов и стандартов шифрования, таких как WEP в 1997 г. и WPA в 2003/2004 гг. Для беспроводных карт; и SSL в 1995 году и его преемник TLS в 1999 году, пока он не был запрещен для всех версий TLS RFC 7465 в 2015 году из-за атак RC4, ослабляющих или нарушающих RC4, используемых в SSL / TLS. Основными факторами успеха RC4 в таком широком диапазоне приложений были его скорость и простота: было очень легко разработать эффективные реализации как в программном, так и в аппаратном обеспечении.

Описание [ править ]

RC4 генерирует псевдослучайный поток битов ( ключевой поток ). Как и любой потоковый шифр, их можно использовать для шифрования, комбинируя его с открытым текстом с помощью побитового исключающего ИЛИ ; расшифровка выполняется таким же образом (поскольку исключающее ИЛИ с заданными данными является инволюцией ). Это похоже на одноразовый блокнот, за исключением того, что используются сгенерированные псевдослучайные биты , а не подготовленный поток.

Для генерации ключевого потока шифр использует секретное внутреннее состояние, которое состоит из двух частей:

  1. Перестановка из всех возможных 256 байт (обозначается «S» ниже).
  2. Два 8-битных указателя индекса (обозначены «i» и «j»).

Перестановка инициализируется ключом переменной длины , обычно между 40 и 2048 битами, с использованием алгоритма планирования ключей (KSA). Как только это будет завершено, поток битов генерируется с использованием алгоритма псевдослучайной генерации (PRGA).

Алгоритм распределения ключей (KSA) [ править ]

Ключ-планирования алгоритм используется для инициализации перестановки в массиве «S». «длина ключа» определяется как количество байтов в ключе и может находиться в диапазоне 1 ≤ длина ключа ≤ 256, обычно от 5 до 16, что соответствует длине ключа от 40 до 128 бит. Сначала массив «S» инициализируется перестановкой идентичности . Затем S обрабатывается на 256 итераций аналогично основному PRGA, но одновременно с этим подмешиваются байты ключа.

для i от 0 до 255 S [i]: = iконецj: = 0для i от 0 до 255 j: = (j + S [i] + key [i mod keylength]) mod 256 поменять местами значения S [i] и S [j]конец

Алгоритм псевдослучайной генерации (PRGA) [ править ]

Этап поиска RC4. Выходной байт выбирается путем поиска значений S [i] и S [j] , сложения их по модулю 256 и последующего использования суммы в качестве индекса в S ; S (S [i] + S [j]) используется как байт ключевого потока K.

Для необходимого количества итераций PRGA изменяет состояние и выводит байт ключевого потока. На каждой итерации PRGA:

  • приращения я
  • ищет i- й элемент S , S [ i ] , и добавляет его к j
  • обменивается значениями S [ i ] и S [ j ], затем использует сумму S [ i ] + S [ j ] (по модулю 256) в качестве индекса для выборки третьего элемента S (значение ключевого потока K ниже)
  • затем побитовое исключающее ИЛИ ( XORed ) со следующим байтом сообщения для создания следующего байта либо зашифрованного, либо открытого текста.

Каждый элемент S заменяется другим элементом не реже одного раза в 256 итераций.

я: = 0j: = 0при GeneratingOutput: i: = (i + 1) mod 256 j: = (j + S [i]) mod 256 поменять местами значения S [i] и S [j] K: = S [(S [i] + S [j]) mod 256] выход Kв конце концов

Таким образом, это создает поток K [0], K [1], ..., которые подвергаются операции XOR с открытым текстом для получения зашифрованного текста . Итак, зашифрованный текст [ l ] = открытый текст [ l ] ⊕ K [ l ] .

Генераторы случайных чисел на основе RC4 [ править ]

Некоторые операционные системы включают arc4randomAPI-интерфейс OpenBSD, обеспечивающий доступ к генератору случайных чисел, изначально основанному на RC4. В OpenBSD 5.5, выпущенном в мае 2014 года, arc4randomбыло добавлено использование ChaCha20 . [15] [16] Реализации arc4random во FreeBSD , NetBSD [17] [18] и libbsd [19] Linux также используют ChaCha20. Согласно страницам руководства, поставляемым с операционной системой, в выпуске своих настольных и мобильных операционных систем в 2017 году Apple заменила RC4 на AES в своей реализации arc4random.Страницы руководства для нового arc4random включают бэкроним «Вызов замены для случайного» для ARC4 в качестве мнемоники [20], поскольку он предоставляет более качественные случайные данные, чем rand () .

Предлагаемые новые генераторы случайных чисел часто сравнивают с генератором случайных чисел RC4. [21] [22]

Несколько атак на RC4 могут отличить его вывод от случайной последовательности . [23]

Реализация [ править ]

Многие потоковые шифры основаны на регистрах сдвига с линейной обратной связью (LFSR), которые, хотя и эффективны с точки зрения аппаратного обеспечения, менее эффективны с точки зрения программного обеспечения. Дизайн RC4 позволяет избежать использования LFSR и идеально подходит для программной реализации, поскольку требует только манипуляций с байтами. Он использует 256 байтов памяти для массива состояний, от S [0] до S [255], k байтов памяти для ключа, от ключа [0] до ключа [k-1] и целочисленных переменных, i, j и K. Выполнение модульного сокращения некоторого значения по модулю 256 может быть выполнено с помощью побитового И с 255 (что эквивалентно взятию младшего байта рассматриваемого значения).

Тестовые векторы [ править ]

Эти тестовые векторы не являются официальными, но удобны для всех, кто тестирует собственную программу RC4. Ключи и открытый текст представлены в формате ASCII , поток ключей и зашифрованный текст - в шестнадцатеричном формате .

Безопасность [ править ]

В отличие от современного потокового шифра (например, в eSTREAM ), RC4 не принимает отдельный одноразовый номер вместе с ключом. Это означает, что если один долгосрочный ключ должен использоваться для безопасного шифрования нескольких потоков, протокол должен указать, как объединить одноразовый ключ и долгосрочный ключ для генерации ключа потока для RC4. Один из подходов к решению этой проблемы - создание «свежего» ключа RC4 путем хеширования долгосрочного ключа с помощью одноразового номера . Однако многие приложения, использующие RC4, просто объединяют ключ и одноразовый номер; Затем из- за слабого расписания ключей RC4 возникают связанные ключевые атаки , такие как атака Флюрера, Мантина и Шамира (известная тем, что нарушает WEP.стандарт). [24]

Поскольку RC4 является потоковым шифром , он более гибок, чем обычные блочные шифры . Если шифрование не используется вместе со строгим кодом аутентификации сообщения (MAC), оно уязвимо для атаки с переворотом битов . Шифр также уязвим для атаки потокового шифра, если он не реализован правильно. [25]

Однако следует отметить, что RC4, будучи потоковым шифром, был в течение некоторого времени единственным распространенным шифром, который был невосприимчив [26] к атаке BEAST 2011 года на TLS 1.0 . Атака использует известную слабость в способе использования режима цепочки блоков шифров со всеми другими шифрами, поддерживаемыми TLS 1.0, которые все являются блочными шифрами.

В марте 2013 г. были предложены новые сценарии атак Исобе, Охигаши, Ватанабе и Мори [27], а также Альфарданом, Бернштейном, Патерсоном, Поеттерингом и Шульдтом, которые используют новые статистические смещения в ключевой таблице RC4 [28] для восстановления открытого текста с помощью большое количество шифров TLS. [29] [30]

Использование RC4 в TLS запрещено RFC 7465, опубликованным в феврале 2015 года.

Смещения Рооса и реконструкция ключа из перестановки [ править ]

В 1995 году Эндрю Роос экспериментально заметил, что первый байт ключевого потока коррелирует с первыми тремя байтами ключа, а первые несколько байтов перестановки после KSA коррелируют с некоторой линейной комбинацией ключевых байтов. [31] Эти предубеждения оставались необъясненными до 2007 года, когда Гутам Пол, Сиддхешвар Рати и Субхамой Майтра [32] доказали корреляцию ключевой поток, а в другой работе Гутам Пол и Субхамой Майтра [33] доказали корреляцию перестановки ключа. Последняя работа также использовала корреляции перестановка-ключ для разработки первого алгоритма для полной реконструкции ключа из окончательной перестановки после KSA, без каких-либо предположений о ключе или векторе инициализации.. Этот алгоритм имеет постоянную вероятность успеха за время, которое является квадратным корнем из сложности исчерпывающего поиска ключа. Впоследствии было выполнено множество других работ по восстановлению ключей из внутренних состояний RC4. [34] [35] [36] Субхамой Майтра и Гаутам Пол [37] также показали, что смещения типа Рооса все еще сохраняются, даже если рассматривать индексы вложенных перестановок, такие как S [S [i]] или S [S [S [ i]]] . Эти типы смещений используются в некоторых из более поздних ключевых методов реконструкции для увеличения вероятности успеха.

Смещенные выходы RC4 [ править ]

Ключевой поток, генерируемый RC4, в той или иной степени смещен в сторону определенных последовательностей, что делает его уязвимым для распознавания атак . Лучшая такая атака принадлежит Ицику Мантину и Ади Шамиру, которые показали, что второй выходной байт шифра смещен в сторону нуля с вероятностью 1/128 (вместо 1/256). Это связано с тем, что если третий байт исходного состояния равен нулю, а второй байт не равен 2, то второй выходной байт всегда равен нулю. Такое смещение можно обнаружить, наблюдая только 256 байт. [23]

Сурадьюти Пол и Барт Пренил из COSIC показали, что первый и второй байты RC4 также были смещены. Количество требуемых выборок для обнаружения этого смещения составляет 2 25 байтов. [38]

Скотт Флурер и Дэвид МакГрю также продемонстрировали такие атаки, которые отличают ключевой поток RC4 от случайного потока с гигабайтом вывода. [39]

Полная характеристика одного шага RC4 PRGA была выполнена Риддхипратимом Басу, Ширшенду Гангули, Субхамой Майтрой и Гаутамом Полом. [40] Рассматривая все перестановки, они доказывают, что распределение вывода не является равномерным для данных i и j, и, как следствие, информация о j всегда просачивается в вывод.

Атака Флюрера, Мантина и Шамира [ править ]

В 2001 году Флурер , Мантин и Шамир сделали новое и удивительное открытие : по всем возможным ключам RC4 статистика для первых нескольких байтов выходного потока ключей сильно не случайна, что приводит к утечке информации о ключе. Если одноразовый номер и долгосрочный ключ просто объединяются для генерации ключа RC4, этот долгосрочный ключ можно обнаружить, проанализировав большое количество сообщений, зашифрованных этим ключом. [41] Этот и связанные с ним эффекты затем были использованы для взлома шифрования WEP («эквивалентная проводная конфиденциальность»), используемого в беспроводных сетях 802.11 . Это вызвало борьбу за замену WEP на основе стандартов на рынке 802.11 и привело к появлению стандарта IEEE 802.11i.усилия и WPA . [42]

Протоколы могут защищаться от этой атаки, отбрасывая начальную часть ключевого потока. Такой модифицированный алгоритм традиционно называется «RC4-drop [ n ]», где n - количество отброшенных начальных байтов ключевого потока. По умолчанию SCAN составляет n = 768 байтов, но консервативное значение будет n = 3072 байта. [43]

Атака Fluhrer, Mantin и Shamir не применима к SSL на основе RC4, поскольку SSL генерирует ключи шифрования, которые он использует для RC4, путем хеширования, что означает, что разные сеансы SSL имеют несвязанные ключи. [44]

Атака Кляйна [ править ]

В 2005 году Андреас Кляйн представил анализ потокового шифра RC4, показывающий больше корреляций между ключевым потоком RC4 и ключом. [45] Эрик Тьюс , Ральф-Филипп Вайнманн и Андрей Пычкин использовали этот анализ для создания aircrack-ptw, инструмента, который взламывает 104-битный RC4, используемый в 128-битном WEP, менее чем за минуту. [46] В то время как атака Флюрера, Мантина и Шамира использовала около 10 миллионов сообщений, aircrack-ptw может взломать 104-битные ключи в 40 000 фреймов с вероятностью 50% или в 85 000 фреймах с вероятностью 95%.

Комбинаторная задача [ править ]

Комбинаторная проблема, связанная с количеством входов и выходов шифра RC4, была впервые поставлена Ициком Мантином и Ади Шамиром в 2001 году, в результате чего из всех 256 элементов в типичном состоянии RC4, если x количество элементов ( x ≤ 256 ) известны только (все остальные элементы можно считать пустыми), то максимальное количество элементов, которые могут быть получены детерминированно, также равно x в следующих 256 раундах. Эта гипотеза была опровергнута в 2004 году формальным доказательством, данным Сурадьюти Полом и Барт Пренел . [47]

Атака Роял Холлоуэй [ править ]

В 2013 году группа исследователей безопасности из группы информационной безопасности Королевского Холлоуэя Лондонского университета сообщила об атаке, которая может стать эффективной с использованием только 2 34 зашифрованных сообщений. [48] [49] [50] Хотя это еще не практическая атака для большинства целей, этот результат достаточно близок к такому, что он привел к предположению, что вполне вероятно, что некоторые государственные криптологические агентства могут уже иметь более эффективные атаки, которые делают RC4 небезопасным. . [6] Учитывая, что по состоянию на 2013 год , большой объем трафика TLS использует RC4, чтобы избежать атак на блочные шифры, которые используют цепочку блоков шифров., если эти гипотетические лучшие атаки существуют, то это сделало бы комбинацию TLS-с-RC4 небезопасной против таких злоумышленников в большом количестве практических сценариев. [6]

В марте 2015 года исследователь Royal Holloway объявил об улучшениях своей атаки, представив атаку 2 26 против паролей, зашифрованных с помощью RC4, используемых в TLS. [51]

Атака бар-мицвы [ править ]

На Black Hat Asia 2015 Ицик Мантин представил еще одну атаку против SSL с использованием шифра RC4. [52] [53]

NOMORE атака [ править ]

В 2015 году исследователи безопасности из KU Leuven представили новые атаки против RC4 как в TLS, так и в WPA-TKIP . [54] Атака, получившая название Numerous Occurrence MOnitoring & Recovery Exploit (NOMORE), это первая атака такого рода, которая была продемонстрирована на практике. Их атака на TLS может расшифровать безопасный HTTP-файл cookie в течение 75 часов. Атака на WPA-TKIP может быть завершена в течение часа и позволяет злоумышленнику расшифровать и внедрить произвольные пакеты.

Варианты RC4 [ править ]

Как упоминалось выше, самая важная слабость RC4 связана с недостаточным расписанием ключевых слов; первые байты вывода раскрывают информацию о ключе. Это можно исправить, просто отбросив некоторую начальную часть выходного потока. [55] Это известно как RC4-drop N , где N обычно кратно 256, например 768 или 1024.

Был предпринят ряд попыток усилить RC4, особенно Spritz, RC4A, VMPC и RC4 + .

RC4A [ править ]

Сурадьюти Пол и Барт Пренил предложили вариант RC4, который они назвали RC4A. [56]

RC4A использует два массива состояний S1 и S2 и два индекса j1 и j2 . Каждый раз, когда i увеличивается, генерируются два байта:

  1. Сначала выполняется базовый алгоритм RC4 с использованием S1 и j1 , но на последнем этапе S1 [ i ] + S1 [ j1 ] ищется в S2 .
  2. Во-вторых, операция повторяется (без повторного увеличения i ) на S2 и j2 , и выводится S1 [S2 [ i ] + S2 [ j2 ]] .

Таким образом, алгоритм таков:

Вся арифметика выполняется по модулю 256я: = 0j1: = 0j2: = 0при GeneratingOutput: я: = я + 1 j1: = j1 + S1 [i] поменять местами значения S1 [i] и S1 [j1] на выходе S2 [S1 [i] + S1 [j1]] j2: = j2 + S2 [i] поменять местами значения S2 [i] и S2 [j2] выход S1 [S2 [i] + S2 [j2]] заканчивается, пока

Хотя алгоритм требует того же количества операций на один выходной байт, параллелизм выше, чем у RC4, что обеспечивает возможное улучшение скорости.

Хотя этот алгоритм более сильный, чем RC4, он также подвергся атаке с Александром Максимовым [57] и командой из NEC [58], которые разработали способы отличить его результат от действительно случайной последовательности.

VMPC [ править ]

Вариативно модифицированная композиция перестановок (VMPC) - еще один вариант RC4. [59] Он использует такое же расписание ключей, что и RC4, с j: = S [(j + S [i] + key [i mod keylength]) mod 256] итерация 3 × 256 = 768 раз, а не 256, и с необязательным дополнительные 768 итераций для включения исходного вектора. Функция генерации вывода работает следующим образом:

Вся арифметика выполняется по модулю 256.я: = 0при GeneratingOutput: a: = S [i] j: = S [j + a]  вывод S [S [S [j] + 1]] Поменять местами S [i] и S [j] ( b: = S [j]; S [i]: = b; S [j]: = a) )  я: = я + 1в конце концов

Это было атаковано в тех же документах, что и RC4A, и его можно различить в пределах 2 38 выходных байтов. [60] [58]

RC4 + [ править ]

RC4 + - это модифицированная версия RC4 с более сложным трехфазным расписанием клавиш (примерно в три раза дольше, чем RC4, или такое же, как RC4-drop512) и более сложной функцией вывода, которая выполняет четыре дополнительных поиска в S массив для каждого выходного байта, что примерно в 1,7 раза больше, чем у базового RC4. [61]

Вся арифметика по модулю 256.  << и >> - сдвиг влево и вправо,- исключающее ИЛИ при GeneratingOutput: я: = я + 1 a: = S [i] j: = j + a  Поменяйте местами S [i] и S [j] ( b: = S [j]; S [j]: = S [i]; S [i]: = b; )  c: = S [i << 5 ⊕ j >> 3] + S [j << 5 ⊕ i >> 3] Выход (S [A + B] + S [c⊕0xAA]) ⊕ S [J + Ь] ENDWHILE

Этот алгоритм не подвергался значительному анализу.

Spritz [ править ]

В 2014 году Рональд Ривест выступил с докладом и соавтором статьи [14] об обновленном редизайне под названием Spritz . Аппаратный ускоритель Spritz был опубликован в Secrypt, 2016 [62] и показывает, что из-за множества вложенных вызовов, необходимых для создания выходных байтов, Spritz работает довольно медленно по сравнению с другими хэш-функциями, такими как SHA-3 и наиболее известной аппаратной реализацией RC4. .

Алгоритм такой: [14]

Вся арифметика выполняется по модулю 256 при GeneratingOutput: я: = я + ш j: = k + S [j + S [i]] k: = k + i + S [j] поменять местами значения S [i] и S [j] вывод z: = S [j + S [i + S [z + k]]] в конце, пока

Значение ш , является взаимно простым с размером массива S. Итак, после 256 итераций этого внутреннего цикла значение i (увеличивается на w каждую итерацию) принимает все возможные значения 0 ... 255, и каждый байт в массиве S был заменен по крайней мере один раз.

Как и другие функции губки , Spritz может использоваться для создания криптографической хеш-функции, детерминированного генератора случайных битов ( DRBG ), алгоритма шифрования, который поддерживает аутентифицированное шифрование со связанными данными (AEAD) и т. Д. [14]

В 2016 году Баник и Исобе предложили атаку, которая может отличить Spritz от случайного шума. [63]

Протоколы на основе RC4 [ править ]

  • WEP
  • WPA (алгоритм по умолчанию, но его можно настроить для использования AES-CCMP вместо RC4)
  • Шифрование протокола BitTorrent
  • Microsoft Office XP (небезопасная реализация, поскольку nonce остается неизменным при изменении документов [64] )
  • Двухточечное шифрование Microsoft
  • Безопасность транспортного уровня / Уровень защищенных сокетов (был необязательным, а затем использование RC4 было запрещено в RFC 7465)
  • Secure Shell (опционально)
  • Протокол удаленного рабочего стола (опционально)
  • Kerberos (опционально)
  • SASL Mechanism Digest-MD5 (опционально, исторический , устарел в RFC 6331)
  • Gpcode.AK , компьютерный вирус начала июня 2008 года для Microsoft Windows, который захватывает документы в заложники с целью выкупа , скрывая их с помощью шифрования RC4 и RSA-1024.
  • PDF
  • Skype (в измененном виде) [65]

Если протокол отмечен «(необязательно)», RC4 - это один из нескольких шифров, для использования которых может быть настроена система.

См. Также [ править ]

  • TEA , Block TEA, также известный как eXtended TEA и Corrected Block TEA - семейство блочных шифров, которые, как и RC4, очень просты в реализации.
  • Расширенный стандарт шифрования
  • ШифрСабля

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

  1. ^ П. Праситсангари и П. Кришнамурти (2003). «Анализ энергопотребления алгоритмов RC4 и AES в беспроводных локальных сетях» (PDF) . Архивировано из оригинала (PDF) на 3 декабря 2013 года. Cite journal requires |journal= (help)
  2. ^ «Тесты Crypto ++ 5.6.0» . Проверено 22 сентября 2015 года .
  3. ^ a b Андрей Попов (февраль 2015). Запрещение наборов шифров RC4 . DOI : 10,17487 / RFC7465 . RFC 7465 .
  4. Лучиан Константин (14 мая 2014 г.). «Microsoft продолжает поэтапный отказ от шифрования RC4 с обновлениями безопасности .NET» . ComputerWorld .
  5. ^ Дж. Кац; Ю. Линделл (2014), Введение в современную криптографию , Chapman and Hall / CRC, стр. 77
  6. ^ a b c Джон Лейден (6 сентября 2013 г.). «Этот потрясающий криптографический взлом АНБ: привидения разбили RC4?» . Реестр .
  7. ^ «Рекомендуемые конфигурации TLS на стороне сервера Mozilla Security» . Mozilla . Проверено 3 января 2015 года .
  8. ^ «Рекомендации по безопасности 2868725: Рекомендация по отключению RC4» . Microsoft. 12 ноября 2013 . Проверено 4 декабря 2013 года .
  9. ^ Rivest FAQ
  10. ^ "Спасибо, Боб Андерсон" . Шифропанки (список рассылки). 9 сентября 1994 года Архивировано из оригинала 22 июля 2001 года . Проверено 28 мая 2007 года .
  11. Боб Дженкинс (15 сентября 1994 г.). "Re: RC4?" . Группа новостейsci.crypt . Usenet: [email protected] . 
  12. ^ "Страницы руководства: arc4random" . 5 июня 2013 . Проверено 2 февраля 2018 .
  13. ^ 6.857 Компьютерная и сетевая безопасность, весна 2008: Лекции и раздаточные материалы
  14. ^ a b c d Ривест, Рон; Шульдт, Джейкоб (27 октября 2014 г.). «Spritz - губчатый поточный шифр и хэш-функция в стиле RC4» (PDF) . Проверено 26 октября 2014 года .
  15. ^ "OpenBSD 5.5" . Проверено 21 сентября 2014 года .
  16. ^ Дераадт , изд. (21 июля 2014 г.). "libc / crypt / arc4random.c" . Перекрестная ссылка BSD, OpenBSD src / lib / . Проверено 13 января 2015 . Генератор случайных чисел на основе ChaCha для OpenBSD.
  17. ^ риастрад, изд. (16 ноября 2014 г.). "libc / gen / arc4random.c" . Перекрестная ссылка BSD, NetBSD src / lib / . Проверено 13 января 2015 . Устаревший API arc4random (3) от OpenBSD, переопределенный с использованием ChaCha20 PRF, с состоянием для каждого потока.
  18. ^ "arc4random - Страницы руководства NetBSD" . Проверено 6 января 2015 .
  19. ^ "Обновить модуль arc4random из OpenBSD и LibreSSL" . Проверено 6 января +2016 .
  20. ^ "arc4random (3)" . OpenBSD.
  21. ^ Бартош Золтак. «VMPC-R: криптографически безопасный генератор псевдослучайных чисел, альтернатива RC4». 2010?
  22. ^ Чефранов, А.Г. "Улучшение периода RC4 генератора псевдослучайных чисел" . 2006 г.
  23. ^ а б Ицик Мантин, Ади Шамир (2001). «Практическая атака на трансляцию RC4» (PDF) : 152–164. Cite journal requires |journal= (help)CS1 maint: uses authors parameter (link)
  24. ^ "Ответ безопасности RSA на слабые места в алгоритме планирования ключей RC4" . RSA Laboratories. 1 сентября 2001 г.
  25. Скляров, Дмитрий (2004). Скрытые ключи от взлома программного обеспечения и несанкционированного доступа . Публикация A-List. С. 92–93. ISBN 978-1931769303.
  26. ^ «ssl - самые безопасные шифры для использования с BEAST? (эксплойт TLS 1.0) Я читал, что RC4 невосприимчив - сбой сервера» . serverfault.com .
  27. ^ Исобе, Таканори; Охигаши, Тосихиро (10–13 марта 2013 г.). «Безопасность RC4 Stream Cipher» . Хиросимский университет . Проверено 27 октября 2014 года .
  28. ^ Pouyan Sepehrdad; Серж Воденэ; Мартин Вуаньу (2011). Обнаружение и использование новых предубеждений в RC4 . Конспект лекций по информатике . 6544 . С. 74–91. DOI : 10.1007 / 978-3-642-19574-7_5 . ISBN 978-3-642-19573-0.
  29. ^ Грин, Мэтью (12 марта 2013 г.). «Атака недели: RC4 вроде взломан в TLS» . Инженерия криптографии . Проверено 12 марта 2013 года .
  30. ^ Надхем АльФардан; Дэн Бернштейн; Кенни Патерсон; Бертрам Поеттеринг; Якоб Шульдт. «О безопасности RC4 в TLS» . Лондонский Королевский университет Холлоуэй . Проверено 13 марта 2013 года .
  31. Эндрю Роос. Класс слабых ключей в потоковом шифре RC4. Два сообщения в sci.crypt, идентификатор сообщения [email protected] и [email protected], 1995 г.
  32. ^ Гутам Пол, Сиддхешвар Рати и Субхамой Майтра. О значительном смещении первого выходного байта RC4 по отношению к первым трем байтам секретного ключа. Труды Международного семинара по кодированию и криптографии (WCC) 2007, страницы 285–294 и Журнал «Дизайн, коды и криптография», страницы 123–134, том. 49, нет. 1-3 декабря 2008 г.
  33. ^ Гаутам Пол и Субхамой Майтра. Перестановка после планирования ключей RC4 раскрывает секретный ключ. SAC 2007, страницы 360–377, т. 4876, Конспект лекций по информатике , Springer.
  34. Эли Бихам и Янив Кармели. Эффективное восстановление ключей RC4 из внутренних состояний. FSE 2008, страницы 270–288, vol. 5086, Конспект лекций по информатике, Springer.
  35. ^ Мета Akgun, Пинар Кавакский, Гусейн Demirci. Новые результаты по ключевому алгоритму планирования RC4. INDOCRYPT 2008, страницы 40–52, vol. 5365, Конспект лекций по информатике, Springer.
  36. ^ Riddhipratim Бас, Subhamoy Майтр, Гоуты Пол и Tanmoy Талукдар. О некоторых последовательностях секретного псевдослучайного индекса j в планировании ключей RC4. Труды 18-го Международного симпозиума по прикладной алгебре, алгебраическим алгоритмам и кодам исправления ошибок (AAECC), 8–12 июня 2009 г., Таррагона, Испания, стр. 137–148, том. 5527, Конспект лекций по информатике, Springer.
  37. ^ Субхамой Майтра и Гаутам Пол. Новая форма перестановки смещения и утечки секретного ключа в байтах ключевого потока RC4. Труды 15-го семинара по быстрому программному шифрованию (FSE), 10–13 февраля 2008 г., Лозанна, Швейцария, страницы 253–269, т. 5086, Конспект лекций по информатике, Springer.
  38. ^ Сурадьюти Пол , Барт Пренил . «Анализ непредвиденных прогнозируемых состояний генератора ключевого потока RC4» (PDF) : 52–67. Cite journal requires |journal= (help)CS1 maint: uses authors parameter (link)
  39. ^ Скотт Р. Флюрер, Дэвид А. МакГрю. «Статистический анализ предполагаемого генератора ключевого потока RC4» (PDF) : 19–30. Архивировано 2 мая 2014 года из оригинального (PDF) . Cite journal requires |journal= (help)CS1 maint: uses authors parameter (link)
  40. ^ Басу, Риддхипратим; Гангулы, Ширшенду; Майтра, Субхамой; Пол, Goutam (2008). «Полная характеристика эволюции алгоритма псевдослучайной генерации RC4». Журнал математической криптологии . 2 (3): 257–289. DOI : 10.1515 / JMC.2008.012 . S2CID 9613837 . 
  41. ^ Флюрер, Скотт Р .; Мантин, Ицик; Шамир, Ади (2001). «Слабые стороны ключевого алгоритма планирования RC4» . Избранные области криптографии : 1–24. Архивировано из оригинала 2 июня 2004 года.
  42. ^ «Промежуточная технология для безопасности беспроводной локальной сети: WPA заменяет WEP, в то время как промышленность разрабатывает новый стандарт безопасности» . Архивировано из оригинала 9 июля 2012 года.
  43. ^ «RC4-drop (nbytes) в базе данных стандартных криптографических алгоритмов именования » .
  44. ^ Ривест, Рон. «Ответ безопасности RSA на слабые места в алгоритме планирования ключей RC4» .
  45. ^ A. Klein, нападки на RC4 поточного шифра, Designs, коды и криптография (2008) 48: 269-286
  46. ^ Эрик Тевс, Ralf-Philipp Weinmann, Андрей Пышкин. Взлом 104-битного WEP менее чем за минуту .
  47. ^ Сурадьюти Пол и Барт Пренил , Новая слабость в генераторе потока ключей RC4 и подход к повышению безопасности шифра. Быстрое программное шифрование - FSE 2004, стр. 245–259 (PDF) .
  48. Джон Лейден (15 марта 2013 г.). "HTTPS cookie криптовалюты СНОВА рушатся в руках статистических аналитиков" . Реестр .
  49. ^ АльФардан; и другие. (8 июля 2013 г.). «О безопасности RC4 в TLS и WPA» (PDF) . Группа информационной безопасности, Роял Холлоуэй, Лондонский университет.
  50. ^ «О безопасности RC4 в TLS и WPA» . Группа информационной безопасности, Роял Холлоуэй, Лондонский университет . Проверено 6 сентября 2013 года . (Веб-сайт)
  51. ^ "RC4 должен умереть" .
  52. ^ «Брифинги - 26 и 27 марта» . 2015 . Проверено 19 ноября +2016 .
  53. ^ «Атака SSL при использовании RC4» (PDF) . 2015 . Проверено 19 ноября +2016 .
  54. ^ Mathy Vanhoef и Фрэнк Piessens (9 августа 2015). «RC4 NOMORE: Многочисленные попытки мониторинга и восстановления» .CS1 maint: uses authors parameter (link)
  55. Илья Миронов (1 июня 2002 г.), «(Не совсем) Случайное перемешивание RC4» , Достижения в криптологии - CRYPTO 2002 (PDF) , Конспекты лекций по информатике, 2442 , Springer-Verlag, стр. 304–319, doi : 10.1007 / 3-540-45708-9_20 , ISBN  978-3-540-44050-5, Cryptology ePrint Archive: Report 2002/067 , получено 4 ноября 2011 г.
  56. ^ Сурадьюти Пол ; Барт Пренил (2004), «Новая слабость в генераторе потока ключей RC4 и подход к повышению безопасности шифра» , Fast Software Encryption, FSE 2004 , Lecture Notes in Computer Science, 3017 , Springer-Verlag, pp. 245– 259, DOI : 10.1007 / 978-3-540-25937-4_16 , ISBN 978-3-540-22171-5, дата обращения 4 ноября 2011
  57. Александр Максимов (22 февраля 2007 г.), Две линейные различающие атаки на VMPC и RC4A и слабость семейства потоковых шифров RC4 , Cryptology ePrint Archive: Report 2007/070 , получено 4 ноября 2011 г.
  58. ^ a b Юкиясу Цуну; Теруо Сайто; Хироясу Кубо; Маки Сигери; Томоясу Сузаки; Такеши Кавабата (2005 г.), Самая эффективная отличительная атака на VMPC и RC4A (PDF)
  59. ^ Бартош Золтак (2004), "Односторонняя функция VMPC и потоковый шифр" (PDF) , Быстрое программное шифрование, FSE 2004 (PDF) , Лекционные заметки по компьютерным наукам, 3017 , Springer-Verlag, стр. 210–225, CiteSeerX 10.1.1.469.8297 , DOI : 10.1007 / 978-3-540-25937-4_14 , ISBN   978-3-540-22171-5, дата обращения 4 ноября 2011
  60. ^ «CryptoLounge: RC4A» . Архивировано из оригинала на 1 октября 2011 года . Проверено 4 ноября 2011 года .
  61. ^ Субхамой Майтра; Гутам Пол (19 сентября 2008 г.), «Анализ RC4 и предложение дополнительных уровней для повышения уровня безопасности» , Progress in Cryptology - INDOCRYPT 2008 (PDF) , Lecture Notes in Computer Science, 5365 , Springer-Verlag, pp. 27–39 , CiteSeerX 10.1.1.215.7178 , DOI : 10.1007 / 978-3-540-89754-5_3 , ISBN   978-3-540-89753-8, Cryptology ePrint Archive: Report 2008/396 , получено 4 ноября 2011 г.
  62. ^ Дебджьоти Бхаттачарджи; Анупам Чаттопадхьяй. «Аппаратный ускоритель для Stream Cipher Spritz» (PDF) . Secrypt 2016 . Проверено 29 июля 2016 года .
  63. ^ Баник, Субхадип; Исобе, Таканори (20 марта 2016 г.). Пейрин, Томас (ред.). Криптоанализ полного шифра потока Spritz . Конспект лекций по информатике. Springer Berlin Heidelberg. С. 63–77. DOI : 10.1007 / 978-3-662-52993-5_4 . ISBN 9783662529928. S2CID  16296315 .
  64. ^ Хунцзюнь Ву, «Неправильное использование RC4 в Microsoft Word и Excel». https://eprint.iacr.org/2005/007
  65. ^ "Процедура шифрования Skype частично раскрыта" . www.h-online.com. Архивировано из оригинала 11 июля 2010 года . Проверено 8 июля 2010 года .

Дальнейшее чтение [ править ]

  • Пол, Гаутам; Субхамой Майтра (2011). Потоковый шифр RC4 и его варианты . CRC Press. ISBN 9781439831359.
  • Шнайер, Брюс (1995). «Глава 17 - Другие поточные шифры и настоящие генераторы случайных последовательностей» . Прикладная криптография: протоколы, алгоритмы и исходный код на языке C (2-е изд.). Вайли. ISBN 978-0471117094.

Внешние ссылки [ править ]

  • Оригинальная публикация алгоритма RC4 в список рассылки Cypherpunks , заархивированная версия
  • RFC 4345 - Улучшенные режимы Arcfour для протокола транспортного уровня Secure Shell (SSH)
  • RFC 6229 - тестовые векторы для потокового шифра RC4
  • RFC 7465 - Запрещение наборов шифров RC4
  • Кауконен; Тайер. Алгоритм шифрования потокового шифра "Arcfour" . ID draft-kaukonen-cipher-arcfour-03.
  • Запись SCAN для RC4
  • Атаки на RC4 на Wayback Machine (заархивировано 21 февраля 2015 г.)
  • Ответ безопасности RSA на слабые места в алгоритме планирования ключей RC4
RC4 в WEP
  • (in) Безопасность алгоритма WEP
  • Fluhrer; Mantin; Shamir (Summer–Fall 2002). "Attacks On RC4 and WEP". CryptoBytes. 5 (2). Archived from the original (PostScript) on 2 January 2015.