Основные современные криптографические методы защиты электронной документации. Методы кодирования и шифрования в криптографии, страница 24

Ключ ………………......Ж  З   И   Г     Д  Е   Ж  З     И   Г  Д  Е     Ж  З  И   Г 

Зашифрованный текст ..О  З  Б  М       Ц  Е  П  Ф      Ь  С  Ф  С    Ж  Э  С  М

Зашифрованный текст ..З  А  Щ  И     Т  А   И  Н    Ф  О  Р  М     А  Ц  И  И

Исходный текст …….....З  А  Щ  И  Т  А     И  Н  Ф  О  Р  М  А  Ц  И  И

8.4.ШИФРОВАНИЕ С ПОМОЩЬЮ ДАТЧИКОВ СЛУЧАЙНЫХ ЧИСЕЛ

Датчик случайных чисел – это специальная программа, генерирующая последовательность чисел, являющуюся непосредственно ключом,  исходя из заданных начальных значений.

Линейный генератор случайных чисел вырабатывает случайные числа по случайному закону:

В случае линейного датчика используетсяматематическая операция деления по модулю, результатом которой являетсяостаток от целочисленного деления числа на модуль.

Например:         5mod4 = 1,      9mod4 = 1,     13mod4 = 1.

При шифровании коды букв исходного текста и числа ключа переводятся в двоичный код, а затем производится операция   побитового сложения по модулю 2.

При расшифровке повторно генерируется ключ, а затем производится собственно расшифровка.

Операцией побитового сложения по модулю 2 называется операция, выполняемая над каждыми двумя битами слагаемых отдельно по следующим правилам:

0 + 0 = 0,        0 + 1 = 1,          1 + 0 = 1,         1 + 1 = 0.

Пример 6:       слово: ПРОЕКТ,     

ключ – по алгоритму :      Тi + 1  = [ATi + C]modM = [5Ti + 3]mod 8,

где А = 5, С = 3, М = 2b-1 при b = 4, a порождающее число Т0 = 4:

Т0 = 4

Т1 = [5*4 + 3]mod 8 = 23mod8 = 7

Т2 = [5*7 + 3]mod 8 = 38mod8 = 6

Т3 = [5*6 + 3]mod 8 = 33mod8 = 1        

Т4 = [5*1 + 3]mod 8 = 8mod8 = 0

Т5 = [5*0 + 3]mod 8 = 3mod8 = 3

Т6 = [5*3 + 3]mod 8 = 18mod8 = 2.

Т.о. ключ:      7, 6, 1, 0, 3 , 2.

Слово:           П          Р           О         Е        К           Т

                                 16         17          15        6        11          19

                             10000    10001    1111     110     1011      10011

Ключ:             7        6         1        0       3         2

                                 111     110       1        0     11       10

Побитовое сложение по модулю 2:

10000      10001     01111     00110     01011      10011

+             +              +             +           +            +

00111      00110      00001    00000     00011      00010

10111      10111      01110    00110     01000      10001

Перевод в десятичный код:

10111     10111    01110   00110    01000    10001

                               23           23          14          6            8        17  -  это шифротекст.

Расшифровка:  складываются двоичные коды шифра и ключа, результаты переводятся в десятичную систему и вычисляются соответствующие коды букв.

8.5. КРИПТОГРАФИЧЕСКИЕ СИСТЕМЫ ШИФРОВАНИЯ

С ОТКРЫТЫМ КЛЮЧОМ

 (ИЛИ ДВУХКЛЮЧЕВЫЕ СИСТЕМЫ ШИФРОВАНИЯ)

Наиболее перспективными системами криптографической защиты являются системы с открытым ключом. В таких системах для зашифрования данных используется один ключ, а для расшифрования – другой. Один их ключей (все равно какой) является открытым и может быть использован всеми абонентами сети, а второй ключ является секретным и может быть известным только абоненту, создавшему его. Ключи необходимо подбирать так, чтобы один не мог быть определен из другого.

Одним из наиболее известных двухключевых методов является метод RSA, названный  по фамилиям его изобретателей (Rivest, Shamir, Adlеman) и включающий в себя два этапа шифрования:  – это 1 этап – генерация ключей и 2 этап – шифрование. Метод основан на решении задачи поиска делителей простых чисел.

Простым называется такое целое число, которое делится только на 1 и на самого себя.

Взаимно простыми числами называют целые числа, которые не имеют ни одного общего делителя, кроме 1.

Под результатом операции imodj понимают остаток от целочисленного деления  i на  j.

        Пример 6.

1 этап – генерация ключей, состоит из следующих шагов: