RC4
Общий | |
---|---|
Дизайнеры | Рон Ривест ( RSA Security ) |
Впервые опубликовано | Утечка в 1994 году (спроектирован в 1987 году) |
Деталь шифрования | |
Размеры ключей | 40–2048 бит |
Размер штата | 2064 бит ( эффективное 1684 ) |
Раунды | 1 |
Скорость | 7 циклов на байт на оригинальном Pentium [1] Модифицированный предполагаемый RC4 на Intel Core 2: 13,9 тактов на байт [2] |
В криптографии RC4 , (Rivest Cipher 4, также известный как ARC4 или ARCFOUR что означает предполагаемый RC4, см. ниже) является потоковым шифром . Хотя он отличается простотой и скоростью программного обеспечения, в RC4 было обнаружено множество уязвимостей, которые делают его небезопасным. [3] [4] Он особенно уязвим, когда начало выходного потока ключей не отбрасывается или когда используются неслучайные или связанные ключи. Особенно проблематичное использование RC4 привело к появлению очень небезопасных протоколов, таких как WEP . [5]
По состоянию на 2015 год [update]Есть предположение, что некоторые государственные криптологические агентства могут обладать способностью взламывать 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 генерирует псевдослучайный поток битов ( ключевой поток ). Как и любой поточный шифр, их можно использовать для шифрования путем объединения его с открытым текстом с использованием побитового исключения или ; расшифровка производится аналогично (поскольку исключающий или с заданными данными — это инволюция ). Это похоже на одноразовый блокнот , за исключением того, что сгенерированные псевдослучайные биты используются , а не подготовленный поток.
Для генерации потока ключей шифр использует секретное внутреннее состояние, которое состоит из двух частей:
- Перестановка ( всех 256 возможных байтов обозначенных ниже буквой S).
- Два 8-битных указателя индекса (обозначаются «i» и «j»).
Перестановка инициализируется ключом переменной длины , обычно от 40 до 2048 бит, с использованием алгоритма планирования ключей (KSA). После завершения этого поток битов генерируется с использованием алгоритма псевдослучайной генерации (PRGA).
Алгоритм планирования ключей (KSA) [ править ]
Алгоритм планирования ключей используется для инициализации перестановки в массиве «S». «Длина ключа» определяется как количество байтов в ключе и может находиться в диапазоне 1 ≤ длина ключа ≤ 256, обычно от 5 до 16, что соответствует длине ключа 40–128 бит. Сначала массив «S» инициализируется идентификационной перестановкой . Затем S обрабатывается в течение 256 итераций аналогично основному PRGA, но также одновременно смешивается с байтами ключа.
for i from 0 to 255 S[i] := i endfor j := 0 for i from 0 to 255 j := (j + S[i] + key[i mod keylength]) mod 256 swap values of S[i] and S[j] endfor
псевдослучайной генерации ( Алгоритм PRGA )
Для необходимого количества итераций PRGA изменяет состояние и выводит байт ключевого потока. На каждой итерации PRGA:
- приращения я ;
- смотрит на я -й элемент С , S[ i ] и добавляет это к Дж ;
- обменивает значения S [ я ] и S[ j ] , затем использует сумму S[ i ] + S[ j ] (по модулю 256) в качестве индекса для извлечения третьего элемента S (значение ключевого потока К ниже);
- затем выполняется побитовое исключающее ИЛИ ( XOR ) со следующим байтом сообщения для создания следующего байта либо зашифрованного, либо открытого текста.
Каждый элемент S заменяется другим элементом не реже одного раза в 256 итераций.
i := 0 j := 0 while GeneratingOutput: i := (i + 1) mod 256 j := (j + S[i]) mod 256 swap values of S[i] and S[j] t := (S[i] + S[j]) mod 256 K := S[t] output K endwhile
Таким образом, создается поток K[0], K[1], ... которые подвергаются операции XOR с открытый текст для получения зашифрованный текст . Так зашифрованный текст[ l ] = открытый текст[ l ] ⊕ K[ l ] .
RC4 случайных чисел на основе Генераторы
Несколько операционных систем включают в себя arc4random
, API, созданный в OpenBSD, обеспечивающий доступ к генератору случайных чисел, изначально основанному на RC4. API не допускает заполнения, поскольку функция инициализирует себя с помощью /dev/random . Использование RC4 было прекращено в большинстве систем, реализующих этот API. Страницы руководства для нового arc4random включают бэкроним «Вызов замены для Random» для ARC4 в качестве мнемоники, поскольку он обеспечивает более качественные случайные данные, чем rand() . [15]
- В OpenBSD 5.5, выпущенном в мае 2014 г.,
arc4random
был изменен для использования ChaCha20 . [16] [17] Реализации arc4random во FreeBSD , NetBSD [18] [19] также используйте ChaCha20.- Linux обычно использует glibc , которая не предлагала arc4random до 2022 года. Вместо этого эту функцию предлагает отдельная библиотека libbsd; он был обновлен для использования ChaCha20 в 2016 году. [20] В 2022 году в glibc добавлена собственная версия arc4random , также основанная на ChaCha20. [21]
- Согласно страницам руководства, поставляемым с операционной системой, в выпуске операционных систем macOS и iOS 2017 года Apple заменила RC4 на AES в своей реализации arc4random.
Предлагаемые новые генераторы случайных чисел часто сравнивают с генератором случайных чисел RC4. [22] [23]
Некоторые атаки на RC4 позволяют отличить его выходные данные от случайной последовательности . [24]
Реализация [ править ]
Многие потоковые шифры основаны на регистрах сдвига с линейной обратной связью (LFSR), которые, хотя и эффективны в аппаратном обеспечении, но менее эффективны в программном обеспечении. Конструкция RC4 позволяет избежать использования LFSR и идеальна для программной реализации, поскольку требует только манипуляций с байтами. Он использует 256 байт памяти для массива состояний, от S[0] до S[255], k байт памяти для ключа, от key[0] до key[k-1] и целочисленных переменных i, j и K. Выполнение модульного сокращения некоторого значения по модулю 256 можно выполнить с помощью побитового И с числом 255 (что эквивалентно взятию младшего байта рассматриваемого значения).
Тестовые векторы [ править ]
Эти тестовые векторы не являются официальными, но удобны для тех, кто тестирует собственную программу RC4. Ключи и открытый текст представлены в формате ASCII , поток ключей и зашифрованный текст — в шестнадцатеричном формате .
Ключ | Ключевое направление | Открытый текст | Зашифрованный текст |
---|---|---|---|
Ключ | EB9F7781B734CA72A719 … | Открытый текст | BBF316E8D940AF0AD3 |
Неделя | 6044DB6D41B7 … | спросил | 1021BF0420 |
Секрет | 04D46B053CA87B59 … | Атака на рассвете | 45A01F645FC35B383552544B9BF5 |
Безопасность [ править ]
В отличие от современного потокового шифра (например, eSTREAM ), RC4 не использует отдельный одноразовый номер рядом с ключом. Это означает, что если один долгосрочный ключ должен использоваться для безопасного шифрования нескольких потоков, протокол должен указать, как объединить одноразовый номер и долгосрочный ключ для создания ключа потока для RC4. Один из подходов к решению этой проблемы — создать «свежий» ключ RC4 путем хеширования долгосрочного ключа с nonce . Однако многие приложения, использующие RC4, просто объединяют ключ и одноразовый номер; RC4 Слабый ключевой график затем приводит к атакам со связанными ключами , таким как атака Флюхера, Мантина и Шамира (которая известна нарушением стандарта WEP ). [25]
Поскольку RC4 является потоковым шифром , он более гибок , чем обычные блочные шифры . Если шифрование не используется вместе с надежным кодом аутентификации сообщения (MAC), оно уязвимо для атаки с переключением битов . Шифр также уязвим для атаки потокового шифрования, если он реализован неправильно. [26]
Однако примечательно, что RC4, будучи потоковым шифром, какое-то время был единственным распространенным шифром, невосприимчивым к атакам. [27] до атаки BEAST на TLS 1.0 в 2011 году . Атака использует известную уязвимость в способе использования режима цепочки блоков шифра со всеми другими шифрами, поддерживаемыми TLS 1.0, которые все являются блочными шифрами.
В марте 2013 года Исобе, Оигаши, Ватанабэ и Мории предложили новые сценарии нападения. [28] а также АльФардан, Бернштейн, Патерсон, Петтеринг и Шульдт, которые используют новые статистические отклонения в ключевой таблице RC4. [29] для восстановления открытого текста с большим количеством шифрований TLS. [30] [31]
Использование RC4 в TLS запрещено RFC 7465, опубликованным в феврале 2015 года.
Рооса и ключевая реконструкция на перестановок основе Предубеждения
В 1995 году Эндрю Роос экспериментально заметил, что первый байт ключевого потока коррелирует с первыми тремя байтами ключа, а первые несколько байтов перестановки после KSA коррелируют с некоторой линейной комбинацией ключевых байтов. [32] Эти предубеждения оставались необъяснимыми до 2007 года, когда Гутам Пол, Сиддхешвар Рати и Субхамой Майтра [33] доказали корреляцию ключевой поток-ключ, а в другой работе Гутам Пол и Субхамой Майтра [34] доказал корреляции перестановки и ключа. В последней работе также использовались корреляции перестановка-ключ для разработки первого алгоритма для полной реконструкции ключа из окончательной перестановки после KSA без каких-либо предположений о ключе или векторе инициализации . Этот алгоритм имеет постоянную вероятность успеха во времени, которая равна квадратному корню сложности исчерпывающего поиска ключей. Впоследствии было выполнено множество других работ по восстановлению ключей по внутренним состояниям RC4. [35] [36] [37] Субхамой Майтра и Гутам Пол [38] также показал, что предвзятости типа Рооса все еще сохраняются, даже если рассматривать вложенные индексы перестановок, такие как S[S[i]] или С[С[С[и]]] . Эти типы смещений используются в некоторых из более поздних ключевых методов реконструкции для увеличения вероятности успеха.
RC4 Смещенные выходы
Поток ключей, генерируемый RC4, в разной степени смещен в сторону определенных последовательностей, что делает его уязвимым для распознающих атак . Лучшая такая атака принадлежит Ицику Мантину и Ади Шамиру , которые показали, что второй выходной байт шифра был смещен в сторону нуля с вероятностью 1/128 (вместо 1/256). Это связано с тем, что если третий байт исходного состояния равен нулю, а второй байт не равен 2, то второй выходной байт всегда равен нулю. Такое смещение можно обнаружить, наблюдая только за 256 байтами. [24]
Сурадьюти Пол и Барт Пренил из COSIC показали, что первый и второй байты RC4 также были смещены. Количество необходимых выборок для обнаружения этой систематической ошибки равно 2. 25 байты. [39]
Скотт Флюрер и Дэвид МакГрю также продемонстрировали атаки, которые отличали ключевой поток RC4 от случайного потока с учетом гигабайта вывода. [40]
Полную характеристику одного шага RC4 PRGA выполнили Ридхипратим Басу, Ширшенду Гангули, Субхамой Майтра и Гутам Пол. [41] Учитывая все перестановки, они доказали, что распределение выходных данных при заданных i и j не является равномерным, и, как следствие, информация о j всегда попадает в выходные данные.
, Мантен и атакуют Шамир Флюрер
сделали новое и удивительное открытие В 2001 году Флюрер , Мантин и Шамир : по всем возможным ключам RC4 статистика для первых нескольких байт выходного потока ключей сильно неслучайна, что приводит к утечке информации о ключе. Если одноразовый ключ и долгосрочный ключ просто объединяются для создания ключа RC4, этот долгосрочный ключ можно обнаружить путем анализа большого количества сообщений, зашифрованных с помощью этого ключа. [42] Этот и связанные с ним эффекты затем были использованы для взлома шифрования WEP («эквивалент конфиденциальности в проводной сети»), используемого в 802.11 беспроводных сетях . Это вызвало борьбу за замену WEP на основе стандартов на рынке 802.11 и привело к появлению IEEE 802.11i и WPA . [43]
Протоколы могут защититься от этой атаки, отбрасывая начальную часть потока ключей. Такой модифицированный алгоритм традиционно называется «RC4-drop[ n ]», где n — количество отброшенных начальных байтов ключевого потока. По умолчанию для SCAN установлено значение n = 768 байт, однако консервативным значением будет n = 3072 байта. [44]
Атака Флюрера, Мантина и Шамира не применима к SSL на основе RC4, поскольку SSL генерирует ключи шифрования, которые он использует для RC4, путем хеширования, а это означает, что разные сеансы SSL имеют несвязанные ключи. [45]
Атака Кляйна [ править ]
В 2005 году Андреас Кляйн представил анализ потокового шифра RC4, показав больше корреляций между ключевым потоком RC4 и ключом. [46] Эрик Тьюс , Ральф-Филипп Вайнманн и Андрей Пычкин использовали этот анализ для создания aircrack-ptw — инструмента, который менее чем за минуту взламывает 104-битный RC4, используемый в 128-битном WEP. [47] В то время как атака Флюрера, Мантина и Шамира использовала около 10 миллионов сообщений, aircrack-ptw может взломать 104-битные ключи за 40 000 кадров с вероятностью 50% или за 85 000 кадров с вероятностью 95%.
Комбинаторная задача [ править ]
Комбинаторная задача, связанная с количеством входов и выходов шифра RC4, была впервые поставлена Ициком Мантином и Ади Шамиром в 2001 году, согласно которой из общего числа 256 элементов в типичном состоянии RC4, если x количество элементов ( x ≤ 256 ) известны (все остальные элементы можно считать пустыми), то максимальное количество элементов, которое может быть произведено детерминированно, также равно x в следующих 256 раундах. Эта гипотеза была опровергнута в 2004 году формальным доказательством, данным Сурадьюти Полом и Бартом Пренилом . [48]
Ройял Атака Холлоуэй
В 2013 году группа исследователей безопасности из группы информационной безопасности в Ройял Холлоуэй Лондонского университета сообщила об атаке, которая может стать эффективной, используя только 2 34 зашифрованные сообщения. [49] [50] [51] Хотя этот результат еще не является практической атакой для большинства целей, он достаточно близок к такому результату, что привел к предположению о том, что вполне вероятно, что некоторые государственные криптологические агентства уже могут иметь более эффективные атаки, которые делают RC4 небезопасным. [6] Учитывая, что по состоянию на 2013 г. [update], большой объем трафика TLS использует RC4, чтобы избежать атак на блочные шифры, использующие цепочку блоков шифра . Если эти гипотетические более эффективные атаки существуют, то это сделает комбинацию TLS-с-RC4 небезопасной против таких злоумышленников в большом количестве практических сценариев. . [6]
В марте 2015 года исследователь Royal Holloway объявил об улучшении своей атаки, предоставив 2 26 атака на пароли, зашифрованные с помощью RC4, используемого в TLS. [52]
Нападение на бар-мицву [ править ]
На конференции Black Hat Asia 2015 Итсик Мантин представил еще одну атаку на SSL с использованием шифра RC4. [53] [54]
НЕТ атаки [ править ]
В 2015 году исследователи безопасности из Левенского университета представили новые атаки на RC4 как в TLS , так и в WPA-TKIP . [55] Эта атака, получившая название Numerous Occurrence MOnitoring & Recovery Exploit (NOMORE), является первой атакой такого рода, продемонстрированной на практике. Их атака на TLS может расшифровать безопасный файл cookie HTTP в течение 75 часов. Атака на WPA-TKIP может быть завершена в течение часа и позволяет злоумышленнику расшифровать и внедрить произвольные пакеты.
Варианты RC4 [ править ]
Как упоминалось выше, наиболее важным недостатком RC4 является недостаточное расписание ключей; первые байты вывода содержат информацию о ключе. Это можно исправить, просто отбросив некоторую начальную часть выходного потока. [56] Это известно как RC4-drop N , где N обычно кратно 256, например 768 или 1024.
Был предпринят ряд попыток усилить RC4, в частности Spritz, RC4A, VMPC и RC4. + .
RC4A [ править ]
Сурадьюти Пол и Барт Пренил предложили вариант RC4, который они назвали RC4A. [57]
RC4A использует два массива состояний. S1 и S2 и два индекса j1 и j2 . Каждый раз i увеличивается, генерируются два байта:
- Сначала базовый алгоритм RC4 выполняется с использованием S1 и j1 , но на последнем шаге S1[ i ]+S1[ j1 ] ищется в С2 .
- Во-вторых, операция повторяется (без увеличения я снова) на S2 и j2 и S1[S2[ i ]+S2[ j2 ]] выводится.
Таким образом, алгоритм такой:
All arithmetic is performed modulo 256 i := 0 j1 := 0 j2 := 0 while GeneratingOutput: i := i + 1 j1 := j1 + S1[i] swap values of S1[i] and S1[j1] output S2[S1[i] + S1[j1]] j2 := j2 + S2[i] swap values of S2[i] and S2[j2] output S1[S2[i] + S2[j2]] endwhile
Хотя алгоритм требовал такого же количества операций на выходной байт, параллелизм здесь выше, чем у RC4, что обеспечивает возможное повышение скорости.
Хотя этот алгоритм сильнее RC4, он также подвергся атаке со стороны Александра Максимова. [58] и команда NEC [59] разрабатываем способы отличить его результат от действительно случайной последовательности.
ВМПК [ править ]
Вариативно модифицированная композиция перестановок (VMPC) — еще один вариант RC4. [60] Он использует аналогичное расписание ключей, что и RC4, с j := S[(j + S[i] + key[i mod keylength]) mod 256] итерация 3 × 256 = 768 раз, а не 256, и с необязательными дополнительными 768 итерациями для включения начального вектора. Функция генерации выходных данных работает следующим образом:
All arithmetic is performed modulo 256. i := 0 while GeneratingOutput: a := S[i] j := S[j + a] output S[S[S[j] + 1]] Swap S[i] and S[j] (b := S[j]; S[i] := b; S[j] := a)) i := i + 1 endwhile
Это подвергалось нападкам в тех же статьях, что и RC4A, и его можно отличить в пределах 2 38 выходные байты. [61] [59]
RC4 + [ редактировать ]
RC4 + представляет собой модифицированную версию RC4 с более сложным трехфазным расписанием ключей (занимающим примерно в три раза больше времени, чем RC4, или таким же, как RC4-drop512), и более сложной функцией вывода, которая выполняет четыре дополнительных поиска в массиве S для вывод каждого байта занимает примерно в 1,7 раза больше времени, чем базовый RC4. [62]
All arithmetic modulo 256. << and >> are left and right shift, ⊕ is exclusive OR while GeneratingOutput: i := i + 1 a := S[i] j := j + a Swap S[i] and S[j] (b := S[j]; S[j] := S[i]; S[i] := b;) c := S[i<<5 ⊕ j>>3] + S[j<<5 ⊕ i>>3] output (S[a+b] + S[c⊕0xAA]) ⊕ S[j+b] endwhile
Этот алгоритм существенно не анализировался.
Спритц [ править ]
В 2014 году Рональд Ривест выступил с докладом и стал соавтором статьи. [14] об обновленном редизайне под названием Spritz . Аппаратный ускоритель Spritz был опубликован в Secrypt, 2016 г. [63] и показывает, что из-за множества вложенных вызовов, необходимых для создания выходных байтов, Spritz работает довольно медленно по сравнению с другими хеш-функциями, такими как SHA-3 и наиболее известной аппаратной реализацией RC4.
Как и другие губчатые функции , Spritz можно использовать для построения криптографической хеш-функции, детерминированного генератора случайных битов ( DRBG ), алгоритма шифрования, поддерживающего аутентифицированное шифрование со связанными данными (AEAD) и т. д. [14]
В 2016 году Баник и Исобе предложили атаку, которая сможет отличить Spritz от случайного шума. [64] В 2017 году Баник, Исобе и Мории предложили простое исправление, которое удаляет различитель в первых двух байтах ключевого потока, требуя только одного дополнительного доступа к памяти без существенного снижения производительности программного обеспечения. [65]
Протоколы на основе RC4 [ править ]
- WEP
- TKIP (алгоритм по умолчанию для WPA , но его можно настроить на использование AES-CCMP вместо RC4)
- Шифрование протокола BitTorrent
- Microsoft Office XP (небезопасная реализация, поскольку nonce остается неизменным при изменении документов) [66] )
- Двухточечное шифрование Microsoft
- Безопасность транспортного уровня / уровень защищенных сокетов (был необязательным, а затем использование RC4 было запрещено в RFC 7465)
- Secure Shell (опционально)
- Протокол удаленного рабочего стола (опционально)
- Керберос (необязательно)
- SASL Mechanism Digest-MD5 (необязательно, исторический , устаревший в RFC 6331)
- Gpcode.AK — компьютерный вирус для Microsoft Windows, появившийся в начале июня 2008 года и захватывающий документы с целью выкупа , скрывая их с помощью шифрования RC4 и RSA-1024.
- Скайп (в измененной форме) [67]
Если протокол помечен знаком «(необязательно)», RC4 — это один из нескольких шифров, на использование которых может быть настроена система.
См. также [ править ]
- TEA , Block TEA, также известный как eXtended TEA и Corrected Block TEA — семейство блочных шифров , которые, как и RC4, разработаны так, чтобы их было очень просто реализовать.
- Расширенный стандарт шифрования
- ШифрСабля
Ссылки [ править ]
- ^ П. Праситсангари; П. Кришнамурти (2003). Анализ энергопотребления алгоритмов RC4 и AES в беспроводных локальных сетях (PDF) . ГЛОБЕКОМ '03. IEEE. Архивировано из оригинала (PDF) 3 декабря 2013 года.
- ^ «Бенчмарки Crypto++ 5.6.0» . Проверено 22 сентября 2015 г.
- ↑ Перейти обратно: Перейти обратно: а б Андрей Попов (февраль 2015 г.). Запрет наборов шифров RC4 . дои : 10.17487/RFC7465 . РФК 7465 .
- ^ Лучиан Константин (14 мая 2014 г.). «Microsoft продолжает план поэтапного отказа от шифрования RC4 с обновлениями безопасности .NET» . Компьютерный мир .
- ^ Дж. Кац; Ю. Линделл (2014), Введение в современную криптографию , Чепмен и Холл/CRC, стр. 77 .
- ↑ Перейти обратно: Перейти обратно: а б с Джон Лейден (6 сентября 2013 г.). «Этот потрясающий крипто-взлом АНБ: шпионы разбили RC4?» . Регистр .
- ^ «Рекомендуемые конфигурации TLS на стороне сервера Mozilla Security» . Мозилла . Проверено 3 января 2015 г.
- ^ «Рекомендации по безопасности 2868725: Рекомендация отключить RC4» . Майкрософт. 12 ноября 2013 года . Проверено 4 декабря 2013 г.
- ^ «Ривест FAQ» .
- ^ «Спасибо, Боб Андерсон» . Шифропанки (список рассылки). 9 сентября 1994 года. Архивировано из оригинала 22 июля 2001 года . Проверено 28 мая 2007 г.
- ^ Боб Дженкинс (15 сентября 1994 г.). «Re: RC4?» . Группа новостей : sci.crypt . Usenet: [электронная почта защищена] .
- ^ «Страницы руководства: arc4random» . 5 июня 2013 года . Проверено 2 февраля 2018 г.
- ^ «6.857 Компьютерная и сетевая безопасность, весна 2008 г.: Лекции и раздаточные материалы» .
- ↑ Перейти обратно: Перейти обратно: а б с Ривест, Рон; Шульдт, Якоб (27 октября 2014 г.). «Spritz — губчатый потоковый шифр и хэш-функция, подобный RC4» (PDF) . Проверено 26 октября 2014 г.
- ^ "arc4random(3)" . OpenBSD.
- ^ «ОпенБСД 5.5» . Проверено 21 сентября 2014 г.
- ^ дерадт , изд. (21 июля 2014 г.). "libc/crypt/arc4random.c" . Перекрестная ссылка BSD, OpenBSD src/lib/ . Проверено 13 января 2015 г.
Генератор случайных чисел на основе ChaCha для OpenBSD.
- ^ Риастрад, изд. (16 ноября 2014 г.). "libc/gen/arc4random.c" . Перекрестная ссылка BSD, NetBSD src/lib/ . Проверено 13 января 2015 г.
Устаревший API arc4random(3) из OpenBSD, перереализованный с использованием ChaCha20 PRF, с состоянием каждого потока.
- ^ «arc4random – Страницы руководства NetBSD» . Архивировано из оригинала 6 июля 2020 года . Проверено 6 января 2015 г.
- ^ «Обновить модуль arc4random из OpenBSD и LibreSSL» . Проверено 6 января 2016 г.
- ^ «Библиотека GNU C наконец-то добавляет функции arc4random для Linux» . www.phoronix.com .
- ^ Бартош Золтак. «VMPC-R: криптографически безопасный генератор псевдослучайных чисел, альтернатива RC4» . 2010?
- ^ Чефранов, А.Г. «Улучшение периода генератора псевдослучайных чисел RC4» . 2006.
- ↑ Перейти обратно: Перейти обратно: а б Ицик Мантин; Ади Шамир (2001). Практическая атака на вещание RC4 (PDF) . ФСЕ 2001. С. 152–164. дои : 10.1007/3-540-45473-X_13 .
- ^ «Реакция безопасности RSA на слабые места в алгоритме планирования ключей RC4» . Лаборатории РСА. 1 сентября 2001 г.
- ^ Скляров, Дмитрий (2004). Скрытые ключи к взлому программного обеспечения и несанкционированному проникновению . Издательство A-List. стр. 92–93. ISBN 978-1931769303 .
- ^ «ssl — самые безопасные шифры для использования с BEAST? (эксплойт TLS 1.0) Я читал, что RC4 невосприимчив» . serverfault.com .
- ^ Исобе, Таканори; Охигаси, Тошихиро (10–13 марта 2013 г.). «Безопасность потокового шифра RC4» . Хиросимский университет . Проверено 27 октября 2014 г.
- ^ Пуян Сепердад; Серж Водене; Мартин Вуанью (2011). «Открытие и использование новых предубеждений в RC4». Избранные области криптографии . Конспекты лекций по информатике. Том. 6544. стр. 74–91. дои : 10.1007/978-3-642-19574-7_5 . ISBN 978-3-642-19573-0 .
- ^ Грин, Мэтью (12 марта 2013 г.). «Атака недели: RC4 какой-то сломан в TLS» . Криптографическая инженерия . Проверено 12 марта 2013 г.
- ^ Надхем АльФардан; Дэн Бернштейн; Кенни Патерсон; Бертрам Пёттеринг; Якоб Шульдт. «О безопасности RC4 в TLS» . Лондонский Королевский университет Холлоуэй . Проверено 13 марта 2013 г.
- ^ Эндрю Роос. Класс слабых ключей в потоковом шифре RC4. Два поста в sci.crypt, message-id [email protected] и [email protected] , 1995 год.
- ^ Гутам Пол, Сиддхешвар Рати и Субхамой Майтра. О немалом смещении первого выходного байта RC4 в сторону первых трех байтов секретного ключа. Труды Международного семинара по кодированию и криптографии (WCC), 2007 г., страницы 285–294 и журнала «Проекты, коды и криптография», страницы 123–134, том. 49, нет. 1–3 декабря 2008 г.
- ^ Гутам Пол и Субхамой Майтра. Перестановка после планирования ключей RC4 раскрывает секретный ключ. SAC 2007, страницы 360–377, том. 4876, Конспекты лекций по информатике , Springer.
- ^ Эли Бихам и Янив Кармели. Эффективная реконструкция ключей RC4 из внутренних состояний. ФСЕ 2008, стр. 270–288, том. 5086, Конспекты лекций по информатике, Springer.
- ^ Мете Акгюн, Пинар Кавак, Хусейн Демирджи. Новые результаты по ключевому алгоритму планирования RC4. INDOCRYPT 2008, стр. 40–52, том. 5365, Конспекты лекций по информатике, Springer.
- ^ Ридхипратим Басу, Субхамой Майтра, Гутам Пол и Танмой Талукдар. О некоторых последовательностях секретного псевдослучайного индекса j в планировании ключей RC4. Труды 18-го Международного симпозиума по прикладной алгебре, алгебраическим алгоритмам и кодам, исправляющим ошибки (AAECC), 8–12 июня 2009 г., Таррагона, Испания, страницы 137–148, том. 5527, Конспекты лекций по информатике, Springer.
- ^ Субхамой Майтра и Гутам Пол. Новая форма смещения перестановки и утечка секретного ключа в байтах ключевого потока RC4. Материалы 15-го семинара по быстрому программному шифрованию (FSE), 10–13 февраля 2008 г., Лозанна, Швейцария, страницы 253–269, том. 5086, Конспекты лекций по информатике, Springer.
- ^ Сурадьюти Пол ; Барт Пренил . Анализ неслучайных прогнозируемых состояний генератора ключевого потока RC4 (PDF) . Индокрипт 2003. стр. 52–67.
- ^ Скотт Р. Флюрер; Дэвид А. МакГрю. Статистический анализ предполагаемого генератора ключевого потока RC4 (PDF) . ФСЕ 2000. С. 19–30. Архивировано из оригинала (PDF) 2 мая 2014 года.
- ^ Басу, Ридхипратим; Гангулы, Ширшенду; Майтра, Субхамой; Пол, Гутам (2008). «Полная характеристика эволюции алгоритма псевдослучайной генерации RC4» . Журнал математической криптологии . 2 (3): 257–289. дои : 10.1515/JMC.2008.012 . S2CID 9613837 .
- ^ Флюрер, Скотт Р.; Мантин, Ицик; Шамир, Ади (2001). «Слабые стороны алгоритма планирования ключей RC4» . Избранные области криптографии : 1–24. Архивировано из оригинала 2 июня 2004 года.
- ^ «Временная технология для обеспечения безопасности беспроводных локальных сетей: WPA заменит WEP, в то время как промышленность разрабатывает новый стандарт безопасности» . Архивировано из оригинала 9 июля 2012 года.
- ^ «RC4-drop (нбайт) в базе данных именования стандартных криптографических алгоритмов » .
- ^ Ривест, Рон. «Реакция безопасности RSA на слабые места в алгоритме планирования ключей RC4» .
- ^ А. Кляйн, Атаки на поточный шифр RC4, Проекты, коды и криптография (2008) 48:269–286.
- ^ Эрик Тьюс, Ральф-Филипп Вайнманн, Андрей Пышкин. Взлом 104-битного WEP менее чем за минуту .
- ^ Сурадьюти Пол и Барт Пренил , Новая слабость в генераторе потока ключей RC4 и подход к повышению безопасности шифра . Быстрое программное шифрование – FSE 2004, стр. 245–259.
- ^ Джон Лейден (15 марта 2013 г.). «Криптовалюта HTTPS-cookie СНОВА РУШИТСЯ в руках специалистов по статистике» . Регистр .
- ^ АльФардан; и др. (8 июля 2013 г.). «О безопасности RC4 в TLS и WPA» (PDF) . Группа информационной безопасности, Ройял Холлоуэй, Лондонский университет. Архивировано из оригинала (PDF) 22 сентября 2013 года . Проверено 6 сентября 2013 г.
- ^ «О безопасности RC4 в TLS и WPA» . Группа информационной безопасности, Ройял Холлоуэй, Лондонский университет . Проверено 6 сентября 2013 г.
- ^ «RC4 должен умереть» .
- ^ «Брифинги – 26 и 27 марта» . 2015 . Проверено 19 ноября 2016 г.
- ^ «Атака SSL при использовании RC4» (PDF) . 2015 . Проверено 19 ноября 2016 г.
- ^ Мэти Ванхуф; Фрэнк Писсенс (9 августа 2015 г.). «RC4 NOMORE: эксплойт для мониторинга и восстановления многочисленных происшествий» .
- ^ Илья Миронов (1 июня 2002 г.), «(Не так) Случайные перетасовки RC4» , Достижения в криптологии - CRYPTO 2002 (PDF) , Конспекты лекций по информатике, том. 2442, Springer-Verlag, стр. 304–319, номер документа : 10.1007/3-540-45708-9_20 , ISBN. 978-3-540-44050-5 , Архив Cryptology ePrint: отчет 2002/067 , получено 4 ноября 2011 г.
- ^ Сурадьюти Пол ; Барт Пренил (2004), «Новая слабость в генераторе потока ключей RC4 и подход к повышению безопасности шифра» , Fast Software Encryption, FSE 2004 , Конспекты лекций по информатике, том. 3017, Springer-Verlag, стр. 245–259, номер документа : 10.1007/978-3-540-25937-4_16 , ISBN. 978-3-540-22171-5 , получено 4 ноября 2011 г.
- ^ Александр Максимов (22 февраля 2007 г.), Две линейные различающиеся атаки на VMPC и RC4A и слабость семейства потоковых шифров RC4 , Архив криптологии ePrint: отчет 2007/070 , получено 4 ноября 2011 г.
- ↑ Перейти обратно: Перейти обратно: а б Юкиясу Цуноо; Теруо Кубо; Маки Сигери; Такеши Кавабата (2005), Самая эффективная атака на VMPC и RC4A (PDF)
- ^ Бартош Золтак (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 г.
- ^ «КриптоЛаунж: RC4A» . Архивировано из оригинала 1 октября 2011 года . Проверено 4 ноября 2011 г.
- ^ Субхамой Майтра; Гаутам Пол (19 сентября 2008 г.), «Анализ RC4 и предложение дополнительных уровней для повышения уровня безопасности» , Progress in Cryptology - INDOCRYPT 2008 (PDF) , Конспекты лекций по информатике, том. 5365, Springer-Verlag, стр. 27–39, CiteSeerX 10.1.1.215.7178 , doi : 10.1007/978-3-540-89754-5_3 , ISBN 978-3-540-89753-8 , Архив криптологии ePrint: отчет 2008/396 , получено 4 ноября 2011 г.
- ^ Дебджьоти Бхаттачарджи; Анупам Чаттопадхьяй. «Аппаратный ускоритель для Stream Cipher Spritz» (PDF) . Секрет 2016 . Проверено 29 июля 2016 г.
- ^ Баник, Субхадип; Исобе, Таканори (20 марта 2016 г.). «Криптоанализ полного потокового шифра Spritz». В Пейрине, Томас (ред.). Быстрое программное шифрование . Конспекты лекций по информатике. Том. 9783. Шпрингер Берлин Гейдельберг. стр. 63–77. дои : 10.1007/978-3-662-52993-5_4 . ISBN 9783662529928 . S2CID 16296315 .
- ^ Баник, Субхадип; Исобе, Таканори; Мории, Масакату (1 июня 2017 г.). «Анализ и улучшение полного потокового шифра Spritz» . IEICE Transactions по основам электроники, связи и информатики . Е100.А (6): 1296–1305. doi : 10.1587/transfun.E100.A.1296 . hdl : 10356/81487 .
- ^ Хунцзюнь Ву, «Неправильное использование RC4 в Microsoft Word и Excel». https://eprint.iacr.org/2005/007
- ^ «Процедура шифрования Skype частично раскрыта» . www.h-online.com. Архивировано из оригинала 11 июля 2010 года . Проверено 8 июля 2010 г.
Дальнейшее чтение [ править ]
- Пол, Гутам; Субхамой Майтра (2011). Потоковый шифр RC4 и его варианты . ЦРК Пресс. ISBN 9781439831359 .
- Шнайер, Брюс (1995). «Глава 17 – Другие потоковые шифры и настоящие генераторы случайных последовательностей» . Прикладная криптография: протоколы, алгоритмы и исходный код на C (2-е изд.). Уайли. ISBN 978-0471117094 .
Внешние ссылки [ править ]
- Оригинальная публикация алгоритма RC4 в списке рассылки Cypherpunks , Архивная версия
- RFC 4345 – Улучшенные режимы Arcfour для протокола транспортного уровня Secure Shell (SSH)
- RFC 6229 – Тестовые векторы для потокового шифрования RC4
- RFC 7465 – Запрет наборов шифров RC4
- Кауконен; Тайер. Алгоритм шифрования потокового шифрования «Arcfour» . Идентификатор проекта-kaukonen-cipher-arcfour-03.
- Запись SCAN для RC4
- Атаки на RC4 в Wayback Machine (архивировано 21 февраля 2015 г.)
- Реакция безопасности RSA на слабые места в алгоритме планирования ключей RC4
- RC4 в WEP
- (in)Безопасность алгоритма WEP
- Флюрер; Мантен; Шамир (лето – осень 2002 г.). «Атаки на RC4 и WEP» . Криптобайты . 5 (2). Архивировано из оригинала (PostScript) 2 января 2015 года.