1
Fork 0
mirror of https://github.com/Steffo99/appunti-magistrali.git synced 2024-11-25 11:34:18 +00:00
appunti-steffo/8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/protocollo di identificazione di Schnorr interattivo.md

22 lines
1.2 KiB
Markdown
Raw Normal View History

2023-09-21 00:46:23 +00:00
---
aliases: ["Schnorr identification protocol"]
---
[[funzione]] di [[zero-knowledge proof]] [[interattivo]] con [[honest verifier]].
Sfrutta la [[congettura Diffie-Hellman decisionale]].
## Funzionamento
0. 1⃣ vuole dimostrare di conoscere ${\color{orange} Y} = {\color{orange} g}^{\color{lime} x} \mod p$.
1. 1⃣ invia il [[generatore di un gruppo ciclico|generatore]] ${\color{orange} g}$ a 2⃣.
2. 1⃣ calcola il [[commitment]] ${\color{orange} R} = {\color{orange} g}^k$.
- Usando come $k$ un numero [[casualità crittografica|casuale]] per 2⃣.
1. 1⃣ invia il [[commitment]] a 2⃣.
2. 2⃣ calcola una [[challenge]] ${\color{orange} c}$.
- Usando come ${\color{orange} c}$ un numero [[casualità crittografica|casuale]] per 1⃣.
1. 2⃣ invia la [[challenge]] a 1⃣.
2. 1⃣ calcola il [[witness]] ${\color{orange} s} = k + {\color{lime} x} \cdot {\color{orange} c}$.
3. 1⃣ invia il [[witness]] a 2⃣.
4. 2⃣ effettua la verifica ${\color{orange} g^s} = {\color{orange} g}^{k + {\color{lime} x} \cdot {\color{orange} c}} = {\color{orange} g}^k \cdot {\color{orange} g}^{{\color{lime} x} \cdot {\color{orange} c}} = {\color{orange} R} \cdot {\color{orange} Y^c}$ .