
- •Методы защиты информации в компьютерных технологиях Москва 2011
- •1. Основные направления криптологии.
- •2. Методы криптографических преобразований с открытым ключом.
- •2.1. Алгоритм нахождения числа по модулю.
- •2.2. Вычисление обратных величин в модулярной алгебре.
- •2.3. Алгоритм операции возведения числа в степень по модулю.
- •2.4. Определение односторонней функции.
- •3. Алгоритмы формирования и функционирования криптографических систем с открытым ключом.
- •3.1. Алгоритм криптографической системы rsa (Райвест-Шамир-Адлеман).
- •3.2. Алгоритм криптографической системы на основе вычисления дискретных логарифмов в конечном поле – алгоритм Эль Гамаля.
- •3.3. Алгоритм функционирования криптографической системы на основе дискретного логарифмирования в метрике эллиптических кривых.
- •3.3.1. Основные операции криптографических преобразований в метрике эллиптических кривых.
- •3.4. Преобразование Диффи-Хеллмана в системах криптографии с открытым ключом.
- •XcxпШифратор
- •3.5. Формирование криптограмм открытых сообщений и их дешифрование с использованием методов дискретного логарифмирования в метрике эллиптических кривых.
- •4.1. Вычисление множества точек удвоения заданной эллиптической кривой.
- •4.1.3. Вычисление координат точки [8]g, как результат удвоения точки [4]g:
- •4.1.4. Вычисление координат точки [16]g , как результат удвоения точки [8]g:
- •4.1.5. Вычисление координат точки [32]g , как результат удвоения точки [16]g:
- •4.1.6. Вычисление координат точки [64]g , как результат удвоения точки [32]g:
- •4.1.7. Вычисление координат точки [128]g , как результат удвоения точки [64]g:
- •4.2. Вычисление композиций точек удвоения [4]g; [8]g; [32]g; [64]g; [128]g заданной эллиптической кривой.
- •5. Алгоритм формирования открытого ключа абонента в.
- •5.1. Вычисление множеств точек удвоения заданной эллиптической кривой.
- •5.1.3. Вычисление точки [8]g, как результат удвоения точки [4]g:
- •5.1.4. Вычисление точки [16]g , как результат удвоения точки [8]g:
- •5.1.5. Вычисление точки [32]g , как результат удвоения точки [16]g:
- •5.1.6. Вычисление точки [64]g , как результат удвоения точки [32]g:
- •5.1.7. Вычисление точки [128]g , как результат удвоения точки [64]g:
- •5.2. Вычисление композиций различных точек удвоения заданной эллиптической кривой ( [2]g; [4]g; [16]g; [32]g; [128]g ).
- •6. Вычисление парного сеансового ключа шифрования-дешифрования для абонентов а и в на основе преобразований Диффи-Хеллмана.
- •6.1. Действие абонента в.
- •6.1.1. Вычисление точки [2]коа , как результат удвоения точки коа:
- •6.2. Вычисление композиций различных точек удвоения заданной эллиптической кривой: [2]коа; [4] коа; [16] коа; [32] коа; [128]коа).
- •7. Дешифрование абонентом а криптограммы, полученной от абонента в с использованием парного секретного симметричного ключа, сформированного по методу Диффи-Хеллмана в метрике эллиптических кривых.
- •7.1. Вычисление удвоений множества точек заданной эллиптической кривой на стороне абонента «а» по значению точки ков, характеризующей открытый ключ абонента «в».
- •7.1.1. Вычисление значения удвоения точки ков – [2]ков:
- •7.2. Вычисление композиций различных точек удвоения заданной эллиптической кривой: [4]ков; [8]ков; [32]ков; [64]коа; [128]ков).
- •7. 3. Дешифрование абонентом «а» криптограммы с, полученной от абонента «в».
- •4. Алгоритмы электронной цифровой подписи.
- •4.1. Алгоритм электронной цифровой подписи rsa (Райвест-Шамир-Адлеман).
- •4.2. Алгоритм электронной цифровой подписи Эль Гамаля (egsa). Egsa (el Gamal Signature Algorithm).
- •4. 3. Алгоритм электронной цифровой подписи dsa (Digital Signature Algorithm).
- •4.4. Алгоритм электронной цифровой подписи гост р34.10-94. (Отечественный стандарт электронной цифровой подписи).
- •4.5. Алгоритм электронной цифровой подписи гост р34.10-2001. (Отечественный стандарт электронной цифровой подписи).
- •3.1. Вычисление множества точек удвоения заданной эллиптической кривой.
- •3.1.3. Вычисление координат точки [8]g, как результат удвоения точки [4]g:
- •3.1.4. Вычисление координат точки [16]g , как результат удвоения точки [8]g:
- •3.1.5. Вычисление координат точки [32]g , как результат удвоения точки [16]g:
- •3.1.6. Вычисление точки [64]g , как результат удвоения точки [32]g:
- •3.1.7. Вычисление точки [128]g , как результат удвоения точки [64]g:
- •3.2. Вычисление композиций точек удвоения [4]g; [8]g; [32]g; [64]g; [128]g заданной эллиптической кривой.
- •4. Действие абонента-отправителя (абонента «а») по формированию электронной цифровой подписи электронного сообщения «м».
- •4.3.2. Вычисление композиций точек удвоения [256]g; [64]g; [16]g; [8]g; [2]g; g заданной эллиптической кривой.
- •4.3.2.3. Вычисление композиции точек [336]g и [8]g;
- •4.3.2.4. Вычисление композиции точек [344]g и [2]g;
- •4.3.2.5. Вычисление композиции точек [346]g и g;
- •4.5. Вычисление параметра электронной цифровой подписи Si .
- •5. Действия абонента «в» по приему и аутентификации подписанного электронного сообщения «м».
- •5.5.2. Вычисление композиции точек [32]g и [8]g;
- •5.5.3. Вычисление композиции точек [40]g и [4]g;
- •5.5.5. Вычисление композиций точек удвоения
- •5.5.5.1. Вычисление композиции точек [128]коа и [64]коа;
- •5.5.5.2. Вычисление композиции точек [192]коа и [32]коа;
- •5.5.5.3. Вычисление композиции точек [224]коа и [2]коа;
- •5.5.5.4. Вычисление композиции точек [u1]g и [u2]коа;
- •5.5.5.5. Сравниваются вычисленные значения параметра «r», принятого в составе эцп от абонента-отправителя и значения абсциссы точки «q» → «xq», вычисленное абонентом получателем.
- •6. Элементы симметричных криптографических преобразований.
- •6.2. Табличное шифрование методом перестановки по ключевому слову или фразе, задающими перестановку.
- •6.3. Табличное шифрование методом двойной перестановки.
- •6.5. Шифры сложной замены.
- •7. Корректирующие коды.
- •6. 1. Блочные коды.
- •6.1.1. Систематические коды.
- •6.1.2. Корректирующие коды с обнаружением искажений, применяемые в системах передачи и обработки информации.
- •7. Windows-кодирование.
- •7.1. Преобразование Windows-кодирования - коды Грея.
- •7.2. Преобразование Windows-кодирования в систематические коды.
- •7.3. Преобразование Windows-кодирования в коды Хэмминга.
- •7.5. Преобразование Windows-кодирования в коды Боуза-Чодхури-Хоквингема (бчх).
6.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». Сначала производится перестановка строк, а затем перестановка столбцов. Исходный текст выводится по столбцам.
6.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 столбцов.
Например, шифруется фраза: «ПРЕОБРАЗОВАНИЕ ИСХОДНОГО ТЕКСТА» по выбранному ключевому слову «АЛГОРИТМ». Сначала в таблицу вписывается ключевое слово, исключая повторы одинаковых букв, а затем в алфавитном порядке все остальные буквы алфавита. Шифрование открытого текста заменой буквы открытого текста на букву, расположенную ниже ее в том же столбце, если буква открытого текста оказалась в нижней строке таблицы, то выбирается буква в верхней строке того же столбца.
А |
Л |
Г |
О |
Р |
И |
Т |
М |
Б |
В |
Д |
Е |
Ж |
З |
К |
Н |
П |
С |
У |
Ф |
Х |
Ц |
Ч |
Ш |
Щ |
Э |
Ы |
Ю |
Я |
Ь |
Ъ |
Й |
Открытый исходный текст: «ПРЕОБРАЗОВАНИЕ ИСХОДНОГО ТЕКСТА».
Шифртекст: «ЩЖФЕПЖБЦЕСБШЗФ ЗЭЯЕУШЕДЕ КФЧЭКБ».
Наряду с простотой преобразования одноалфавитные шифры обладают существенным недостатком слабой криптостойкостью, т.к. криптоаналитические атаки, основанные на подсчете частот появления отдельных элементов алфавита в шифртекстах, позволяют распознать элементы открытого текста, а следовательно и весь зашифрованный текст.