Ugrás a tartalomhoz

proof of knowledge

A Wikiszótárból, a nyitott szótárból


Főnév

proof of knowledge (tsz. proof of knowledges)

  1. (informatika) A Proof of Knowledge (PoK) – magyarul tudás-bizonyítás – a kriptográfiában egy olyan protokoll, amelyben a bizonyító meggyőzi az ellenőrzőt arról, hogy ismer egy adott titkos értéket (például egy jelszót, privát kulcsot vagy matematikai tanút), anélkül hogy felfedné azt.

Ez a fogalom szorosan kapcsolódik a zero-knowledge proof (ZKP) világához, de míg a ZKP célja az információ nullaismeretű bizonyítása, a PoK kifejezetten azt célozza, hogy az állítás nem csak igaz, hanem a bizonyító valóban ismeri is a titkos adatot.



🔍 Példa: Mi a különbség állítás és tudás között?

Egy állítást akkor is “be lehet bizonyítani”, ha véletlenül találgatsz. A Proof of Knowledge viszont azt követeli meg, hogy a bizonyító ténylegesen birtokolja a titkos információt.



🧠 PoK alapdefiníció

Egy protokoll Proof of Knowledge, ha:

  1. Tudás-extraktor létezik: bármely olyan bizonyító esetén, amely sikeresen meggyőzi az ellenőrzőt, létezik egy algoritmus (az extraktor), amely ténylegesen ki tudja nyerni a titkos tudást a bizonyító belső működése alapján.
  2. A bizonyítás helyessége a bizonyító tudásán alapul, nem pusztán szerencsén.



📚 Formálisabb definíció (szimulációs modell)

Legyen adott egy nyilvános állítás, pl.: „Tudom a értéket, amelyre teljesül: ”.

Ezután egy PoK protokoll:

  • Olyan interakció a bizonyító és ellenőrző között, amely során:
    • Teljesség: A helyes tudással rendelkező bizonyító meggyőzi az ellenőrzőt.
    • Tudáskivonhatóság (Extractability): Ha egy (akár rosszindulatú) bizonyító gyakran sikeresen meggyőzi az ellenőrzőt, akkor létezik egy algoritmus, amely ki tudja nyerni a bizonyító által ismert -et.



🔐 Klasszikus példa: Schnorr Proof of Knowledge

A cél: bizonyítani, hogy a bizonyító ismeri -et, ahol , anélkül hogy elárulná -et.

Protokoll:

  1. Commitment: A bizonyító választ egy véletlen -t, és kiszámolja:

  2. Challenge: Az ellenőrző választ egy véletlen -t.

  3. Response: A bizonyító válaszol:

Az ellenőrző ellenőrzi, hogy:

Miért Proof of Knowledge?

Mert ha a bizonyító két különböző kihívásra (mondjuk ) válaszol azonos -vel, akkor:

Tehát a titkos érték kiszámítható, azaz a bizonyító valóban ismerte azt.



🤝 Használati területek

Terület Felhasználás
Digitális aláírás Az aláíró bizonyítja, hogy ismeri a privát kulcsot.
Hitelesítés Bizonyítod a jelszó vagy kulcs ismeretét anélkül, hogy elküldenéd.
Zero-Knowledge Proof A legtöbb ZKP egyben PoK is.
Blokklánc Tranzakciók érvényesítése kulcsismeret alapján (pl. Zcash, zk-SNARK).
Secure Multi-Party Computation Bizonyítás anélkül, hogy az adat kiszivárogna.



📏 Összefoglaló: PoK jellemzői

Tulajdonság Leírás
Nem szivárogtat A titkos tudás nem derül ki.
Bizonyítja a tudást Nem csak az állítás igazát, hanem a tényleges tudást is.
Extraktorral definiálható A titok visszanyerhető elég sikeres kommunikáció alapján.
Alapja sok digitális aláírásnak Pl. DSA, Schnorr, ECDSA.
ZKP szoros rokona Minden zero-knowledge proof egyben PoK is, ha extraktorral visszanyerhető a tudás.