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

21 lines
1.2 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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}$ .