Pseudo transformată Hadamard

Pseudo -Hadamard Transform ( PHT ) este o  transformare reversibilă a șirurilor de biți utilizate în criptografie pentru a oferi difuzie în criptare . Numărul de biți din intrarea conversiei trebuie să fie par, astfel încât să fie posibilă împărțirea șirului în două părți de lungime egală. Creatorul transformării este matematicianul francez Jacques Hadamard .

Acțiune de transformare

Fie intrarea transformării un șir de biți de lungime . Să-l reprezentăm ca două șiruri de lungime : . Apoi, ca urmare a acțiunii pseudo-transformării Hadamard, obținem un șir ale cărui valori ale subșirului sunt calculate prin următoarele formule:

În consecință, din aceste formule, se obține ușor pseudo-transforma inversă Hadamard:

Reprezentare matrice

Pseudo-transformarea Hadamard poate fi reprezentată sub formă de matrice . Dacă scriem și sub formă vectorială , , atunci transformarea va fi echivalentă cu înmulțirea cu o matrice :

Desigur, nu uitați că toate operațiile la înmulțirea cu o matrice sunt efectuate modulo .

Transformarea inversă este echivalentă cu înmulțirea cu matricea inversă la : .

De asemenea, puteți reprezenta matricea de transformare ca o matrice mai mare care este o putere a doi. Deci, de exemplu, dacă lucrăm cu un șir de 8 biți, îl putem reprezenta ca 4 subșiruri de câte 2 biți fiecare: , și facem același lucru cu șirul de ieșire . Matricea pentru o astfel de transformare se obține din regula recursivă:

În exemplul nostru , , și matricea de transformare arată astfel:

Aplicație

Transformarea pseudo Hadamard este utilizată în unii algoritmi de criptare pentru a oferi o difuzie criptografică mai bună. Twofish și SAFER sunt exemple de astfel de algoritmi . În același timp, o conversie în 2 puncte (la intrare, un șir de 2 octeți) este utilizată în toate variantele de SAFER, cu excepția celei mai recente versiuni a SAFER ++ ( 2000 ), care utilizează o conversie în 4 puncte. (la intrare, un șir de 4 octeți).

În algoritmii de criptare de mai sus, majoritatea operațiunilor, inclusiv pseudo-transformarea Hadamard, sunt efectuate pe octeți . În consecință, în formulele care descriu transformarea, aceasta este luată egală cu 8

Link -uri