Pseudo Hadamard transformation

Pseudo -Hadamard Transform ( PHT ) är en  reversibel transformation av bitsträngar som används i kryptografi för att ge diffusion i kryptering . Antalet bitar i ingången av konverteringen måste vara jämnt, så att det är möjligt att dela strängen i två lika långa delar. Skaparen av förvandlingen är den franske matematikern Jacques Hadamard .

Transformeringsåtgärd

Låt inmatningen av transformationen vara en sträng av bitar av längd . Låt oss representera det som två längdsträngar : . Sedan, som ett resultat av handlingen från Hadamard-pseudotransformationen, får vi en sträng vars delsträngvärden beräknas med följande formler:

Följaktligen, från dessa formler, erhålls den omvända Hadamard-pseudotransformen lätt:

Matrisrepresentation

Hadamard-pseudotransformen kan representeras i matrisform . Om vi ​​skriver och i vektorform , , kommer transformationen att vara likvärdig med att multiplicera med en matris :

Naturligtvis, glöm inte att alla operationer när du multiplicerar med en matris utförs modulo .

Den omvända transformationen är ekvivalent med att multiplicera med matrisen invers till : .

Du kan också representera transformationsmatrisen som en större matris som är en potens av två. Så, till exempel, om vi arbetar med en 8-bitars sträng, kan vi representera den som 4 delsträngar med 2 bitar vardera: , och göra samma sak med utgångssträngen . Matrisen för en sådan transformation erhålls från den rekursiva regeln:

I vårt exempel ser , och transformationsmatrisen ut så här:

Applikation

Pseudo Hadamard-transformen används i vissa krypteringsalgoritmer för att ge bättre kryptografisk spridning. Twofish och SAFER är exempel på sådana algoritmer . Samtidigt används en 2-punktskonvertering (vid ingången en sträng på 2 byte lång) i alla varianter av SAFER, förutom den senaste versionen av SAFER ++ ( 2000 ), som använder en 4-punktskonvertering (vid ingången, en sträng på 4 byte lång).

I ovanstående krypteringsalgoritmer utförs de flesta operationerna, inklusive Hadamard-pseudotransformen, på bytes . Följaktligen, i formlerna som beskriver transformationen, tas den lika med 8

Länkar