< Return to Video

Real-world stream ciphers (20 min)

  • 0:00 - 0:04
    В этой лекции я хочу показать несколько примеров потоковых шифров, которые используются на практике.
  • 0:04 - 0:07
    Я хочу начать с двух старых примеров, которые фактически не
  • 0:07 - 0:11
    должны использоваться в новых системах.
    Но тем не менее, они все еще довольно
  • 0:11 - 0:14
    широко распространены и поэтому я просто хочу упомянуть их названия, чтобы вы познакомились с
  • 0:14 - 0:19
    этими концепциями. Первый потоковый шифр, о котором я хочу поговорить называется RC4, придуманный
  • 0:19 - 0:23
    в 1987 году. Я просто дам вам его общее описание, затем
  • 0:23 - 0:28
    мы поговорим о некоторых недостатках RC4 и на этом закончим. Итак RC4 занимает
  • 0:28 - 0:33
    переменный размер источника, для примера я взял 128
  • 0:33 - 0:37
    бит как размер источника, который будет затем использоваться в качестве ключа для шифрования потока.
  • 0:37 - 0:42
    Первое, что она делает это расширяет 128-битный секретный ключ в 2048 бит, который
  • 0:42 - 0:46
    будет использоваться как внутреннее состояние для генератора. И затем, после завершения
  • 0:46 - 0:51
    этого расширения, он в основном выполняет очень простой цикл, где на каждой итерации
  • 0:51 - 0:56
    этот цикл выводит один байт вывода. Так по сути, можно запускать генератор
  • 0:56 - 1:01
    очень долго и генерировать один байт все время. Сейчас RC4 , как я уже сказал, довольно
  • 1:01 - 1:05
    популярен. Он часто используется в протоколе HTTPS .
  • 1:05 - 1:12
    Сейчас, например, RC4 использует Google в своем HTTPS. А также он используется в WEP который мы
  • 1:12 - 1:16
    обсуждали на прошлой лекции, конечно, в WEP, он используется неправильно и
  • 1:16 - 1:19
    Это совершенно небезопасный путь использования его внутри WEP. Так с годами
  • 1:19 - 1:24
    некоторые недостатки были обнаружены в RC4, и в результате, реккомендуется, чтобы новые проекты
  • 1:24 - 1:29
    не использовали RC4, а использовали более современные псевдослучайные генараторы, о которых мы будем
  • 1:29 - 1:34
    говорить ближе к концу лекции. Итак, позвольте мне упомянуть два недостатка.
  • 1:34 - 1:40
    Первый из них, покажется довольно странным, если вы посмотрите на второй байт
  • 1:40 - 1:45
    вывода RC4. Оказывается, второй байт немного ассиметричный(??). Если RC4 был
  • 1:45 - 1:50
    случайным то вероятность того, что второй байт будет нулем
  • 1:50 - 1:55
    одна к 256. Есть 256 возможных байтов, вероятность
  • 1:55 - 2:00
    нуля одна к 256. Случилось так, что для RC4 вероятность
  • 2:00 - 2:04
    два к 256, это означает, что если вы используете RC4 вывод для шифрования
  • 2:04 - 2:10
    сообщения второй байт, скорее всего, не будут зашифрован. Другими словами
  • 2:10 - 2:15
    этот ноль будет проXORен дважды
  • 2:15 - 2:19
    Поэтому два к 256, а не 1 к 256.
    И кстати, я должен сказать, что нет
  • 2:19 - 2:23
    ничего особенного во втором байте. Оказывается, первый и третий байт
  • 2:23 - 2:28
    также ассиметричны. В настоящее время рекомендуется, если вы собираетесь использовать RC4,
  • 2:28 - 2:33
    игнорировать в основном первые 256 байт вывода и просто
  • 2:33 - 2:37
    начинать использовать выходные данные генератора, начиная с байта 257. Первая пара
  • 2:37 - 2:41
    байт оказалась ассиметричной, так что вы просто игнорируете ее. При второй аттаке
  • 2:41 - 2:48
    было обнаружено, что на самом деле, если вы посмотрите на очень длинный вывод из RC4, получается
  • 2:48 - 2:54
    что у вас больше шансов получить последовательность 00. Другими словами вы
  • 2:54 - 2:59
    скорее всего, получите шестнадцать битов по два байта ноль, ноль. Опять же если RC4
  • 2:59 - 3:04
    была совершенно случайная, вероятность получения ноль, ноль будет ровно 1/256
  • 3:04 - 3:09
    в квадрате. Оказывается, RC4 является немного ассиметричной и ассиметрия эта 1/256 в кубе. Этот
  • 3:09 - 3:14
    уклон фактически начинается после нескольких гигабайт данных и производятся
  • 3:14 - 3:19
    RC4. Но тем не менее, это как раз то, что может использоваться для прогнозирования генератора
  • 3:19 - 3:23
    и определенно может использоваться для различения вывода генератора
  • 3:23 - 3:28
    из действительно случайных последовательностей. В принципе тот факт, что ноль, ноль появляется чаще
  • 3:28 - 3:32
    чем он должен это и есть отличительный признак. И затем в последней лекции мы говорили о
  • 3:32 - 3:36
    связанных с ключом атаках, которые были использованы для атаки WEP, и которые в основном говорят, что
  • 3:36 - 3:41
    Если один использует ключи, которые тесно связаны друг с другом, то это на самом деле дает возможность
  • 3:41 - 3:46
    восстановления ключа корня. Вот такие недостатки присутствуют в RC4 и, как
  • 3:46 - 3:50
    результат, рекомендуется, не использовать RC4 в новых системах, а вместо нее использовать
  • 3:50 - 3:54
    современный псевдослучайный генератор. Ладно, второй пример, который я хочу вам показать это
  • 3:54 - 3:59
    взломанный потоковый шифр. Он используется для шифрования DVD фильмов. Когда вы покупаете DVD
  • 3:59 - 4:04
    в магазине, фактически фильм шифруется с использованием шифров под названием
  • 4:04 - 4:08
    content scrambling system, CSS. CSS оказывается взломанным потоковым шифром,
  • 4:08 - 4:13
    и мы очень легко можем взломать его, и я хочу показать вам, как работает алгоритм атаки.
  • 4:13 - 4:17
    Вы можете увидеть пример алгоритма нападения на слайде, но по
  • 4:17 - 4:21
    факту, существует множество других систем, которые в основном используют это нападение для расшифровки
  • 4:21 - 4:26
    зашифрованных DVD. Таким образом, CSS потоковый шифр основанный на том, что любят разработчики
  • 4:26 - 4:30
    аппаратной части. Он соответствует аппаратному потоковому шифру, который должен
  • 4:30 - 4:34
    быть легко осуществлен в аппаратной части и основывается на механизме с названием линейные
  • 4:34 - 4:39
    регистры сдвига с обратной связью . Таким образом линейные регистры сдвига с обратной связью - это в основном регистры
  • 4:39 - 4:44
    которые состоят из ячеек, где каждая ячейка содержит один бит. Что затем
  • 4:44 - 4:49
    происходит? В определенных ячейках есть отводы, не во всех, а на определенных
  • 4:49 - 4:54
    позициях. Затем эти отводы XORят и на
  • 4:54 - 4:59
    каждом тактовом цикле, сдвиг происходит влево. Последний бит уходит
  • 4:59 - 5:04
    и затем первый бит становится результатом этого XOR. Так что вы можете видеть, что
  • 5:04 - 5:09
    этот механизм очень простой для реализации и в оборудовании занимает немного
  • 5:09 - 5:14
    транзисторов. Простой сдвиг вправо, последний бит уходит и первый бит просто
  • 5:14 - 5:19
    становится XORом предыдущих битов. Так что источник для этого LFSR
  • 5:19 - 5:23
    в основном является начальным состоянием LFSR.
  • 5:24 - 5:29
    И это является основой целого ряда потоковых шифров. Так вот несколько примеров. Как
  • 5:29 - 5:33
    я сказал, DVD шифрования использует два LFSRs.
    Я покажу вам как это работает через
  • 5:33 - 5:38
    минуту. Шифрование GSM, а именно алгоритмы с названием A51 и A52. Они
  • 5:38 - 5:43
    используют три LFSRs. Bluetooth Шифрование — алгоритм шифрования с названием E ноль. Это все
  • 5:43 - 5:49
    потоковые шифры, которые используют четыре LFSRs. получается, все это - взломанные шифры,
  • 5:49 - 5:53
    и действительно, не следует доверять для шифрованию трафика, так как они все
  • 5:53 - 5:57
    реализованы аппаратно, поэтому довольно сложно сейчас изменить то, что заложено в оборудование.
  • 5:57 - 6:01
    Но самый простой из них, CSS, очень мило взламывается, поэтому позвольте
  • 6:01 - 6:05
    мне показать вам, как работает эта атака. Итак рассмотрим как фактически CSS работает.
  • 6:05 - 6:11
    Ключ для CSS состоит их пяти байтов, а именно 40 бит, пять раз по восемь это 40 бит.
  • 6:11 - 6:16
    Причина, по которой стоит ограничение 40 бит состоит в том, что DVD шифрование было
  • 6:16 - 6:20
    разработано тогда, когда экспорт США был разрешен только для
  • 6:20 - 6:25
    крипто алгоритмы с ключем в 40 бит. Поэтому разработчики CSS
  • 6:25 - 6:30
    были ограничены очень очень короткими ключами.
    Ключ всего из 40 бит. Таким образом их проект был
  • 6:30 - 6:35
    следующим. В основном CSS использует два LFSR. Один является 17-битным LFSR. Другими словами,
  • 6:35 - 6:41
    Регистр содержит 17 бит. И второй — 25-битный LFSR,
  • 6:41 - 6:47
    Он немного больше - 25-бит. Исследованием LFSRs
  • 6:47 - 6:52
    является следующим. Ключ для шифрования, в основном выглядит таким следующим образом.
  • 6:52 - 6:58
    Вы начинаете с одного и объединяете первые два байта
  • 6:58 - 7:03
    ключа. Это и есть начальное состояние LFSR.
  • 7:03 - 7:08
    И тогда второй LFSR инициализируется таким же образом.
  • 7:08 - 7:14
    Один соединен с последним тремя байтами ключа. Это
  • 7:14 - 7:20
    загружается в начальное состояние LFSR.
    Вы можете увидеть что первые два байта
  • 7:20 - 7:25
    состоят из шестнадцати битов, плюс один главный, что составляет семнадцать бит в целом, тогда как второй
  • 7:25 - 7:31
    LFSR — 24 бита, плюс один, в итоге 25 бит.
    Заметьте, что мы использовали все пять бит
  • 7:31 - 7:37
    ключа. Дажее эти LFSRs в основном запускаются для восьми циклов, так что они генерируют
  • 7:37 - 7:42
    восемь бит вывода. И затем они идут через сумматор, который в основном производит
  • 7:42 - 7:48
    сложение по модулю 256.Да, это блок сложения по модулю 256. Существует еще одна
  • 7:48 - 7:54
    техническая вещь. В самом деле давайте добавим это к информации из
  • 7:54 - 8:00
    предыдущего блока. Но это не так важно. Это деталь не столь
  • 8:00 - 8:05
    так уместна. Хорошо, итак в каждом блоке, заметьте что мы делаем сложение по модулю 256 и
  • 8:05 - 8:10
    игнорируем транспортировку, но она в основном добавляет ноль или единицу
  • 8:10 - 8:15
    в следующий блок. Понятно? И затем выводим один байт за раунд.
  • 8:15 - 8:20
    Затем этот байт тогда конечно используется, проXORенный с соответствующим
  • 8:20 - 8:25
    байтом из фильма, который был зашифрован.
    Итак, это очень простой потоковый
  • 8:25 - 8:30
    шифр, который занимает очень мало аппаратных средств для реализации. Он будет работать быстро, даже на очень
  • 8:30 - 8:36
    дешевом оборудовании, шифруя фильмы.
    Поэтому его легко взломать
  • 8:36 - 8:41
    в промежутке времени от 2 до 17 переборов. Теперь позвольте мне показать вам это.
  • 8:41 - 8:46
    Предположим, что вы перехватили фильм, поэтому десь мы имеем
  • 8:46 - 8:51
    зашифрованный фильм, который вы хотите расшифровать.
    Давайте скажем, что вы не имеете понятия о том
  • 8:51 - 8:55
    что находится здесь внутри. Такое случается потому что
  • 8:55 - 9:00
    DVD шифрование использует MPEG файлы, так случилось, что вы знаете префикс
  • 9:00 - 9:04
    открытого текста, давайте просто скажем что он равен 20 байт. Мы знаем, что если вы
  • 9:04 - 9:09
    проXORите эти две вещи вместе, другими словами, вы делаете здесь XOR
  • 9:09 - 9:14
    в итоге получаете первоначальный сегмент PRG. Таким образом, вы получите
  • 9:14 - 9:18
    первые 20 байт вывода CSS, используя вывод PRG. Ладно, теперь
  • 9:18 - 9:24
    вот что мы собираемся делать. У нас первые 20 байт выходных данных. Теперь
  • 9:24 - 9:31
    мы делаем следующее. Мы пробуем все от двух до семнадцати возможных значений первого
  • 9:31 - 9:37
    LFSR. Хорошо? От двух до семнадцати возможных значений. Таким образом, для каждого значения, и для каждого из
  • 9:37 - 9:43
    этих двух до семнадцати начальных значений LFSR, мы запускаем
  • 9:43 - 9:48
    LFSR для 20 байт, понятно? Поэтому мы будем генерировать 20 байт выходов из
  • 9:48 - 9:53
    Первого LFSR, предполагая — для каждого от двух семнадцати возможных параметров.
  • 9:53 - 9:59
    Теперь вспомните, что у нас есть полный вывод CSS системы. Все что мы можем сделать это
  • 9:59 - 10:04
    взять этот вывод и вычесть его из двадцати байтов, которые у нас есть
  • 10:04 - 10:09
    из первого LFSR и, если на самом деле наша догадка для начального состояния первого
  • 10:09 - 10:14
    LFSR является верной, все что мы должны получить - это первый двадцатибайтовый вывод
  • 10:14 - 10:19
    второго LFSR. Правильно? Потому что это по определению вывод CSS
  • 10:19 - 10:25
    системы. Теперь получается, что глядя на 20-байтную последовательность, очень легко
  • 10:25 - 10:30
    сказать является ли эта 20-байтная последовательность 25-разрядным LFSR или нет. Если нет
  • 10:30 - 10:34
    тогда мы знаем, что наша догадка для 17-разрядного LFSR
  • 10:34 - 10:37
    неправильна и затем мы перейдем к следующему предположению для 17-разрядного LFSR и
  • 10:37 - 10:42
    затем следующей догадке и так далее и так далее.
    До тех пор, пока в конце концов мы не попадем в верное первоначальное
  • 10:42 - 10:47
    состояние для 17-битных LFSR и тогда мы увидим, что
  • 10:47 - 10:52
    20 байт, которые мы получаем на выходе для 25-разрядного LFSR
  • 10:52 - 10:57
    в самом деле возможны на выходе для 25-разрядного LFSR. И тогда, мы не только
  • 10:57 - 11:02
    научимся правильно определять начальное состояние для 17-битных LFSR, мы также
  • 11:02 - 11:08
    узнаем верное начальное состояние 25-разрядного LFSR. И затем мы сможем предсказать
  • 11:08 - 11:13
    оставшиеся выводы CSS и, используя это, мы сможем расшифровать остальную часть
  • 11:13 - 11:18
    фильма. На самом деле мы можем восстановить оставшуюся часть открытым текстом. Отлично. Это
  • 11:18 - 11:22
    вещи, о который мы уже говорили. Я рассказал это довольно быстро, но надеюсь,
  • 11:22 - 11:27
    было ясно. Также на этот тип потового шифра есть домашнее задание
  • 11:27 - 11:31
    и вы получите своего рода понятие о том, как эти атакующие алгоритмы
  • 11:31 - 11:36
    работают. И я должен отметить, что сейчас существует множество открытых систем, которые
  • 11:36 - 11:41
    Используют этот метод для расшифровки данных, зашифрованных с помощью CSS. Хорошо. Итак мы уже рассмотрели два
  • 11:41 - 11:46
    простенький примера, давайте перейдем на более серьезные примеры, в частности лучшие
  • 11:46 - 11:49
    псевдослучайные генераторы приходят из так называемого eStream проекта. Этот
  • 11:49 - 11:56
    проект был основан в 2008 году, и они квалифицируются в основном на пяти различных потоковых
  • 11:56 - 12:00
    шифрах, но здесь я хочу представить только один. Так первый из всех параметров для
  • 12:00 - 12:04
    этих потоковых шифров, немного отличается, от тех которые мы использовали. Эти
  • 12:04 - 12:08
    потоковые шифры как и все имеют источник.
    Кроме того они имеют, так называемый
  • 12:08 - 12:13
    случайный код и мы увидим, для чего используется данный случай через минуту.
  • 12:13 - 12:17
    Итак они принимают на входе два параметра: источник и случайный код. Мы увидим, для чего используется случайный код
  • 12:17 - 12:21
    через секунду. И конечно они производят очень большой выход, так что n здесь
  • 12:21 - 12:27
    гораздо, гораздо, гораздо больше, чем s. Теперь, когда я говорю случайный код, я имею в виду это значение, которые
  • 12:27 - 12:31
    никогда не будут повторяться до тех пор, пока ключ будет фиксированным. Я объясню более
  • 12:31 - 12:35
    подробно через секунду. Но теперь, просто думайте о нем, как об уникальном значении, которое не будет
  • 12:35 - 12:41
    повторятся до тех пор пока длится ключ.
    И поэтому, конечно, как только вы получите PRG,
  • 12:41 - 12:45
    и зашифруете, то получите потоковый шифр как и прежде, за исключением теперь того, что
  • 12:45 - 12:50
    PRG принимает как входные данные ключ и одноразовый код. И свойство случайного кода это
  • 12:50 - 12:56
    пара: k запятая r, поэтому ключ запятая случайный код, никогда не — никогда не повторяются. Он
  • 12:56 - 13:03
    никогда не используется более одного раза. Таким образом в нижней строке описана возможность повторно использовать ключ, повторно использовать
  • 13:03 - 13:10
    ключ, потому что случайный код делает пару уникальной, потому что k и r
  • 13:10 - 13:16
    используются только один раз. Я скажу, что они уникальны. Ладно, этот случайный код это своего рода трюк, который,
  • 13:16 - 13:22
    спасает нас от проблемы перехода на новый ключ каждый раз. Ладно, итак
  • 13:22 - 13:26
    пример из eStream, который я хочу показать вам называют Сальса двадцать. Это
  • 13:26 - 13:30
    потоковый шифр, который предназначен для реализации программного и аппаратного обеспечения
  • 13:30 - 13:33
    Это достаточно интересно.
    Вы должны понимать, что некоторые потоковые шифры
  • 13:33 - 13:39
    предназначены для программного обеспечения, как RC4.
    Все что разработано для
  • 13:39 - 13:43
    программной реализации работает быстро, тогда как другие потоковые шифры разработанные для
  • 13:43 - 13:48
    аппартаного обеспечения, как CSS, с помощью LFSR, частично разработано для того, чтобы сделать
  • 13:48 - 13:51
    реализацию дешевле. Еще одна хорошая вещь в том
  • 13:51 - 13:55
    что это легко осуществить его в аппаратном обеспечении и его программная
  • 13:55 - 14:00
    разработка является также очень быстрой. Поэтому позвольте мне объяснить, как работает Сальса. Ну, сальса
  • 14:00 - 14:05
    содержит 128 или 256-разрядный ключи. Только я объясню 128-разрядную версию сальсы.
  • 14:05 - 14:11
    Это источник. И затем он также принимает случайный код, просто как и прежде
  • 14:11 - 14:15
    случалось с 64 битами. И тогда он будет генерировать большой вывод. Теперь как это
  • 14:15 - 14:21
    на самом деле работает? Ну сама функция определяется следующим образом. В основном учитывая
  • 14:21 - 14:26
    ключ и случайный код, он будет генерировать очень длинную, ну, длинную псевдослучайную
  • 14:26 - 14:31
    последовательность, так долго, как необходимо. И он делает это с помощью этой функции, которую я обозначу
  • 14:31 - 14:36
    H. Эта функция H принимает три входа.
    В основном ключ. Источник k,
  • 14:36 - 14:40
    случайный код r, а затем счетчик, который увеличивается от шага к шагу. Так он идет
  • 14:40 - 14:45
    от нуля до одного, двух, трех, четырех до тех пор пока нужно. Ладно? Поэтому в основном,
  • 14:45 - 14:50
    по оценке этой H на этом k r, но используя этот счетчик приращения, мы можем получить
  • 14:50 - 14:55
    последовательность такую, как нам нужно. Поэтому все что нужно сделать, это описать как эта функция
  • 14:55 - 14:59
    H работает. Теперь позвольте мне сделать это здесь для вас.
    Она работает следующим образом. Ну мы
  • 14:59 - 15:05
    начинаем путем расширения состояния в нечто довольно большое, длиной 64 байт
  • 15:05 - 15:10
    и мы делаем это следующим образом. В основном мы придерживаемся констант в начале, так
  • 15:10 - 15:16
    есть tao ноль, эти четыре байта, это константа 4 байта, поэтому спецификации
  • 15:16 - 15:21
    Сальсы в основном дает вам значение для tao ноль. Затем мы ставим k в котором
  • 15:21 - 15:25
    шестнадцать байт. Затем мы ставим другую константу. Опять же это четыре байта. И
  • 15:25 - 15:31
    как я сказал, спецификация в основном определяет фиксированную константу. Затем мы ставим
  • 15:31 - 15:37
    случайный код, из восемь байтов. Затем индекс. Этот Счетчик ноль,
  • 15:37 - 15:43
    один, два, три, четыре, который содержит еще восемь байт. Затем мы ставим другую константу
  • 15:43 - 15:49
    Тау два, которая является еще четырьмя байтами.
    Затем мы ставим ключ снова, это еще
  • 15:49 - 15:55
    шестнадцать байт. И затем, наконец, мы ставим третью константу, Тау три, которая содержит
  • 15:55 - 16:00
    еще четыре байта. Ладно, так, как я сказал, если вы, просуммируете все это, то получите 64
  • 16:00 - 16:05
    байта. Поэтому мы расширили ключ, случайны код и счетчик в 64
  • 16:05 - 16:11
    байт. В основном ключ повторяется дважды. И то, что мы делаем это применяем
  • 16:11 - 16:16
    функцию, я буду называть эту функцию маленькой h. хорошо, поэтому мы применяем эту функцию, маленькую h.
  • 16:16 - 16:22
    И это функция, которая является один к одному, поэтому он сопоставляется 64 байта 64 байт. Это
  • 16:22 - 16:26
    полностью обратимой функция, ладно? Так что эта функция h, как я говорю, это
  • 16:26 - 16:30
    invertable функция. Учитывая входные данные вы можете получить результат и учитывая
  • 16:30 - 16:35
    выход, вы можете вернуться к входу. И он предназначен специально, поэтому он имеет - легко
  • 16:35 - 16:40
    для реализации в аппаратных средств и b-на x 86, это очень легко осуществить, поскольку
  • 16:40 - 16:44
    x 86 имеет этой SSE2 инструкции набор, который поддерживает все операции, вам нужно сделать
  • 16:44 - 16:49
    для этой функции. Это очень, очень быстро.
    В результате сальса имеет очень быстрый поток
  • 16:49 - 16:53
    шифр. А затем она делает это в основном снова и снова. Поэтому он применяется это
  • 16:53 - 16:58
    Функция h снова и он получает еще 64 байта. И так далее и так далее, в основном
  • 16:58 - 17:05
    Он делает это в десять раз. Итак все это здесь, говорят повторяется в десять раз, так что
  • 17:05 - 17:18
    в основном применяют h в десять раз. И затем сам по себе, это на самом деле не совсем случайно.
  • 17:18 - 17:22
    Он является не собираешься смотреть случайные потому, что как мы сказали, H является полностью invertable. Так что
  • 17:22 - 17:26
    Этот конечный результат, это очень легко просто инвертировать h и затем вернуться к оригиналу
  • 17:26 - 17:32
    входы и затем тест, что ввод имеет право структуру. Так вы сделать еще один
  • 17:32 - 17:37
    вещь, которая является в основном XOR входов и конечных мероприятий. На самом деле,
  • 17:37 - 17:42
    Извините. Это не XOR. Это на самом деле дополнением. Таким образом вы сделать дополнение слово
  • 17:42 - 17:48
    слово. Так что если есть 64 байта, вы сделать добавить слово в слово четырех байтов
  • 17:48 - 17:53
    время и, наконец, вы получите 64-байтовый вывода, и вот оно. Это весь
  • 17:53 - 17:57
    генератор псевдослучайных. Так что, что вся функция, мало h. И, как я
  • 17:57 - 18:02
    объяснил, эта вся конструкция является функция большой H. И тогда вы оценить
  • 18:02 - 18:06
    большой H путем увеличения счетчика I, ноль, один, два, три года. И что
  • 18:06 - 18:10
    даст вам псевдослучайной последовательности, которая является столько, сколько вам нужно оно быть. И
  • 18:10 - 18:15
    в принципе существует не signifigant нападения на это. Это имеет безопасности это
  • 18:15 - 18:20
    непосредственной близости от двух до 128. Мы увидим, что это означает, что более точно позже на.
  • 18:20 - 18:25
    Это очень быстрый потоковый шифр, аппаратного и программного обеспечения. И, насколько
  • 18:25 - 18:30
    Мы можем сказать, это, как представляется, быть непредсказуемым, необходимые для потоковый шифр. Так что я
  • 18:30 - 18:35
    следует сказать, что eStream проекта на самом деле имеет пять потоковые шифры как
  • 18:35 - 18:39
    это. Я только выбрал сальса, потому что я думаю, что это самый элегантный. Но я могу дать вам
  • 18:39 - 18:44
    Некоторые номера производительность здесь. Таким образом вы можете видеть, это показателей деятельности на
  • 18:44 - 18:49
    2,2 Гигагерца, вы знаете, x 86 типа машины.
    И вы можете видеть, что на самом деле является RC4
  • 18:49 - 18:53
    медленный. Потому что по существу, ну он не принимает действительно преимущество
  • 18:53 - 18:57
    аппаратное обеспечение. Она только не байтовые операции.
    И так много впустую циклов,
  • 18:57 - 19:01
    не используются. Но E-поток кандидатов, сальса и другие
  • 19:01 - 19:05
    кандидат, называется Sosemanuk. Я должен сказать, что эти eStream финалистов. Эти
  • 19:05 - 19:10
    на самом деле потоковых шифров, которые утверждаются eStream проекта. Вы можете видеть, что
  • 19:10 - 19:14
    они достигли значительную скорость.
    Это 643 МБ в секунду на этот
  • 19:14 - 19:18
    Архитектура, более чем достаточно для кино и они на самом деле впечатляет
  • 19:18 - 19:22
    Тарифы. И поэтому теперь вы видели примеры двух старых потоковые шифры, которые не должны быть
  • 19:22 - 19:27
    используется, включая нападения на эти потоковые шифры.
    Вы видели, современные поток шифры
  • 19:27 - 19:30
    как выглядеть с этой nonce. И вы увидите число показателей для этих
  • 19:30 - 19:35
    современные поток шифры, так что если вы будете нуждаться в потоковый шифр можно использовать один из
  • 19:35 - 19:38
    eStream финалистов. В частности вы могли бы использовать что-то вроде сальсы.
Title:
Real-world stream ciphers (20 min)
Video Language:
English

Russian subtitles

Revisions