Puncte:1

Proof of possession of a x25519 private key

drapel mx

In this question one way is shown how to prove the possession of a private x25519 key. Would the following protocol also be suitable to prevent someone from using the client as a decryption Oracle?

  1. Server generates some 'nonce' and an ephemeral x25519 key pair. The sever sends the nonce and the public x25519 key to the client.
  2. The client derives with his private x25519 key and the public x25519 key of the server a shared key. The client signs the nonce with HMAC using the shared key. The client sends the signature to the server.
  3. The server derives the shared key and validates the HMAC signature.
drapel au
Ce este în neregulă cu o veche dovadă a cunoștințelor zero-log discret? De exemplu. pentru cheia privată $x$, Prover publică $Y=G^x$, apoi eșantionează un număr întreg $x'$ calculează $T=G^{x'}$, apoi calculează $c = hash(G, Y, T) $ și trimite $c, -cx+x'$. Verifier reconstruiește $T$ făcând $G^{-cx+x'}Y^c$ și verificând că $c = hash(G, Y, T)$.
knaccc avatar
drapel es
Deja va trebui să faceți ceva pentru a preveni atacurile „man-in-the-middle” care vor implica semnături pentru a dovedi identitatea serverului către client. Deci, de ce să nu folosiți același mecanism pentru a dovedi identitatea clientului pe server?
drapel mx
@zugzwang Vă mulțumim pentru idee. Dar cred că o problemă este că $-cx+x'$ nu este „prins”. Dacă, de exemplu, este folosit libsodium, nu puteți utiliza funcții standard
drapel au
Doar pentru record, ideea mea nu este deloc originală. Este dovada de bază a cunoștințelor zk (dacă doriți să vedeți extensii frumoase, vă încurajez să verificați lucrarea Camenisch-Stadler 97). Acum, acest argument se aplică oricărui grup. În special, către Curve25519. Prinderea este doar un truc de implementare pentru a evita subgrupul mic de ordinul 8. Deci, desigur, acest argument funcționează în Curba 25519. Eleganța acestuia este că depinde doar de ECDLP, în loc de algoritmi de semnare precum Ed25519.
drapel mx
@knaccc O idee bună. Mulțumesc.
drapel au
Dezavantajele ideii lui @knaccc sunt că (a) depinde de nefalsificarea existențială a schemei de semnătură, mai degrabă de deținerea unei valori secrete, așa cum a fost solicitat, și (b) un astfel de protocol va fi probabil interactiv ( cu excepția cazului în care trucul Fiat-Shamir este aplicat cumva, introducând potențial mai multe ipoteze de securitate).

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.