Puncte:1

Este posibilă semnătura digitală fără schemă?

drapel in

În aplicația mea vreau să folosesc sistemul cripto Rabin cu chei scurte (cum ar fi 128 de biți) și MD5 pentru hashing. Am descoperit că schema ca PKCS1-V1_5 sau PPS nu vă permite să aveți chei atât de mici și semnătura rezultatului este ca 64 de octeți pentru cheia de 512 biți.

Trebuie să semnez o cantitate mică de date, cum ar fi 30-50 de octeți, iar semnătura de 64 de octeți este vizibilă. Am încercat BLS (48 de octeți pentru semnătură) dar este prea lent în comparație cu Rabin.

Ideea mea este să folosesc MD5 deoarece are nevoie de doar 128 de biți și cheie scurtă cu aceeași dimensiune pentru a evita umplutura. Deci, în acest caz, nu am nevoie de schemă. De asemenea, asta ar trebui să-mi dea 20 de octeți pentru fiecare semnătură. Îmi dau seama că aceasta este o semnătură foarte slabă, dar durata de viață a datelor (pachet) va fi scurtă.

Va funcționa o astfel de abordare?

Maarten Bodewes avatar
drapel in
128 de biți pentru un criptosistem care depinde de duritatea factorizării, evident, nu îl va reduce. MD5 este, de asemenea, o alegere proastă, deoarece permite atacuri fără niciun beneficiu vizibil în comparație cu un FDH, cum ar fi SHAKE128 și, de asemenea, puteți utiliza pur și simplu (biții din stânga) un hash rapid, criptografic sigur. Aș prefera să mă uit la modalități de rezolvare a problemei (de exemplu, ECDH, apoi obțin o cheie MAC pentru mai multe mesaje).
fgrieu avatar
drapel ng
Rabin cu semnătură de 64 de biți (512 de biți) este foarte nesigur; a fost spart public în 1999 (vezi [this](https://crypto.stackexchange.com/a/1982/555)). Pentru semnătura de 64 de octeți, puteți utiliza [Ed25519](https://ed25519.cr.yp.to/) sau [ECDSA](https://www.secg.org/sec1-v2.pdf#subsection. 4.1) cu curba [secp256r1](https://www.secg.org/sec2-v2.pdf#subsubsection.2.4.2). Verificarea semnăturii nu este la fel de rapidă ca Rabin și este mai complexă, dar în afară de asta mă pot gândi doar la beneficii: cheie publică și semnătură mai mici, generare mai rapidă a semnăturii. Există variante cu 25% mai mici (48 de octeți).
poncho avatar
drapel my
Un cod de autentificare a mesajelor ar funcționa în scenariul dvs.? Înseamnă că receptorul poate genera mesaje „semnate”; în unele scenarii, aceasta nu este o problemă (și în altele, este foarte mult o problemă). Dacă puteți folosi un MAC, ei bine, dimensiunile MAC pot fi destul de mici fără probleme (altele decât cea evidentă; un atacator doar ghicește; cu un MAC de $n$ biți, el are o probabilitate de $2^{-n}$ de a fi dreapta...)
drapel in
@poncho Din păcate, nu, deoarece acest lucru necesită un fel de cheie de sesiune pentru fiecare pereche de participanți
fgrieu avatar
drapel ng
Din nou, **sugerez să revizuiți întrebarea care să precizeze obiectivele funcționale**: dimensiunea mesajului, dimensiunea maximă a mesajului+semnătură, necesitatea sau nu ca mesajul să fie inteligibil fără cheie publică (dacă nu, un mesaj Rabin standardizat de 256 de octeți + semnătură poate fi încorporat). 222 de octeți de mesaj), constrângeri de performanță pentru generarea semnăturii și verificarea (separat), orice cerință de securitate dincolo de cele [standard](https://en.wikipedia.org/wiki/Digital_signature_forgery) (în special, este o problemă că cunoașterea a cheii private permite crearea de perechi de mesaje distincte cu aceeași semnătură?).
Puncte:2
drapel in

În principiu, ceea ce descrieți pare a fi o schemă de hash de domeniu complet (FDH). care este cunoscut a fi sigur pentru RSA.

În plus, ați alege hashul greșit, deoarece, în general, aveți nevoie de un hash fără coliziuni pentru a crea semnături (deși o simplă rezistență îmbunătățită la coliziunea țintă, eTCR poate fi suficient pentru anumite scheme randomizate, consultați acest raspuns mai multe informatii).

Cu toate acestea, cu semnături de 128 de biți, cheia privată va fi cunoscută în câteva secunde - dacă asta. Deci, în cele din urmă, nu contează dacă hashingul este sigur sau nu. Pentru chei de dimensiuni mai mari, aceasta poate fi sigură folosind un PRF diferit, de ex. Agita128.

Dacă puteți stabili o cheie secretă, atunci un MAC pe 128 de biți ar fi foarte sigur. Deci, poate că trebuie să oferiți două mesaje în ambele direcții pentru a efectua ECDH în schimb, pentru a obține o cheie de sesiune MAC.

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.