Puncte:1

Dovada proprietății unei chei de criptare

drapel pk

În contextul unui serviciu de stocare rezistent la gazdă, există o schemă de criptare care îmi permite să dovedesc serverului că dețin cheia secretă pentru a decripta textul cifrat pe care îl încarc în prezent, dar (într-adevăr) fără a dezvălui cheia sau mesajul text simplu ?

Spus altfel, există o modalitate prin care serverul să se asigure că 1) un fișier încărcat este criptat și că 2) utilizatorul deține cheia pentru a decripta acel fișier?

Puncte:1
drapel cn

Cele mai multe scheme de criptare algebrică standard admit o astfel de dovadă de cunoaștere zero a cunoașterii cheii secrete. De exemplu, dacă schema de criptare este ElGamal (peste un grup adecvat, de exemplu o curbă eliptică) cu cheie publică $(G,H)$, a dovedi cunoașterea cheii secrete înseamnă doar a dovedi cunoașterea unei valori $s$ astfel încât $G^s = H$, care este dovada standard Schnorr (aceasta din urmă este doar cunoștințe zero-verificator onest, dar poate fi modificată pentru a fi cunoștințe zero cu drepturi depline). Există sisteme de probă similare pentru alte scheme de criptare cu cheie publică, de ex. Goldwasser-Micali sau Paillier (pentru aceștia, înseamnă a demonstra cunoașterea factorilor unui modul RSA, ceea ce se poate face, dar este semnificativ mai puțin eficient).

Thierry Sans avatar
drapel pk
Multumesc Geoffroy! Cunoașteți vreo bibliotecă publică care ar putea face din întâmplare criptarea cu drepturi depline + dovada de cunoștințe zero?
Geoffroy Couteau avatar
drapel cn
Nu, dar asta se datorează în mare parte faptului că nu implementez niciodată criptografia singur (mai ales fac cercetări teoretice). Sunt destul de sigur că există o astfel de bibliotecă, deși nu sunt sigur care este un loc potrivit pentru a întreba despre asta (cred că ar fi în afara scopului pe acest site). O căutare rapidă pe Google m-a îndreptat către zksk, dar nu știu prea multe despre el.
drapel us
Nu sunt sigur dacă asta are în vedere OP, dar aș crede că asta rezolvă doar jumătate din partea 2. Adică, s-ar putea dovedi că dețin o anumită cheie secretă, dar nu neapărat dacă acea cheie secretă ar putea într-adevăr decripta fişier. Există o modalitate într-o astfel de schemă pentru ca serverul să verifice dacă cheia publică (probabil încărcată cu datele criptate) corespunde într-adevăr unei chei secrete care ar decripta fișierul? Dacă acest lucru nu este acoperit, nu ar putea un utilizator de încărcare să includă o cheie fără legătură cu datele criptate și, prin urmare, să demonstreze că deține cheia, dar nu că decriptează fișierul?
Geoffroy Couteau avatar
drapel cn
E o idee buna. Cu toate acestea, pentru toate exemplele pe care le-am menționat mai sus (ElGamal, Goldwasser-Micali și Paillier), problema nu există, deoarece orice text cifrat poate fi verificat public pentru a fi bine format (în ceea ce privește cheia publică dată).Prin urmare, dacă cineva dovedește cunoașterea cheii secrete asociate cheii publice, înseamnă întotdeauna că orice text cifrat poate fi decriptat corect de către probator.

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.