Puncte:1

Puterile RSA de două module au întotdeauna MSB setat la unul și astfel, atunci când DER este codificat, au prefixul 0x00?

drapel ug

Uitandu-ma la https://crypto.stackexchange.com/a/30616/16548 și toate modurile în care generez chei RSA (cod, SSL), MSB este întotdeauna 1 și așadar, atunci când DER este codificat 0x00 prefix.

Cred că este întotdeauna așa atunci când lungimea cheii RSA este o putere de doi (de exemplu, 2048 sau 4096).

Dar întrebarea pe care o pun acum înainte de a merge la culcare: este așa?

Citat din link

În mod obișnuit, selectăm dimensiunile modulului RSA care sunt puteri a doi sau multipli mici ale acestora (1024, 1536, 2048, 3072 etc.), așa că acest lucru se întâmplă de obicei acolo.

de vreme ce acum mă întreb cum să demonstrez sau cumva este chiar așa.

Mi se pare că lungimea modulului este setată așa și MSB-ul este setat datorită construcției modulului și acestea fiind întregi fără semn. Deci 0x00 va fi întotdeauna acolo și nu este nevoie să verificați dacă MSB este setat.

Deci răspunsul la întrebare este pe scurt: da sau Nu. Mă gândesc și la un argument convingător pe care nu îl pot produce în acest moment, dar dacă cineva îl are la îndemână ar fi bineînțeles foarte interesant.

Puncte:1
drapel in

Da, este întotdeauna așa, dacă doar pentru că dimensiunea cheii este de fapt dimensiunea modulului pentru RSA.Dimensiunile primelor care produc modulul trebuie selectate astfel încât dimensiunea cheii să fie între $[2^{len-1}, 2^{len})$. Dacă acesta este cazul, atunci dacă $len$ este multiplu de 8 atunci va avea MSB-ul fiecărui octet setat.

Aceasta înseamnă că prefixul zero octet ar fi prezent și pentru o dimensiune a cheii de, de ex. 1792 de biți sau 1920 de biți. Aceste tipuri de dimensiuni sunt uneori folosite pentru sistemele încorporate / carduri inteligente, deoarece dimensiunea totală a datelor de răspuns este de 256 de octeți, astfel încât o semnătură sau un text cifrat nu ar lăsa loc pentru date suplimentare sau mesagerie securizată.

Atenție că RSA poate avea orice dimensiune de cheie, așa că nu m-aș lua în considerare să sară octet fără a verifica o bună practică de programare defensivă și, în mod normal, ați folosi funcții de bibliotecă pentru a efectua conversia în octeți - adică de cele mai multe ori ați folosi un ASN .1 componentă.

drapel ug
O explicație suplimentară foarte bună. Mulțumesc. (De fapt, am ajuns la construirea de dovezi, dar cred că deocamdată încetează și încearcă să faci altceva. :))

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.