6_Gomomorfnoe_shifrovanie
.pdf
КС Эль-Гамаля с аддитивным гомоморфизмом
Шифрование
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 .
