- •Курсовая работа
- •Задание на курсовую работу студентам
- •1.Тема работы: «Потоковый шифр Salsa20»
- •3.Содержание расчётно-пояснительной записки
- •Реферат
- •Перечень условных обозначений и сокращений
- •1 Описание алгоритма шифрования salsa20, основные понятия и базовые операции 10
- •2 Основные функции алгоритма salsa20 13
- •1 Описание алгоритма шифрования salsa20, основные понятия и базовые операции
- •1.1 Преимущества и применение
- •3 Демонстрация работы алгоритма salsa20 22
- •1.2 Основные понятия и базовые операции
- •2 Основные функции алгоритма salsa20
- •2.1 Функция quarterround(y)
- •2.2 Функция rowround(y)
- •2.3 Функции columnround(y) и doubleround(y)
- •2.4 Функция littleendian(b)
- •2.6 Функция расширения ключа для Salsa20
- •3 Демонстрация работы алгоритма salsa20
- •3.1 Функция шифрования Salsa20
- •3.2 Демонстрация работы алгоритма Salsa20 в среде Mathcad
- •Перечень источников
Реферат
ПЗ: 22 страницы, 20 рисунков, 6 источников. 3 раздела: «1.Описание алгоритма шифрования Salsa20, основные понятия и базовые операции», «2.Основные функции алгоритма Salsa20», «3.Демонстрация работы алгоритма Salsa20»
Объект исследования – система потокового шифрования Salsa20.
Освоение теоретических основ и овладение практическими навыками по реализации симметричных потоковых алгоритмов шифрования на примере Salsa20.
АЛГОРИТМ ШИФРОВАНИЯ, ПОСЛЕДОВАТЕЛЬНОСТЬ БАЙТ, КЛЮЧ, ИСХОДНОЕ СООБЩЕНИЕ, ШИФРТЕКСТ, ГАММА-ШИФРА
Перечень условных обозначений и сокращений
XOR – операция «исключающее или», сложение по модулю 2
k – ключ, используемый в алгоритме шифрования
l – длина сообщения в байтах
m – исходное сообщение, длинной l
υ – 8-байтовое число “nonce”
i – уникальная 8-байтовая последовательность
n – уникальная 16-байтовая последовательность, n = (υ, i)
I – массив из 65 i
N – массив из 65 n
τ0, τ1, τ2, τ3 – константы, используемые для процедуры расширения 16-байтного ключа
σ0, σ1, σ2, σ3 - константы, используемые для процедуры расширения 32-байтного ключа
S – массив, содержащий гамма-шифру
M – массив, содержащий m в блоках по 64 байта
CR – массив, содержащий шифртекст в блоках по 64 байта
RC – массив, содержащий результат CR ХOR S в блоках по 64 байта, соответствует M
СОДЕРЖАНИЕ
В 2005 году на конкурсе «eSTREAM» была представлена система поточного шифрования Salsa20, разработанная Даниэлем Бернштейном. Алгоритм прошёл до третьего раунда конкурса без каких-либо изменений и стал победителем «eSTREAM» в первом профиле (поточные шифры для программного применения с большой пропускной способностью). 20-раундовый потоковый шифр Salsa20 несомненно быстрее чем AES и рекомендован разработчиком для типичных криптографических приложений. 8
В данной ПЗ описывается алгоритм шифрования Salsa20 и его реализация при помощи среды Mathcad. 8
В первой части поясняются особенности работы поточных шифров и Salsa20 в частности, краткое описание принципа работы, основные достоинства и недостатки, а также базовые операции, реализуемые в алгоритме шифрования и их реализация в среде Mathcad. 9
Во второй части приведено описание основных функций, используемых в алгоритме Salsa20, а также их реализация в среде Mathcad. 9
В третьей части описывается механизм шифрования и расшифрования сообщения с помощью алгоритма Salsa20. Работа алгоритма шифрования демонстрируется в среде Mathcad. 9
Курсовой проект посвящён изучению и анализу работы симметричных потоковых шифров на примере алгоритма шифрования Salsa20. Это позволяет реализовывать и применять алгоритмы шифрования на практике. 9
1 Описание алгоритма шифрования salsa20, основные понятия и базовые операции 10
1.1 Преимущества и применение 10
1.2 Основные понятия и базовые операции 11
2 Основные функции алгоритма salsa20 13
2.1 Функция quarterround(y) 13
2.2 Функция rowround(y) 14
2.3 Функции columnround(y) и doubleround(y) 15
2.4 Функция littleendian(b) 17
2.5 Хеш-функция Salsa20 18
2.6 Функция расширения ключа для Salsa20 19
