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 .
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:
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:
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