Ментальный покер Задача Участники 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>