Algoritm för meddelandeautentisering

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 3 mars 2021; kontroller kräver 10 redigeringar .

Message authentication algorithm (MAA, message authentication algorithm) - en algoritm för att kontrollera meddelandets integritet. Den utvecklades av D. W. Davies och D. O. Clayden och publicerades 1983 . Algoritmen tillhandahåller meddelandeintegritet men ger inte konfidentialitet . Algoritmens styrka är baserad på nyckelns hemlighet .

Efter publiceringen väckte algoritmen uppmärksamheten från Committee of the London Clearing Banks and Technical Committee 68 av International Organization for Standardization , som accepterade den som en av de godkända meddelandeautentiseringsalgoritmerna . Algoritmen är en del av ISO 8731-2. På datorer och arbetsstationer är den bara 40 % långsammare än MD5 .

Algoritmoperation

Indata
1. Meddelande S — bitsträng med längden 32L, där L tar värden från 0 till 2. Hemlig nyckel Z med längden 64 bitar . Nyckeln består av två 32-bitars nummer J och K. Utdata långa32 bitarMeddelandeautentiseringskod 1. Dessa värden hittas enligt följande: 1. X<- [ mod (2³² - 1)] xor [ mod (2³² - 2)] 2. Y<- [ mod (2³² - 1) xor mod (2³² - 2) ]*( 1+p)² mod (2³² - 2) 3. V<- [ mod (2³² - 1)] xor [ mod (2³² - 2)] 4. W<- [ mod (2³² - 1) xor mod (2³² - 2)]*(1+p)² mod (2³² - 2) 5. S<- [ mod (2³² - 1)] xor [ mod (2³² - 2)] 6. T<- [ mod (2³² ) - 1) xor mod (2³² - 2)]*(1+p)² mod (2³² - 2) I nästa steg i algoritmen ersätts de "svaga" bitarna (det vill säga lika med 00x eller FFx ) med logiskt addera dem till P. Konstanter Konstant A ,B,C,D definieras enligt följande: A <- 0x02040801 B <- 0x00804021 C <- 0xbfef7fdf D <- 0x7dfefbff Main Loop Itererar över alla element i Xi (1< =L) och resulterar i värdena H1 och H2. I det första steget av slingan initieras variablerna H11 och H21 med X- respektive Y-värden.





















Steg 1.

Vrid V 1 bit åt vänster.
Ki=VxorW.

Steg 2.

T1= H1i xor Xi;
T2= H2i xor Xi;
M1= ((Kixor T1) eller B) och D
M1= ((Kixor T2) eller A) och C

Steg 3.

H1(i+1) = (M2 * T1) mod (2³² - 1)
H2(i+1) = (M1 * T2) mod (2³² - 2)

Som ett resultat får vi värdena för H1 och H2 lika med H1l respektive H2l.
Coda
MAC-koden bildas enligt följande: H=H1 xeller H2.

Litteratur

D. W. Davies, D. O. Clayden "The Message Authenticator Algorithm (MAA) and its Implementation"
Bart Preneel, Paul C. van Oorschoty "On the Security of Two MAC Algorithms"