Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

6_Gomomorfnoe_shifrovanie

.pdf
Скачиваний:
13
Добавлен:
25.06.2024
Размер:
2 Мб
Скачать
☆

КС Эль-Гамаля с аддитивным гомоморфизмом

Шифрование

1.Сообщение М представляется в виде цепочки чисел , каждое из которых не превосходит − 1;

2.Выбирается элемент поля b, имеющий порядок > |M|

3.Выбирается случайное число , 1 ≤ ≤ − 2;

4.Вычисляется =

 

, =

 

 

 

 

 

;

 

 

 

 

 

 

 

 

 

5.Получена криптограмма =

, .

 

 

 

 

 

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

 

 

 

1. С использованием закрытого

 

ключа, вычисляется

−;

= (

 

).

2.Восстанавливается сначала

−

 

 

 

− = − = .

3.Затем путем логарифмирования восстанавливается сообщение

= log ( )

Гомоморфное свойство системы Эль-Гамаля с аддитивным гомоморфизмом

Предположим, что мы имеем два зашифрованных

сообщения C1 и C2

C (

,

)

1

1

1

 

алгоритмом Эль-Гамаля,

C

(

,

)

2

2

2

 

Найдем произведение криптограмм:

 

b

 

 

g

 

)

C C

 

(

,

)(

 

,

 

) (

 

,

 

) (

 

, b

M

1

g

ak

M

2

ak

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

2

1

1

 

2

 

2

1

2

1

2

1

2

 

 

 

 

 

 

 

 

 

 

 

(

 

, b

M

M

2

g

ak

g

ak

2

)

 

 

 

1

 

 

1

 

 

 

1

2

 

 

 

 

 

 

 

 

 

 

Расшифруем общую криптограмму:

(

 

)

a

 

 

 

a

 

 

 

 

 

 

g

ak

b

 

M

 

g

 

g

ak

 

g

 

 

) b

 

M

 

 

 

 

 

 

 

 

 

 

a

 

 

 

M

2

 

ak

 

2

 

ak

2

 

M

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

 

 

1

 

 

 

 

 

1

 

1

2

 

 

1

2

 

1

 

1

 

2

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

logb (bM1 M 2 ) M1 M 2

Эта КС Эль-Гамаля гомоморфна относительно операции сложения открытых сообщений

Системы Рабина и ее гомоморфизм

•Закрытый ключ простые числа p,q

•Открытый ключ n=pq Шифрование C=M2modn

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

r

C mod p

s

C mod q

и далее решение 4-х систем уравнений, получение 4-х решений: М1, М2, М3, М4.

• Гомоморфное свойство КС Рабина:

Предположим, что мы имеем два зашифрованных сообщения C1 и C2 алгоритмом Рабина,

C (m

2

mod n)

1

1

 

C (m

2

 

mod n)

 

2

1

 

 

Найдем произведение криптограмм:

C C

2

2

 

2

2

(m

mod n)(m

mod n) (m m )

mod n M1 mod n

1

2

1

2

1

2

 

Расшифруем общую криптограмму:

(C1C2 )1/2 mod n (M1, M 2, M 3, M 4) .

Одно из решений является истинным Mi=m1m2

3.Криптосистема Пэйе

(Paillier 1999г.)

Математические основы

•НОД(a,b)-наибольший общий делитель - gcd(a,b)

•НОК(a,b) – наименьшее общее кратное (lcm(a,b)) – наименьшее целое, которое делится на оба числа без остатка

lcm(4,6)=12, lcm(4,14)=28. Замечательный факт lcm(a,b)=ab/gcd(a,b).

Пусть n=pq, p и q - простые числа . Тогда функция Кармайкла

 

 

 

 

(n) lcm( p 1, q 1)

 

Z

n

 

- множество целых чисел по модулю n,

 

 

 

 

Z

 

-множество целых чисел взаимно простых с n, это

n

 

 

 

множество состоит из чисел (n),

 

Z

 

 

 

2

n2

- множество целых чисел взаимнопростых с n -это

 

 

множество состоит из n (n) чисел.

 

Пример построения подмножеств

Zn

 

Z

n

 

 

Z

2

n

 

: 0, 1, 2, 3, 4, 5

n=6

 

 

 

: 1, 5

(n) 2

 

 

 

 

 

 

 

: 1, 5, 7, 11, 13, 17,19, 23, 29, 31, 33, 35

n

2

36

 

 

 

 

 

n (n) 6 2 12

3.Криптосистема Пэйе (Paillier 1999г.)

Генерация ключей

1. Выбираются p и q — два больших простых числа, такие что gcd , − 1 ( −

 

( p 1)(q 1)

gcd( p 1, q 1)

 

Способы выбора g

•1. Случайно выбрать g из множества удовлетворяющее условию

 

g

 

mod n

2

1

 

gcd(

 

 

, n) 1

 

 

n

 

 

 

 

 

 

 

 

 

,

Z

2

n

 

 

(1)

Вероятность выполнения условия (1) высока.

• 2. Случайно выбрать

 

и

 

из множества

 

 

 

вычислить

g ( n

1)

n

mod n

2

 

 

Z

 

n

 

, затем

В этом случае выбранное g всегда удовлетворяет условию

(1).

Шифрование

• Для шифрования открытого текста m Zn выполняются следующие действия:

1. Выбирается случайное число k из ;

2. Вычисляетсякриптограммапо формуле:

= m ∙ 2

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

•Дешифрование криптограммы производится по формуле:

•′ = λ 2 .

Соседние файлы в предмете Криптографические протоколы