Интернет магазин китайских планшетных компьютеров |
|
Компьютеры - Salsa2001 июля 2011Оглавление: 1. Salsa20 2. Скоростные особенности 3. Криптоанализ система поточного шифрования разработанная Daniel J. Bernstein. Алгоритм был представлен на конкурсе eSTREAM, целью которого было создание европейских стандартов для поточных систем шифрования. Алгоритм стал победителем конкурса в первом профиле. Salsa20 основана на операциях 32-битного суммирования, побитового сложения и операции сдвига. Алгоритм использует хеш-функцию с 20-ю циклами. Основные ее преобразования напоминают алгоритм AES. Описание алгоритмаПонятияСловом далее будем называть элемент множества {0,1,…,2−1} и записывать в шестнадцатеричном виде с префиксом 0х. Функции, используемые в алгоритмеquarterroundОсновным блоком системы является преобразование над 4-мя словами. Из него строятся далее описанные более общие преобразования. Его суть заключается в том, что для каждого слова мы складываем два предыдущих, сдвигаем сумму на определенное количество бит и побитово суммируем результат с выбранным словом. Последующие операции производятся с новыми значениями слов. Допустим, что последовательность 4-х слов тогда функция где Например: quarterround Можно рассматривать эту функцию как преобразования слов y1, y2, y3 и y4. Каждое из таких преобразований обратимо, как и функция в целом. rowround
Пусть последовательность 16 слов, тогда также последовательность 16 слов где columnroundЗдесь мы берем столбцы такой-же матрицы. Преобразуем их функцией quarterround, по аналогии подставляя в нее значения, начиная с j-ого для j-ого столбца, где j={0,1,2,3}. Функция columnround= тоже оперирует последовательностью 16-и слов так, что doubleroundФункция doubleround является последовательным применением функций columnround а затем rowround: doubleround = rowround) Salsa20Данный алгоритм использует запись слова начинающуюся с младшего байта. Для этого здесь введено преобразование Пусть 4-байтовая последовательность, тогда слово, такое что Итоговое преобразование это побитовое суммирование исходной последовательности и результата 20 раундов чередующихся преобразований столбцов и строк. Где
x байты x, а xj слова, используемые в описанных выше функциях. Если Расширение ключа для Salsa20Расширение преобразует 32-байтный или 16-байтный ключ k и 16-байтный номер n в 64-байтную последовательность Salsa20k.
Пусть у k0,k1,n 16-байтовые последовательности, тогда Если у нас только одна 16-байтовая последовательность k то Функция шифрования Salsa20Шифром -байтной последовательности , для будет Salsa20k последовательность в 2 байт. Где уникальная последовательность в 8 байт такая что i = i0 + 2i1 + ... + 2i7 Соответственно Где Просмотров: 3265
|