
- •Методы защиты информации в компьютерных технологиях Москва 2011
- •1. Основные направления криптологии.
- •2. Элементы симметричных криптографических преобразований. История симметричных криптографических преобразований в приложениях.
- •2.2. Табличное шифрование методом перестановки по ключевому слову или фразе, задающими перестановку.
- •2.3. Табличное шифрование методом двойной перестановки.
- •2.5. Шифры сложной замены.
- •3. Методы криптографических преобразований с открытым ключом.
- •3.1. Алгоритм нахождения числа по модулю.
- •3.2. Вычисление обратных величин в модулярной алгебре.
- •3.3. Алгоритм операции возведения числа в степень по модулю.
- •3.4. Определение односторонней функции.
- •4. Алгоритмы формирования и функционирования криптографических систем с открытым ключом.
- •4.1. Алгоритм криптографической системы rsa (Райвест-Шамир-Адлеман).
- •4.2. Алгоритм криптографической системы на основе вычисления дискретных логарифмов в конечном поле – алгоритм Эль Гамаля.
- •4.3. Алгоритм функционирования криптографической системы на основе дискретного логарифмирования в метрике эллиптических кривых.
- •4.3.1. Основные операции криптографических преобразований в метрике эллиптических кривых.
- •4.3.2. Преобразование Диффи-Хеллмана в системах криптографии с открытым ключом.
- •XcxпШифратор
- •4.4. Формирование криптограмм открытых сообщений и их дешифрование с использованием методов дискретного логарифмирования в метрике эллиптических кривых.
- •4.4.1. Вычисление парного сеансового ключа шифрования-дешифрования для абонентов а и в на основе преобразований Диффи-Хеллмана.
- •4.4.3. Дешифрование абонентом а криптограммы, полученной от абонента в с использованием парного секретного симметричного ключа, сформированного по методу Диффи-Хеллмана в метрике эллиптических кривых.
- •5. Алгоритмы электронной цифровой подписи.
- •5.1. Алгоритм электронной цифровой подписи rsa (Райвест-Шамир-Адлеман).
- •5.2. Алгоритм электронной цифровой подписи Эль Гамаля (egsa). Egsa (el Gamal Signature Algorithm).
- •5. 3. Алгоритм электронной цифровой подписи dsa (Digital Signature Algorithm).
- •5.4. Алгоритм электронной цифровой подписи гост р34.10-94. (Отечественный стандарт электронной цифровой подписи).
- •5.5. Алгоритм электронной цифровой подписи гост р34.10-2001. (Отечественный стандарт электронной цифровой подписи).
2.2. Табличное шифрование методом перестановки по ключевому слову или фразе, задающими перестановку.
Выбирается ключевое слово или ключевая фраза (размер практически неограничен), например: в качестве ключевого слова выбрано: «АЛГОРИТМ».
Формируется шифрующая таблица.
А |
Л |
Г |
О |
Р |
И |
Т |
М |
1 |
4 |
2 |
6 |
7 |
3 |
8 |
5 |
П |
Р |
А |
И |
Н |
С |
Е |
I |
Р |
А |
Н |
С |
О |
О |
Н |
I |
Е |
З |
И |
Х |
Г |
О |
И |
I |
О |
О |
Е |
О |
О |
Б |
Я |
I |
Б |
В |
|
Д |
|
Щ |
I |
I |
Буквы ключевого слова нумеруются в алфавитном порядке, после чего столбцы исходного текста переставляются в порядке возрастания номера,
преобразованная таблица имеет вид:
А |
Г |
И |
Л |
М |
О |
Р |
Т |
1 |
2 |
3 |
4 |
I |
6 |
7 |
8 |
П |
А |
С |
Р |
I |
И |
Н |
Е |
Р |
Н |
О |
А |
I |
С |
О |
Н |
Е |
И |
О |
З |
I |
Х |
Г |
И |
О |
Е |
Б |
О |
I |
О |
О |
Я |
Б |
|
Щ |
В |
I |
Д |
|
I |
Зашифрованный текст выводится построчно:
«ПАСРIИНЕРНОАIСОНЕИОЗIХГИОЕБОIООЯБ ЩВIДI»
Рис. 2. Представление табличного шифрования с ключевым словом в АОС «АЛГОРИТМ».
2.3. Табличное шифрование методом двойной перестановки.
В этом случае столбцы и строки таблицы идентифицируются десятичными цифрами по выбору шифровальщика, что и будет являться ключом шифрования и дешифрования, например: «53714826 3142». Первые шесть цифр идентифицируют столбцы шифрующей таблицы, а вторые четыре строки.
Исходная таблица имеет вид:
|
5 |
3 |
7 |
1 |
4 |
8 |
2 |
6 |
3 |
П |
Б |
О |
И |
Х |
О |
О |
Е |
1 |
Р |
Р |
В |
Е |
О |
Г |
О |
Н |
4 |
Е |
А |
А |
И |
Д |
О |
Б |
И |
2 |
О |
З |
Н |
С |
Н |
С |
Щ |
Я |
Производится перестановка столбцов:
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
3 |
И |
О |
Б |
Х |
П |
Е |
О |
О |
1 |
Е |
О |
Р |
О |
Р |
Н |
В |
Г |
4 |
И |
Б |
А |
Д |
Е |
И |
А |
О |
2 |
С |
Щ |
З |
Н |
О |
Я |
Н |
С |
Производится перестановка строк:
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
1 |
Е |
О |
Р |
О |
Р |
Н |
В |
Г |
2 |
С |
Щ |
З |
Н |
О |
Я |
Н |
С |
3 |
И |
О |
Б |
Х |
П |
Е |
О |
О |
4 |
И |
Б |
А |
Д |
Е |
И |
А |
О |
Зашифрованное сообщение считывается по строкам: «ЕОРОРНВГСЩЗНОЯНСИОБХПЕООИБАДЕИАО».
Процесс дешифрования осуществляется в обратном порядке по ключу шифрования (дешифрования) - «53714826 3142». Сначала производится перестановка строк, а затем перестановка столбцов. Исходный текст выводится по столбцам.
2.4. Шифрование методом подстановки осуществляется заменой символов исходного (шифруемого) текста символами того же алфавита или любого другого алфавита в соответствии с выбранными правилами.
Простейшим примером является одноалфавитная подстановка, получившая название шифр Цезаря.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э
26 29 30 31 32 33
Ы Ю Я Ь Ъ Й
В качестве ключа шифрования выбирается число позиций, например 5.
0 1 2 3 4 5
А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ы Ю Я Ь Ъ Й
ЮЯ ЬЪ Й А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ы
Шифрование производится заменой символов алфавита верхней строчки на символы алфавита нижней строчки.
Например: исходный текст: «ПРЕОБРАЗОВАНИЕ ИСХОДНОГО СООБЩЕНИЯ» в зашифрованном виде отображается как «КЛАИЯЛЮВИЬЮЗГА ГМРИЙЗИЪИ МИИЯФАЗГШ». Процесс дешифрования осуществляется в обратном порядке.
Последующей модификацией одноалфавитной подстановки Цезаря является метод аффинной системы подстановок Цезаря.
В указанной системе шифрования производятся операции сложения и умножения по модулю m над элементами целых чисел множества Zm, т.е. производится отображение исходного множества на множестве Zm.
В общем виде алгоритм такого преобразования имеет вид:
Ea,b : Zm → Zm
Ea,b : t → Ea,b(t)
Ea,b(t) = a·t + b (mod m)
Где a,b – целые числа, 0 ≤ a,b < m, НОД (a,m) = 1.
При таком преобразовании в дальнейшем буква, соответствующая числу t заменяется на букву, соответствующую числовому значению (a·t + b) по модулю m. Такое преобразование однозначно и справедливо только в том случае, если наибольший общий делитель (НОД) чисел a и m равен единице, т.е. a и m должны быть взаимно простыми числами.
Например при работе с русским алфавитом модуль m (mod m) равен 32 (m=32), выберем a=3, b=5. В этом случае a и m взаимно простые числа НОД(a,m) = 1. НОД(3, 32) = 1.
Цифровая таблица преобразования имеет следующий вид:
t |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
3t+1 |
5 |
8 |
11 |
14 |
17 |
20 |
23 |
26 |
29 |
0 |
3 |
6 |
9 |
12 |
15 |
18 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
21 |
24 |
27 |
30 |
1 |
4 |
7 |
10 |
13 |
16 |
19 |
22 |
25 |
28 |
31 |
2 |
Подставляя в цифровую таблицу вместо цифр, соответствующие им буквы русского алфавита, получим таблицу подстановок элементов русского алфавита, т.е. будет установлено соответствие для букв открытого текста и шифртекста.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
А |
Б |
В |
Г |
Д |
Е |
Ж |
З |
И |
К |
Л |
М |
Н |
О |
П |
Р |
Е |
И |
М |
П |
Т |
Х |
Ш |
Ы |
Ь |
А |
Г |
Ж |
К |
Н |
Р |
У |
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
С |
Т |
У |
Ф |
Х |
Ц |
Ч |
Ш |
Щ |
Э |
Ы |
Ю |
Я |
Ь |
Ъ |
Й |
Ц |
Щ |
Ю |
Ъ |
Б |
Д |
З |
Л |
О |
С |
Ф |
Ч |
Э |
Я |
Й |
В |
Пример шифрования открытого текста с помощью аффинной подстановки Цезаря будет иметь вид:
Исходный открытый текст: «ПРЕОБРАЗОВАНИЕ ИСХОДНОГО СООБЩЕНИЯ».
Шифртекст: «РУХНИУЕЫНМЕКЬХ ЬЦБНТКНПН ЦННИОХКЬЭ».
Следующей разновидностью преобразований открытого текста методом подстановки является система шифрования Цезаря с ключевым словом, которая также является одноалфавитной системой подстановки. В этом случае преобразование открытого текста производится с помощью множества элементов естественного алфавита, которое образуется в результате смещения и изменения порядка расположения символов естественного алфавита (любой модификации или совокупности различных алфавитов) за счет введения ключевого слова или ключевой фразы.
В этом случае, ключевое слово или ключевая фраза подписывается под буквами естественного алфавита, начиная с выбранной позиции, которая также входит в состав ключа шифрования. Причем, из ключевого слова или ключевой фразы исключаются повторы одинаковых символов, например ключевая фраза «КОДИРОВАНИЕ ТЕКСТА» будет иметь вид: «КОДИРВАНЕ ТС».
Следовательно, соответствие между символами открытого алфавита и символами шифртекста определится как:
- выбирается смещение позиции ключевого слова или фразы К=5;
- строится таблица соответствия по правилу – ключевое слово или ключевая фраза подписывается под символами естественного алфавита, начиная с выбранной позиции (К=5), оставшиеся буквы естественного алфавита выписываются после ключевого слова в алфавитном порядке.
0 1 2 3 4 5
А |
Б |
В |
Г |
Д |
Е |
Ж |
З |
И |
К |
Л |
М |
Н |
О |
П |
Р |
Ю |
Я |
Ь |
Ъ |
Й |
К |
О |
Д |
И |
Р |
В |
А |
Н |
Е |
Т |
С |
С |
Т |
У |
Ф |
Х |
Ц |
Ч |
Ш |
Щ |
Э |
Ы |
Ю |
Я |
Ь |
Ъ |
Й |
Б |
Г |
Ж |
З |
Л |
М |
П |
У |
Ф |
Х |
Ц |
Ч |
Ш |
Щ |
Э |
Ы |
Полученная таблица преобразования символов в одноалфавитной системе подстановки (аффинной системе Цезаря) используется для шифрования открытого текста. Процесс восстановления исходного текста из шифртекста осуществляется в обратном порядке.
Например требуется зашифровать фразу: «ПРЕОБРАЗОВАНИЕ ИСХОДНОГО ТЕКСТА», в этом случае шифртекст будет иметь вид: «ТСКЕЯСЮДЕБЮНИК ИБЛЕЙНЕЪЕ ГКРЕГЮ».
Одноалфавитные монограммные таблицы Трисимуса позволяют осуществлять преобразования открытого текста по выбранному ключевому слову, для чего изначально определяется размер таблицы, исходя из количества букв в выбранном естественном алфавите. Для русского алфавита число таких букв 32, следовательно, одним из размеров шифрующей таблицы будет 4 строки и 8 столбцов.
Например, шифруется фраза: «ПРЕОБРАЗОВАНИЕ ИСХОДНОГО ТЕКСТА» по выбранному ключевому слову «АЛГОРИТМ». Сначала в таблицу вписывается ключевое слово, исключая повторы одинаковых букв, а затем в алфавитном порядке все остальные буквы алфавита. Шифрование открытого текста заменой буквы открытого текста на букву, расположенную ниже ее в том же столбце, если буква открытого текста оказалась в нижней строке таблицы, то выбирается буква в верхней строке того же столбца.
А |
Л |
Г |
О |
Р |
И |
Т |
М |
Б |
В |
Д |
Е |
Ж |
З |
К |
Н |
П |
С |
У |
Ф |
Х |
Ц |
Ч |
Ш |
Щ |
Э |
Ы |
Ю |
Я |
Ь |
Ъ |
Й |
Открытый исходный текст: «ПРЕОБРАЗОВАНИЕ ИСХОДНОГО ТЕКСТА».
Шифртекст: «ЩЖФЕПЖБЦЕСБШЗФ ЗЭЯЕУШЕДЕ КФЧЭКБ».
Наряду с простотой преобразования одноалфавитные шифры обладают существенным недостатком слабой криптостойкостью, т.к. криптоаналитические атаки, основанные на подсчете частот появления отдельных элементов алфавита в шифртекстах, позволяют распознать элементы открытого текста, а следовательно и весь зашифрованный текст.