Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции (3).doc
Скачиваний:
203
Добавлен:
28.06.2014
Размер:
508.93 Кб
Скачать

5.3.2. Асимметричная криптосистема rsa

  • параметры алгоритма

  • шифрование

  • расшифрование

  • доказательство корректности расшифрования

RSA – Rivest, Shamir, Adleman (RSA Data Security, Ronald Rivest).

Однонаправленная функция: pq = n, обратная операция – факторизация.

Параметры алгоритма: p, q, x, y

  1. выбрать достаточно большие простые p и q;

  2. n = pq;

  3. выбрать y: НОД(y, (n)) = 1

  4. выбрать x: xy = 1{mod (n)} (1)

Открытый ключ: (x, n)

Секретный ключ: (y, n)

p – открытый текст

c – шифртекст

Шифрование:

c = px{mod n}

если p  n, то разбиение текста на блоки, меньшие n.

Расшифрование: p = cy{mod n}

Док-во: (корректность расшифрования)

Доказать, что (px{mod n})y = p

(px{mod n})y = pxy{mod n} = (*)

(1)  xy = k(n) + 1 (kZ+)

(*) = pk(n)+1{mod n} = p(p(n){mod n})k = (теорема Эйлера) = p1k = p

5.3.3. Криптосистемы с открытым ключом

  • система Диффи и Хеллмана

  • система Эль Гамаля

  • эллиптические кривые

Система Диффи и Хеллмана

Однонаправленная функция: y = ax{mod p}

1 < a, x  p-1

p – простое число или степень простого числа

x = logay{mod p}

Пусть A и B хотят установить защищенный канал связи и обменяться секретными ключами. Они знают a и p.

  1. A: xA, yA= axA{mod p}

  2. B: xB, yB= axB{mod p}

  3. AB: yA

  4. BA: yB

  5. A: kA= yBxA{mod p}

  6. B: kB= yAxB{mod p}

Эта система не годится для ЭЦП.

Эль Гамаль (El Gamal)

Модификация системы Диффи и Хеллмана.

p – простое число или его степень

x – секретный ключ

g – открытый параметр (целое число)

m – открытый текст

Открытый ключ:

y = gx{mod p}

PK = (y, g, p)

Шифрование: выбирается k – случайное число (k < p, НОД(k, p-1) = 1)

Шифр состоит из 2 частей: C1, C2.

C1 = gk{mod p}

C2 = myk{mod p} или C2 = myk{mod p}

Расшифрование:

m = C1x{mod p}  C2 = (gk)x{mod p}  C2 = yk{mod p}  m  yk{mod p} = m

или

решение уравнения mC1x{mod p} = C2{mod p}

Эллиптические кривые

Эллиптическая кривая – множество точек {(x, y) | y2 = x3+ax+b}  {(, )}.

Однонаправленная функция – операция сложения для эллиптических кривых: A = B+C – получение по двум точкам некоторой 3-й, принадлежащей этой же кривой. Это простая операция. Задача нахождения C по A и B – сложная.

5.3.4. Применение асимметричной криптографии

5.3.4.1. Электронная цифровая подпись и ее применение

  • угрозы электронным документам

  • действия с ЭЦП

  • RSA

  • El Gamal

  • эллиптические кривые

  • свойства хеш-функций

  • современные хеш-функции

Угрозы электронным документам (ЭД):

  • подготовка документа от другого лица («маскарад»),

  • отказ автора от подготовки/рассылки документа (ренегатство),

  • подмена,

  • изменения, внесенные третьем лицом (активный перехват),

  • повторная передача того же документа.

Действия с ЭЦП:

M – подписываемый текст

  • получение

A: H(M), S = ESKA(H(M))

AB: M, S

  • проверка

B: H1 = DPKA(S)

H(M)

H(M) == H1

Алгоритмы ЭЦП:

  1. RSA

(y, n) – секретный ключ, (x, n) – открытый ключ

p – сообщение

Получение ЭЦП: c = My{mod n}

Проверка ЭЦП: cx = M{mod n}

  1. El Gamal (DSA, ГОСТР34.10-94)

p – простое число (или степень)

x – секретный ключ

g – некоторое целое число (1  x, g < p)

y = gx{mod p}

k – случайное число, НОД(k, p-1) = 1

Получение ЭЦП:

c1 = gk{mod p}

из уравнения M = xc1+kc2{mod p-1} (1) находится c2

ЭЦП: c1||c2

Проверка ЭЦП:

проверка равенства yc1c1c2 = gM{mod p}

yc1c1c2{mod p} = gxc1gkc2{mod p} = gxc1+kc2{mod p} = (*)

из (1): xc1+kc2 = n(p-1) + M (nZ+)

(*) = gMgn(p-1){mod p} = gM(gp-1{mod p})n{mod p} = gM{mod p} (малая теорема Ферма)

  1. эллиптические кривые

Дополнительно к операции сложения вводится операция умножения:

Y = xG = G + G + … + G (x раз) (2)

x – секретный ключ

(Y, G, g, a, b) – открытый ключ (a, b – параметры эллиптической кривой)

G вводится из соотношения gG = 0 (g – такое число, при котором gG = 0, степень точки).

Получение ЭЦП:

выбор k: 0 < k < g

C = kG

r = Cx{mod g} (Cx – x-координата точки C) (3)

s = rx + kM{mod g}

ЭЦП – (r, s)

Проверка ЭЦП:

v = M-1{mod g}

z1 = sv{mod g}

z2 = -rv{mod g}

C = z1G + z2Y

r = Cx{mod g}

r == r

Док-во:

z1 = rXP-1 + kPP-1{mod g} = rXP-1 + k{mod g}

z2 = –CxP-1{mod g}

z1G + z2Y = rP-1x{mod g}G + kG – CxP-1{mod p}Y = см. (2), (3) =

CxP-1{mod g}Y + kG – CxP-1{mod g}Y = kG = C

Свойства хеш-функции:

  1. p длинаH(p) – const,

  2. p1= p2H(p1) = H(p2),

  3.  H-1p = H-1(H(p)),

  4. (*) p1p2 H(p1)  H(p2).

4 – очевидно невозможно. Это свойство нужно понимать в практическом смысле:

  • любые min изменения в тексте должны изменять хеш-значение (чувствительность к незначительным изменениям);

  • невозможность за приемлемое время взломать хеш-значение на современном уровне развития ИТ.

Современные хеш-функции:

  • MD2, MD4, MD5: 128 бит(MD – Message Digest,автор– Ronald Rivest);

  • SHA (Secure Hash Algorithm): 160 бит;

  • RIPEMD (Raise Integrity Primitive Evaluation Message Digest): 128-160 бит;

  • ГОСТ Р 34.11-94: 256 бит.

Разновидности хеш-функций – функции имитовставки.