Puncte:0

Implementarea componentelor sbox folosind tabele de căutare

drapel jp

Este posibil să implementați componentele unui tabel SBOX folosind lookup_tables. De exemplu, pentru un SBOX pe 4 biți este posibil să obțineți componenta 3 folosind SAGE în felul următor

sage: din sage.crypto.sbox import SBox
salvie: S = SBox([7,6,0,4,2,5,1,3])
sage: f3 = S.component_function(3)
sage: f3.algebraic_normal_form()
x0*x1 + x0*x2 + x0 + x2

Dar trebuie să folosesc acea componentă de mai multe ori (var $2^{20}$), și funcția booleană în SAGE cu substituție sunt atât de lente. Decat cred ca este mai bine sa folosesti tabele de cautare.

poncho avatar
drapel my
Aceasta pare să fie o întrebare despre Sage mai mult decât criptografie
Puncte:1
drapel ru

Ai dreptate. Expresiile booleene pentru componentele returnate de Sage nu sunt destinate unei evaluări eficiente, ci mai degrabă pentru a ajuta analiza algebrică a cifrului (de exemplu, ca parte a exprimării biților din funcția rotundă sau a programului cheie ca expresie polinomială și calculul gradului acestora).

Dacă doriți să colectați date despre funcția componentă pentru un număr mare de intrări, din nou aveți dreptate, precalcularea unui tabel de căutare este mult mai eficientă.

Puncte:0
drapel in

f3 în codul dvs. este o funcție booleană care este practic o listă de valori True/False.

lista (f3)                                                                                                                                                                                                                                
[Fals, adevărat, fals, fals, adevărat, adevărat, adevărat, fals]

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.