Криптосистема без передачи ключей.
Пусть абоненты А. В. С... условились организовать между собой секретную переписку. Для этой цели они выбирают достаточно большое простое число р такое, что р — 1 хорошо разлагается на не очень большие простые множители, а за тем каждый m абонентов независимо один от другого выбирает себе некоторое натуральное число, взаимно простое с р — 1, Пусть число абонента А п, абонента В Ь и т.д. Числа <ь Ь. ... составляют первые секретные ключи соответствующих абонентов. Вторые секретные ключи (а для .4, '3 для В и т,д,( находятся m уравнений: для A m па = 1 (mod rip ))- ^ < о. < р— 1: для В in Ы = 1 (mod у{р)). 0 < }3 < р — 1 и т.д. Пересылаемые сообщения, коды-числа, должны быть меньше р — I , В случае, когда сообщение больше или равно р—1. оно разбивается на части таким образом. чтобы каждая часть была числом, меньшим р — 1.
Предположим абонент А решил отправить сообщение т [т < р — 1) В. Для этого он сначала зашифровывает свое сообщение ключом а1, получая по формуле m 1 ≡ m 0 (mod р) шифрованное сообщение m 1 , которое отправляется В. В, получив m 1, «зашифровывает его своим ключом b,получая по формуле т2 ≡ (mod р) шифрованное сообщение т2, которое отправляется обратно к А. А шифрует полученное сообщение ключом α по формуле (mod p ) и окончательно отправляет m3 к В. В, используя ключ β, сможет теперь расшифровать исходное сообщение m . Действительно, (mod p ), т.к. аαbβ ≡ 1 (modφ(р)),следовательно, аαbβ = kφ (р)+ 1 для некоторого целого kи (mod p), т.к. (mod р) по теореме Эйлера-Ферма.
|
|
Пример. Абоненты А и В вместе выбрали р = 23 (φ (23) = 22), А выбрал а = 5, a В b= 7. Затем из уравнения 5α≡ 1 (mod φ (23)) А находит α = 9, а В из подобного уравнения находит β= 19. При передаче сообщения т = 17 от А к В сначала А отправляет к В т1 ≡ 175 ≡ 21 (mod 23), из т1 =21 В вычисляет т2 ≡217 ≡10 (mod 23) и отправляет его обратно А, из m2 =10 А вычисляет для В m3 ≡ 109 ≡ 20 (mod 23), наконец, В может прочитать посланное ему сообщение 2019 ≡ 17 (mod 23).
Криптосистема с открытым ключом.
Первую и наиболее известную систему с открытым ключом разработали в 1978 году американцы Р. Ривест (Rivest R.), Э, Шамир (Shamir А.), иЛ. Адлеман (Adleman L.). По их именам эта система получила название RSA.
Пусть абоненты А и В решили организовать для себя возможность секретной переписки. Для этого каждый из них независимо выбирает два больших простых числа ( pa 1, p а2 и рβ1, рβ2 ), находит их произведение (rА и rВ), функцию Эйлера от этого произведения (φ(rА) и φ(rВ))и случайное число (а и b ), меньшее вычисленного значения функции Эйлера и взаимно простое с ним. Кроме того, А из уравнения aα ≡1 (mod φ(rА))находит α (0 < α< φ(rА)), а В из уравнения bβ≡1 (mod φ(rВ)) находит β(0 < β < φ(rВ)). Затем А и В печатают доступную всем книгу паролей вида:
|
|
Теперь кто угодно может отправлять конфиденциальные сообщения А или В. Например, если пользователь книги паролей хочет отправить сообщение т для В (т должно быть меньшим rВ, или делиться на куски, меньшие rВ), то он использует ключ b из книги паролей для получения шифрованного сообщения m 1 по формуле т1 = ть (mod r в), которое и отправляется В. В для дешифровки т1 использует ключ β в формуле (mod rВ), т. К. bβ≡ 1 (mod φ(rВ)), следовательно, bβ= k φ(rВ)+ 1 для некоторого целого k и (mod rВ), т.к. 1 (mod rВ ) пo теореме Эйлера-Ферма. Доказано, что задача нахождения секретного ключа β по данным аз книги паролей имеет ту же сложность, что и задача разложения числа rВна простые множители.
Пример, Пусть для А рА1 = 7 и р А2 = 23. тогда rА = рА1 р А2 = 161, φ (161)= 6 *22 = 132, а = 7, α = 19 (из уравнения 7 α ≡1 (mod 132)). Следовательно, запись в книге паролей для А будет иметь вид А: 161, 7. Если кто-то захочет отправить А секретное сообщение m = 3, то он должен сначала превратить его в шифровку т1 по формуле т1≡37 ≡ 94 (mod 161). Когда А получит т1= 94 он дешифрует его по формуле m ≡9419 ≡3 (mod 161).
Электронная подпись.
|
|
Криптосистема с открытым ключом открыта для посылки сообщений для абонентов из книги паролей для любого желающего. В системе с электронной подписью сообщение необходимо "подписывать", т.е. явно указывать на отправителя из книги паролей.
Пусть W 1 ,W 2… Wn абоненты системы с электронной подписью. Все они независимо друг от друга выбирают и вычисляют ряд
чисел точно так же как и в системе с открытым ключом. Пусть i-ый абонент (1 ≠ i ≤n) выбирает два больших простых числа pi 1 и р i 2 , затем вычисляет их произведение ri = pi 1 р i 2 и функцию Эйлера от него φ(ri), затем выбирает первый ключ аi из условия 0 < аi , < φ(ri), НОД(аi, φ(ri)) = 1 и, наконец, вычисляет второй ключ αi из уравнения аi αi ≡ 1 (mod φ(ri)). Записи в книге паролей будет иметь вид:
Если абонент W 1 решает отправить секретное письмо m W 2 то ему следует проделать следующую последовательность операций:
1) Если m > min(r1,r2). то m разбивается на части, каждая из которых меньше меньшего из чисел r1 и r2 ;
2) Если r1 < r2 то сообщение m сначала шифруется ключом α1 (m1≡mα1)(mod r1)), а затем ключом а2 (m2≡ )(mod r2))? если же r1 > r2, то сообщение m сначала шифруется ключом а2 (m1≡ ) (mod r2)) а затем ключом (mod r1));
|
|
3)Шифрованное сообщение m2отправляется W 2 .
W2для дешифровки сообщения m2 должен знать, кто его отправил, поэтому к m2 должна быть добавлена электронная подпись, указывающая на W 1 . Если r1 < r2 то для расшифровки m2 сначала применяется ключ α2 ,а затем а1 ,если же r1 > r2 то для расшифровки т2 сначала применяется ключ а1 ,а затем α2 . Рассмотрим случай r1 < r2 : (mod r2 )и (mod r2) по теореме Эйлера-Ферма.
Пример. Пусть W 1 выбрал и вычислил следующие числа р11= 7, р12 =13, r1 = р11 р12 =91, φ(91) = 72, а1 = 5, α1 = 29, а W 2 следующие р21 = 11, р 22 = 23, r2 =253, φ(253) = 220, а2 = 31, α2 = 71. После занесения записей о W 1 и W 2 в открытую книгу паролей. W 1 решает послать сообщение ш = 41 для W 2. Т.к. /'2 > i ' i - го сообщение сначала шифруется ключом п\. а затем ключом oj: '»1 = 4Г1 = () (mod 91). ш 2 = И'1 = 04 (mod 2o3j. Сообщение т 2 отправляется Uri. Получив /«2 = 94. W 2. зная, что оно пришло от W 1- дешифрует его сначала ключом <\< i . а затем ключом ai: 94'il (mod 253) = fi. (i2n (mod Dl'i =41.
Если подписать сообщение открытым образом, например, именем отправителя, то такая "подпись" будет ничем не защищена от подделки. Защита электронной подписи обычно реализуется с использованием таких же методов, что в криптосистеме с открытым ключом,
Электронная подпись генерируется отправителем по передаваемому сообщению и секретному ключу. Получатель сообщения может проверить его аутентичность по прилагаемой к нему электронной подписи и открытому ключу отправителя.
Стандартные системы электронной подписи считаются настолько надежными, что электронная подпись юридически приравнена к рукописной. Электронная подпись часто используется с открытыми, незашифрованными электронными документами.
Стандарт шифрования данных.
В 1977 году в США был предложен стандарт для шифрования данных DES (Data Encryption Standard), разработанный в IBM. В 1980 он был одобрен ведущей мировой организацией по стандартам ANSI. В настоящее время алгоритм DES широко используется для защиты коммерческой информации.
DES это классическая криптосистема с открытым способом шифровки и дешифровки, секретность которой обеспечивается исключительно ключом. Основные достоинства DES:
• используется только один ключ фиксированной длины 55 бит (в системах с открытым ключом длина ключа должна быть более 300 бит):
• зашифровав сообщение с помощью одной программы, для расшифровки можно использовать другую:
• относительная простота алгоритма обеспечивает высокую скорость работы (как минимум, на порядок выше скорости работы алгоритма для криптосистемы с открытым ключом);
• достаточно высокая стойкость алгоритма (стойкость конкретного зашифрованного сообщения зависит от выбора ключа). Главный недостаток DES связан с его классической организацией, т.е. с необходимостью обеспечивать сверхнадежный канал для передачи ключей.
Алгоритм DES предназначен для шифровки ровно 64 бит исходных данных более длинные сообщения должны разбиваться на части длиной 64 бита, а более короткие дополняться нулями или пробелами. Собственно шифровка и дешифровка обеспечивается многократными битовыми перестановками в исходном сообщении, определяемыми стандартными перестановочными матрицами и ключом.
Примером программы, реализующей алгоритм DES. является программа DISKREET из пакета Norton Utilities.
Дата добавления: 2022-01-22; просмотров: 34; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!