Puncte:1

Împărțiți, semnați și combinați

drapel cn

Am un dispozitiv care semnează (simetric) mesaje foarte scurte și aș vrea să semnez unul lung.

L-am împărțit în mai multe mesaje scurte, am semnat fiecare separat și acum combin toate semnăturile. Desigur, modalitatea banală este să le concatenezi, dar există vreo modalitate de a avea semnătura combinată de aceeași lungime ca și cele individuale?

Nu pare ușor să vă protejați de rearanjarea pieselor într-o ordine diferită (nu este luată în considerare hashingul întregii secvențe de secvențe uşor În cazul meu).

Cu toate acestea, dispozitivul acoperă prin semnătură nu doar mesajul, ci și indexul de rulare al mesajelor pe care le semnează. Acum, este evident că xorul simplu al semnăturilor pe bucăți este o semnătură perfectă a întregului mesaj.

A mai întâlnit cineva așa ceva în teorie sau practică?

Maarten Bodewes avatar
drapel in
Deci în comentariul de mai jos întrebarea mea spui că semnăturile mesajelor mari sunt prefixate cu un contor. Cu toate acestea, spuneți că ați XOR semnăturile peste mesajele mai mici pentru a deriva de la acea semnătură, așa că pentru mine nu are sens. Vă rugăm să includeți o descriere formală a schemei dvs.
Puncte:1
drapel in

Nu pare ușor să te protejezi de rearanjarea pieselor într-o ordine diferită.

Depinde; nu ați specificat operația de combinare a hashurilor în acest moment.

Cu siguranță, orice funcție hash criptografică are o valoare diferită dacă funcționează $H(x|y)$ în loc de $H(y|x)$ Unde $x \neq y$ iar dimensiunea de $x$ și $y$ sunt identice. Dacă nu, obiectivele de rezistență la coliziune ale hashului nu sunt îndeplinite.

Nu pare ușor să te protejezi de rearanjarea pieselor într-o ordine diferită.

Sigur că există, utilizați doar HMAC, care se bazează pe un hash criptografic cu SHA-256 sau SHA-512.

Acum, este evident că xorul simplu al semnăturilor pe bucăți este o semnătură perfectă a întregului mesaj.

Într-adevăr? Dacă spuneți că este evident, atunci trebuie să furnizați dovezi.

Spuneți că aveți semnătura a trei mesaje formate din sub-mesaje $A$ și $B$: $M_1=(A,B)$, $M_2=(A,B')$ și $M_3=(A',B)$. Acum, dacă XOR semnăturile împreună, obțineți aceeași valoare ca și pentru $M_4=(A’, B’)$:

$$S_1 = Sign(1, A) \oplus Sign(2, B)$$ $$S_2 = Sign(1, A) \oplus Sign(2, B')$$ $$S_3 = Sign(1, A') \oplus Sign(2, B)$$ $$S_4 = Semn(1, A') \oplus Sign(2, B') = S_1 \oplus S_2 \oplus S_3$$

XOR este o operațiune periculoasă. Ceea ce căutați în general este a Arborele Merkle folosind hashuri criptografice.

Rețineți că puteți efectua mai întâi un hash criptografic peste mesaje și un HMAC peste hashurile concatenate. Acest lucru ar putea fi mai sigur decât efectuarea unei semnături peste diferitele părți, mai ales dacă rezultatul funcției de semnătură este mic.

uk-ny avatar
drapel cn
Nu, dacă $S_1 = Sig(A,B)$, $S_2 = Sig(A,B')$ și $S_3 = Sig(A',B)$, atunci $S_1 \oplus S_2 \oplus S_3$ este de nu înseamnă semnătura lui $(A', B')$. De fapt, în situația mea, $S_1 = Sig(1,A,B)$, $S_2 = Sig(2,A,B')$ și $S_3 = Sig(3,A',B)$, dar este irelevant pentru comentariul tău.
Maarten Bodewes avatar
drapel in
Vă rugăm să scrieți în mod oficial schema dvs., apoi putem crea răspunsuri la subiect. Așa cum este descris în prezent, nu văd de ce răspunsul meu nu funcționează. Doar a spune că nu este așa nu este un argument.

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.