Puncte:1

Oamenii selectează manual fiecare număr întreg utilizat într-o funcție cripto hash sau sunt generați de un computer?

drapel tn

De exemplu, acest:

introduceți descrierea imaginii aici

Sunt toate acele numere ca 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8... culese de mână cumva, sau sunt doar selectate dintr-o pălărie (cum ai scrie un script „da-mi 64 de numere întregi aleatoare între 0 și 15” și apoi orice iese pe care îl folosești) sau altceva? Care este tehnica de a selecta atât de multe numere?

kelalaka avatar
drapel in
[De ce „numerele din mânecă nimic” au entropie scăzută?](https://crypto.stackexchange.com/q/16364/18298)
kelalaka avatar
drapel in
Deoarece sunteți interesat de IV-urile funcțiilor hash, v-aș oferi mai multe 1) [Originea valorii hash inițiale SHA-224?](https://crypto.stackexchange.com/q/42373/18298) 2) [De ce sunt aceste valori specifice folosite pentru a inițializa buffer-ul hash în SHA-512?](https://crypto.stackexchange.com/q/5338/18298) [De ce SHA2-224 utilizează IV-uri diferite decât SHA2-256?](https ://crypto.stackexchange.com/q/83306/18298) 3) [De unde provin constantele pentru SHA-1/2/3?](https://crypto.stackexchange.com/q/71314/18298 ) 4) [De ce să inițializați SHA1 cu un buffer specific?](https://crypto.stackexchange.com/q/10829/18298)
Puncte:3
drapel ng

In general nu. În criptografie, apariția unor șiruri de numere „aleatoare” este în general destul de suspectă --- ce se întâmplă dacă există anumite alegeri „slabe” de numere care duc la nesiguranța întregii construcții? De unde știi că designerul nu și-a folosit libertatea în alegerea acestor numere pentru a încorpora o ușă din spate? Rețineți că aceasta face se întâmplă, exemple celebre sunt:

Rețineți că există anumite „constante arbitrare” care sunt văzute ca fiind mai puțin suspecte --- alegerile comune sunt cifrele $\pi$, sau lucruri de acest fel (să zicem cifrele lui $\sqrt{2}$ sau $\sqrt{3}$). Acestea sunt adesea numite nimic din mâneca mea, și poate fi atins atunci când proiectantul are nevoie doar de niște numere arbitrare care să satisfacă unele constrângeri minime pe care „majoritatea” numerelor ar trebui să le satisfacă.

Oricum, revenind la RIPEMD. A fost specificat inițial în lucrarea din 1995 „Integrity primitives for secure information systems”. (Am găsit această informație prin acest link). În special, specificația este conținută în acest document. Vă atrag atenția la pagina 75 a documentului (la pagina 7 a pdf-ului).

Cele patru constante folosite în aceste operații nu sunt alese aleatoriu; ei sunt partea întreagă a $2^{30}\sqrt{2}, 2^{30}\sqrt{3}, 2^{30}\sqrt[3]{2}, 2^{30}\sqrt[3]{3}$ respectiv. Cu toate acestea, nu există un motiv specific pentru această alegere.

Aceasta explică constantele din constante adăugate parte din fișierul pe care l-ați legat --- nu sunt nimic din mâneca mea. Din păcate, tabelul despre care întrebați nu este explicat în mod satisfăcător. Autorii declară că reproduc o modificare a funcției de compresie a MD4 (inclusiv tabelul pe care l-ați observat), dar pur și simplu afirmă că includ modificări ale lui B. den Boer, pe care le citează ca fiind Comunicări personale (deci motivul lor special pentru modificare este necunoscut).

Din nefericire, nici alt material de pe cifră nu este iluminator. Considera acest atac pe hash. Autorii menționează (după cum este ușor de văzut) că indicii „selectării cuvântului mesaj” trebuie să fie în mod specific o permutare (aceasta a fost menționată și în specificația inițială), dar nu este clar De ce acele permutări particulare au fost alese.

Ultimul lucru pe care îl voi menționa este că uneori vă aflați într-o situație în care există multe opțiuni posibile ale unora structurat obiect (ca o permutare, deci nu poți spera că cifrele lui $\pi$ va fi suficient), și trebuie să alegeți unul. O strategie pe care o puteți face (în loc să o scoateți din aer) este:

  1. încercați să „clasați” obiectele structurate în funcție de o metrică de eficiență și apoi
  2. alege „primul” (într-o ordine naturală) dintre obiectele „cele mai eficiente”.

Acest lucru este vag, așa că un exemplu anume poate fi util. Proiectarea AES necesită aritmetică $\mathsf{GF}(2^8)$. Orice polinom ireductibil de grad 8 peste $\mathbb{F}_2$ definește o copie „diferită” (dar toate reciproc izomorfe) a $\mathsf{GF}(2^8)$. Având în vedere că acesta este cazul, ce polinom alegeți în proiectarea AES?

Designerii AES justifică această alegere (și altele pe care le puteți găsi interesante). secțiunea 7 din propunerea lor.

Polinomul $m(x)$ ... pentru înmulțirea în $\mathsf{GF}(2^8)$ este primul din lista de polinoame ireductibile de gradul 8, dat în [LiNi86, p. 378].

Așa că fac apel la o ordine de la alți autori decât ei. De asemenea, am văzut (și am crezut că am avut pentru AES în special) alegerea de a:

  1. colectează toate polinoamele ireductibile
  2. sortați-le după greutatea de hamming (metrica eficienței)
  3. dintre cele cu greutate minimă de hamming, alegeți-l pe primul lexicografic.

Desigur, acest lucru nu este, din păcate, util pentru masa dvs.

Lance avatar
drapel tn
Foarte interesante lucruri, multumesc frumos! Deci, până la urmă, care este cazul numerelor pe care le-am enumerat, cum au fost alese (potențial)? Nu am întâlnit niciodată numerele „nimic din mânecă”, are sens!
Mark avatar
drapel ng
Aceasta este partea oarecum enervantă pentru numerele dvs. particulare --- Nu pot găsi sursa pentru modul în care au fost generate. RIPEMD este o modificare a MD4, specificată [aici](https://datatracker.ietf.org/doc/html/rfc1320). Numerele corespunzătoare pentru MD4 sunt diferite și au un model intern care are mai mult sens. Autorii RIPEMD afirmă că modifică aceste numere, dar citează doar o comunicare personală (din 1992) cu B. den Boer. Din păcate, acele comunicări personale probabil au răspunsul la întrebarea dvs., dar pare puțin probabil să le găsiți publicate.
Mark avatar
drapel ng
Singurul mic confort pe care îl am este că atacul publicat asupra RIPEMD la care m-am uitat a ignorat complet structura (oarecum arbitrară) a numerelor dvs., deci este plauzibil că nu au un impact semnificativ asupra securității și au fost modificate în scopuri de eficiență pe unele platforme (autorii RIPEMD petrec un paragraf sau două menționând că comută între reprezentările little/big endian în acest scop). Totuși, aceasta este doar o presupunere și, fără a contacta B. den Boer (sau autorii RIPEMD), poate fi greu să obțineți un răspuns mai bun.
poncho avatar
drapel my
Kuznyechik: Înțeleg că, deși sbox-ul este ciudat și nu se conformează afirmațiilor inițiale ale aleatoriei, încă nu există o ușă din spate cunoscută (public) bazată pe acesta...
Mark avatar
drapel ng
@poncho da, dar are un *foarte particular* [invariant pe care îl menține](https://eprint.iacr.org/2019/092.pdf). Poate că am o lectură alarmistă a acestui lucru, dar nu văd un motiv non-backdoor pentru ca acesta să fie cazul.
Mark avatar
drapel ng
deși se pare că am grupat mental problemele cu Streebog și Kuznyechik ca fiind similare, dar reluând acea lucrare se pare că Streebog poate folosi cutiile S ciudate într-un mod puțin mai îngrijorător.

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.