Криптографические протоколы

advertisement
Ментальный покер
Задача
Участники
A, B
Раздача карт:
Карты
α, β, γ
Описание протокола
0.
 Отображение:
p
 A: p – большое простое число. А
A: CaDa mod (p-1) = 1
 B: CbDb mod (p-1) = 1
B
1. A:
(Перемешивание)
B
А
2. B:
(Случайный выбор)
B
A:
A
- карта A
3. B:
(Перемешивание)
B
A
4. A:
(Случайный выбор)
A:
A
B
B:
z – карта B
Пример:
0.

 A: Ca = 7 Da = 19
 B: Cb = 9 Db = 5
1. A:
(Перемешивание)
B
А
2. B:
2 17 13
(Случайный выбор)
17
B
A:
3. B:
A
- карта A
(Перемешивание)
B
A
4. A:
3
6
(Случайный выбор)
A:
A
B
B:
– карта B
- карта в прикупе
<shuffle.cpp>
Электронные деньги
Чаум (Chaum)
 Покупатель
 Магазин
 Банк
Банк




P,Q – большие простые числа
N=P*Q
φ= (P-1)*(Q-1)
c,d : cd mod φ = 1 , d< φ, gcd(d, φ) = 1
Закрытый ключ
c
Открытый ключ
d, N
<n,s>
Магазин
Клиент
2<=n<=N-1
s=nc mod N
s
<n,s>
Банк
n
<n,s>
2<=n<=N-1
Магазин
Клиент
n’=n*rd mod N
n
s’=n’c mod N=
nc*rcd mod N
<n,s>
s’
Банк
n’
Слепая подпись
s=s’*r-1 mod N
= nc
Мультипликативный эффект
<n1, n1c>
<n2, n2c>
<n1*n2, (n1*n2)c>
<n, f(n)c> = <n,sf>
sfd mod N= f(n)
<n1,f( n1)c>
<n2, f(n2)c>
<n1*n2, (f(n1)*f(n2))c>
<n1*n2, (f(n1*n2))c>
Download