Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Генератор псевдослучайных чисел.docx
Скачиваний:
4
Добавлен:
16.11.2019
Размер:
26.06 Кб
Скачать

Стандартный шифр сша. Des,

Исходный текст, представленный в 2-ом коде, разбивается на группы по 64 бита. В каждой группе символы сообщения представляются в определенном порядке. Переставленная последовательность разбивается на левую и правую часть по 32 бита. Затем идет процесс шифрования для правой и левой части:

    1. 1

    1. 2

    1. 3

    1. .

    1. .

    1. .

    1. 64

        1. L-32

        1. R-32

    1. L (i)= R (i-1), i= 1, 2…32

    2. R (i)= L (i-1) + f (R (i-1), K (i)), i= 1, 2…32

K (i) – специальный 48- битный ключ, получаемый по специальным правилам из 64- битного ключа

f – получается также по специальным правилам

Получим L|R затем части переставляются, и получается одно 64-битное сообщение R|L.

Расшифровка производится в инверсном порядке:

    1. 1

    1. 2

    1. 3

    1. .

    1. .

    1. .

    1. 64

        1. L-32

        1. R-32

    1. R (i-1)= L (i), i= 1, 2…32

    2. L (i-1)= R (i) + f (L (i), K (i)), i= 1, 2…32

    3. L R R L

Шифрование с открытым ключом

В этих системах используется 2 ключа. Один – для шифровки – несекретный, другой – дешифровки – секретный.

Метода RSA River, Shamir, Adleman.

Под простым числом будем понимать число, которое делится только на 1 и на само себя.

Взаимно простые числа – числа, не имеющие общий делитель, кроме 1.

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

Алгоритм генерации открытых и закрытых ключей.

  1. Выбирают 2 очень больших взаимно простых числа p и q.

  2. Выбирают число n, как результат умножения p на q: n= p * q

  3. Выбирают большое случайное число d, оно должно быть взаимно простым с результатом умножения (p-1)*(q-1)

  4. Определяем такое число е, для которого истинным будет соотношение: (e*d)mod(p-1)*(q-1)= 1.

  5. Назовем открытым ключом числа {e, n}, а секретным ключом - {d, n},

Шифрование

  1. Разбить шифруемый текст на блоки, каждый из которых можно представить в виде последовательности M (i)= a1…a(n-1).

  2. Зашифровать данный текст, как последовательность чисел M(i) по формуле C (i)= (M (i) e) mod n

Дешифрование

Вычисляют M (i)= (C (i) d) mod n

  1. Пример

    1. Алгоритм

  1. p= 3, q= 11

  2. n= p * q= 33

  3. (p-1)(q-1) = 2* 10= 20: d= 3

  4. (e*3) mod 20 =1: e= 7

  5. {7,33} – открытый ключ; {3,33} – закрытый ключ

Шифрование CAB (каждая буква - группа) САВ=3,1,2, шифруем при ключе {7,33}.

С (1)=(37) mod 33 = 2187 mod 33 = 9

С (2)=(17) mod 33 = 1 mod 33 = 1

С (3)=(27) mod 33 = 128 mod 33 = 29

Дешифрование при ключе {3,33}.

M

CAB

(1)=(93) mod 33 = 729 mod 33 = 3

M (2)=(13) mod 33 = 1 mod 33 = 1

M (3)=(293) mod 33 = 24389 mod 33 = 2