Puncte:0

Cum sunt alese constantele rotunde într-un cifru bloc?

drapel cn

Cifrele bloc care sunt NU Ușoară utilizați algoritmi de programare a cheilor relativ complexi pentru a le spori securitatea și a contracara unele dintre atacurile criptografice cunoscute. În astfel de cifruri sunt adăugate și constante rotunde pentru a elimina simetriile din structură (dacă acestea există), dar criteriile de selecție pentru constantele rotunde nu sunt menționate niciodată.

Cum ar trebui selectate aceste constante pentru orice cifru bloc?

kelalaka avatar
drapel in
Este o chestiune de a elimina suprafața de atac a atacurilor de alunecare. Cu toate acestea, trebuie să vedeți acțiunea în programul lor.
Puncte:0
drapel fr

Constantele utilizate în cifrul bloc, la fel ca cele utilizate în mulți alți algoritmi criptografici simetrici, depind de ceea ce are nevoie algoritmul în ceea ce privește securitatea. Pentru cifrurile bloc, cele mai comune construcții folosesc casete S și constante rotunde.

În multe cazuri, cerințele pentru constante sunt minime: să conțină un amestec rezonabil de zerouri și unu, că le lipsește un model care ar putea fi exploatat (de exemplu, într-un atac de alunecare sau diferențial) și să fie deasupra suspiciunii ( la care ne referim ca numere nimic-în mânecă). Tipurile obișnuite de modele care trebuie evitate sunt lucruri precum deplasările simple, rotațiile și adăugările constantelor anterioare, care ar putea fi anulate de anumite modele de intrare, în funcție de algoritm și de operațiile sale de bază.

De obicei, dacă nu există nicio explicație, constantele sunt generate de obicei dintr-un fel de constantă sau model bine-cunoscut. De exemplu, MD5 folosește $ sin(x) $, SHA-2 folosește rădăcini pătrate și cubice și folosesc numeroși algoritmi $ \pi $, $ e $, sau $ \phi $, iar cititorul este de așteptat să recunoască acele constante. (Nici MD5, nici SHA-2 nu sunt cifruri bloc, dar se aplică același principiu.) De exemplu, SEED utilizează $ \phi $.

În unii algoritmi, cum ar fi permutarea Sparkle (care, de asemenea, nu este un cifru bloc), constantele sunt alese în plus pentru că au o anumită proprietate benefică (în acest caz, rezistența la atacuri diferențiale), și astfel sunt generate constante și cele care nu. t îndeplinesc cerințele sunt respinse până când sunt găsite suficiente. Cititorul lucrării are de obicei același software folosit pentru testarea acelor constante și poate verifica dacă constantele alese sunt într-adevăr primele care îndeplinesc criteriile.

Pentru cutiile S, lucrurile sunt de obicei similare, cu excepția faptului că în unele cazuri poate fi de dorit să se evite punctele fixe sau că perioada orbitei este maximă. Uneori, o inversă calculabilă eficient este utilă (ca în SAFER). Din nou, acestea sunt de obicei generate dintr-o constantă bine-cunoscută și, dacă generarea nu este banală, de obicei este inclus un software sau un algoritm pentru a demonstra că nu există uși din spate.

De obicei, dacă există cerințe substanțiale, altele decât cele generale enumerate mai sus, lucrarea sau un FAQ alăturat va spune de ce au fost alese, așa cum face lucrarea Sparkle. Pentru ca utilizatorii să aibă încredere în algoritm, va avea nevoie de o criptoanaliza extinsă și, de obicei, toată lumea va fi mai fericită să fi citit câteva paragrafe despre motive, mai degrabă decât să fie nevoită să ghicească.

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.