КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Алгоритм Blowfish
Алгоритм Blowfish разработал американец Б. Шнайер. Данный алгоритм базируется на сети Фейстелл, не запатентован. Многораундовый (18 раундов) алгоритм обрабатывает 32-разрядные числа. Основная функция – операция сложения. kc<448 бит> Ключ разворачивается предварительно, не на лету. Достаточно криптостойкий. Предварительно формируется массив ключей 448*18. 18 32-разрядных слов (подключей) p1,p2,…,p18. Каждый pi – четыре 32-разрядных вектора. Используется табличное преобразование (нелинейное), применение 32х s-блоков. Каждый s-блок – 256 элементов. s10, s11,...,s1,255 s20, s21,...,s2,255 s30, s31,…,s3,255 s40, s41,…,s4,255 Блок-схема <64 To>
Перестановка и
Функция F
Алгоритм расширения ключа 1. Исходный ключ получается с помощью ПЧС. 2. Выполняется XOR p1 c первыми 32-разрядными битами ключа; XOR p2 – со вторыми 32-разрядными битами и т.д. до p18. 3. Шифрование алгоритмом Blowfish 4. p1 и p2 заменяются результатом шага 3. 5. Результат этапа 3 шифруется с помощью алгоритма Blowfish и измененных подключей. 6. p3 и p4 заменяются результатом этапа 5. 7. Все элементы p-массива заменяются выходом, постоянно меняющимся.
В алгоритмах DES и ГОСТ таблицы фиксированы, а в Blowfish заключается в том, что ключи формируются в зависимости от исходных данных.
ГОСТ 28147 – 89
Структура алгоритма состоит из трех частей. Предназначен для реализации блочного шифрования. Каждый блок – 64 бита. 64 бита открытого текста преобразуется в 64 биташифрованного текста. М разбивается в двоичном представлении.
М→ М1, М2 …, Мк
С1, С2 …, Ск Мi OT <64> Ci ШТ <64>
Степень стойкости зависит от режима. Все три части используют три основные операции: · Поразрядное сложение по mod 2 · Сложение двух чисел a, b (32 разряда каждое) (a+b) mod 232 · Сложение (a+b) mod (232-1)
Часть1 – базовый блок. Режим работает следующим образом. В часть заносится 64 бита, которые делятся попалам. Далее над ними выполняются операции. Всего проводится 32 раунда. После 32 раундов получаем из М1→ С1. такой режим называется заменой.
Структура Ч1 при реализации алгоритма замены В регистры N1 и N2 заносятся числа a, b. Регистры связаны между собой. Исходные 64 бита представляются в виде a1…a32, b1…b32. Память с ключом – 256 бит. Память состоит из 8 ячеек по 32 разряда. CM1 – сумматор, реализующий операцию . Далее следует блок памяти, реализующий нелинейную операцию. Регистр сдвига осуществляет сдвиг на 11 разрядов (своего рода перемешивание). CM1 – сумматор, реализующий сложение по mod 2. Из N1 значения выталкиваются в N2. Таким образом осуществляется один раунд. Также происходят следующие раунды, но во втором раунде в качестве ключа берется х1, в третьем – х2 и т.д. Так происходит каждые 8 раундов. Но на последнем раунде использование ключей меняется ключи берутся в обратном порядке.
После 32 раунда a(32) = a(31), b(32) = φ(a(31) + k0) b(31)
Базовая часть служит для режима гаммирования. Часть 1 предназначена для формирования данных.
N5, N6 – 32-разрядные регистры С1, С2 – константы Для получения гаммы используется СМ4(С1,N4) Хэш-функция базируется на этом алгоритме Отечественный стандарт предполагает 4 режима: 1. Режим замены (r1); 2. Режим гаммирования (r1, r2,r3); 3. Режим гаммирования с обратной связью (r1,r3); 4. Имитовставка
Режим гаммирования с обратной связью.
Схема реализующая гаммирование с обратной связью, имеет следующий вид:
Открытые данные, разбитые на 64-разрядные блоки Т0(1),Т0(2), зашифровываются путем поразрядного сложения по модулю 2 с гаммой шифра Гш, которая вырабатывается блоками по 64 бита. Число двоичных разрядов в блоке Т0(i) может быть менее 64, при этом неиспользованная дел шифрования часть гаммы шифра из блока Гш(i) отбрасывается.
Имитовставка.
Имитовсатавка – это блок из Р бит, который вырабатывают по определенному правилу из открытых данных с использованием ключа и затем добавляют к зашифрованным данным для обеспечения их имитозащиты. Имитозащита – это защита системы шифрованной связи от навязывания ложных данных. Имитовставка вырабатывается из блоков открытых данных либо перед шифрованием всего сообщения, либо параллельно с шифрованием по блокам. < М1,…, Мm> < С1, …, Сm> Берется несколько блоков С′к …С′m – зашифрованных. Блоки подвергают преобразованию, соответствующему первым 16 циклам алгоритма зашифрования в режиме простой замены. p = < С′к …С′m > - имитовставка Получателю пересылается < С1, …, Сm, р>. Поступившие к получателю зашифрованные данные расшифровываются, и из полученных блоков открытых данных вырабатывается имтовставка. Эта имитовставка сравнивается с имитовставкой, полученной вместе с зашифрованными данными. В случае несовпадения имитовставок полученные при расшифровании блоки открытых данныхт считают ложными. С помощью имитовставок проверяются: 1. целостность исходного текста; 2. аутентификация; 3. юридическая подпись.
Американский стандарт шифрования DES.
Стандарт шифрования данных DES(Data Encryption Standart) опубликован в 1977г. Национальным бюро стандартов США. Основные достоинства алгоритма DES: 1. используется только один ключ длиной 56 бит; 2. зашифровав сообщение с помощью одного пакета программ, для расшифровки можно использовать любой другой пакет программ, соответствующий стандарту DES; 3. относительная простота алгоритма обеспечивает высокую скорость обработки; 4. достаточно высокая стойкость алгоритма. Алгоритм DES использует комбинацию подстановок и перестановок. DES осуществляет шифрование 64-битовых блоков данных с помощью 64-битового ключа, в котором значащими являются 56 бит (остальные 8 бит – проверочные биты для контроля на честность).
Обобщенная схема процесса шифрования в алгоритме DES.
1. начальная перестановка 2. шифрование 3. конечная перестановка 4. шифротекст
64-битовый блок Т образуется с помощью матрицы начальной перестановки IP. Биты входного блока Т(64 бита) переставляются в соответствии с матрицей IP: бит 58 входного блока Т становится битом 1, битом 2 и т.д. Полученная последовательность битов Т0 разделяется на две последовательности: L0 – левые или старшие биты, R0 – правые или младшие биты, каждая из которых содержит 32 бита. По окончании шифрования осуществляется восстановление позиций битов с помощью матрицы обратной перестановки IP-1.
Реализация шифрования.
R1 = L0 f(R0,k1) ………………….. R16= L15 f(R15,k16) f – функция шифрования Достигаются принципы Шеннона: перемешивания и рассеивания. Рассеивание – изменение хотя бы одного бита в открытом тексте в раунде влечет изменение на выходе до пяти бит. После 16 раундов рассеивание полное, влияние на все 64 бита. В 70-е гг. 1 раунд – сеть Фейстеля. Принципы Шеннона достигаются благодаря тому, что: 1. преобразования представляются в виде сети Фейстеля; 2. чередование процедур; 3. итеративный процесс реализуется 16 раундов. Главное требование – обратимость преобразования. Обратимость основана на использовании операций подстановки, перестановки, замены они по определению обратимы.
Алгоритм Эль- Гамаля.
1985 г. Алгоритм Эль- Гамаля основан на проблеме дискретного логарифма. Для вскрытия перебором необходимо 1026 логических операций.
Q, P
4. (C1, C2)
Открытыми являются два вспомогательных числа Q и P
1<Q<p-1 C1, C2 → M = (C2/C1кCB) mod p (yкСА · M/QкСА· кСB) mod p = (QкСА· кСB · M/QкСА· кСB) mod p = M mod p
Пример: P = 11, Q = 2, M= 5
Электронно-цифровая подпись (ЭЦП)
Выполняет такую же роль, как и собственноручная подпись. Функции: 1. Авторство; 2. Целостность; 3. Аутентификация.
Ф1 – некий документ Ф2 – приложение к Ф1
Цифровая подпись (ЦП) – дополнительный файл, отражающий данные не только об источнике, но и данные о документе. Ф2 = у = (М, кс), где с – некие секретные данные Алгоритм постановки подписи выполняет сторона А. Реализует алгоритм проверки подписи сторона В.
ЦП на основе алгоритма RSA
Используется функция хэширования Н(М) = m << M
(этап хэширования)
C = md mod n = (C, M)
Аналогичным образом происходит действие и по алгоритму Эль-Гамаля. Здесь также необходимо использовать функцию хэширования Н(М).
ЦП на основе алгоритма Эль-Гамаля
Дополнение к RSA.
1. Почему работает RSA Х – ОТ Y – ШТ A: y = (ax + b) mod m, m – число букв в алфавите а,b – некоторые числа k = (a,b) – ключ B: x = Ek(y) = [(y + (m-b))·a-1] mod m a→ a-1 Если m – простое число, то a-1 есть у каждого элемента из 1…(m-1). Если (a,m) = 1, то не будет совпадений в значениях зашифрованного текста. Чтобы однозначно поставить в соответствие С и М, требуется k1 k2 e · d ≡ 1 mod φ(m) Ek1(M) = C Dk2(C) = M С = Me mod m; m = p·q a ≡ b mod m; a·b = m·k + r M<m; (M,m) = 1; Сd mod m = M = Me·d mod m = M(1+φ(m)k) mod m = M · Mφ(m)k mod m = M mod m, так как e·d ≡ 1 mod φ(m) e·d = 1 + φ(m)·k, aφ(m)k ≡ 1k mod m, (a,m) = 1 Необходимо доказать, что p·q | Med - M для любых М Med mod p = M mod p Med mod q = M mod q p| Med - M q| Med - M (M · Mφ(m)k) mod p = M · M(p-1)(q-1)k mod p = M mod p (M · Mφ(m)k) mod q = M · M(p-1)(q-1)k mod q = M mod q M · M(p-1)(q-1)k mod p = 1 M · M(p-1)(q-1)k mod q = 1 Следовательно, p·q| Med – M. По теории сравнимости: если одно Ито же число делится на p и на q, то оно делится и на их произведение. 2. Выбор p и q p = 2p - 1 – нельзя брать такое р
Получение простых чисел для алгоритма RSA r, s, t – простые числа Число р называется простым устойчивым, если оно удовлетворяет следующим условиям: 1. р ≡ 1 mod r 2. p ≡ (s-1) mod s 3. r ≡ 1 mod t Числа r, s, t должны удовлетворять следующим критериям: 1. r ≡ (u-1) mod u 2. s ≡ 1 mod w 3. s ≡ (v-1) mod v, где u, v, w – простые числа Пример: р = 19819 = 2·3·3·17·653 + 1 = 2·2·5·97·103-1 р – устойчивое простое число
Процедура получения устойчивых простых чисел 1. Генерируются простые числа s,t 2. Получаем простое число r такое что, (r-1) делит t без остатка: r-1|t На основе этих двух операций получаем простое число р по следующей формуле: P = U(r,s) + krs, где k – подборное натуральноге число Число р должно удовлетворять следующим свойствам: · p ≡ 1 mod r · p ≡ (s-1) mod s · U(r,s) = (sr-1 – rs-1) mod rs
Цифровая подпись DSA (Digital Standart Alhoritm)
Появилась в 1991 г. Основана на базе подписи Эль – Гамаля. Исходные числа – три простые числа G, P(512-1024 бит), Q(160 бит). q|p-1
Дата добавления: 2014-01-15; Просмотров: 2504; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |