Инструкция по эксплуатации Rainbow Electronics DS1963S

Страница 25

Advertising
background image

DS1963S

25 из 40

Последовательность W

t

(0

≤ t ≤ 79) определена следующим образом:

W

t

:= M

t

(0

≤ t ≤ 15)

S

1

(W

t-3

⊕ W

t-8

⊕ W

t-14

⊕ W

t-16

) (16

≤ t ≤ 79)


Последовательность K

t

(0

≤ t ≤ 79) определена следующим образом:

K

t

:=

5A827999h

(0

≤ t ≤ 19)

6ED9EBA1h

(20

≤ t ≤ 39)

8F1BBCDCh

(40

≤ t ≤ 59)

CA62C1D6h

(60

≤ t ≤ 79)


Переменные A, B, C, D, E инициализированы следующими значениями:
A := 67452301h
B := EFCDAB89h
C := 98BADCFEh
D := 10325476h
E := C3D2E1F0h

Выходной 160-битный MAC-код представляет собой объединение переменных A, B, C, D и E
после циклического выполнения следующего набора операций для t = 0 .. 79 (без учета переноса):
TMP :=

S

5

(A) + f

t

(B, C, D) + W

t

+ K

t

+ E

E := D
D := C
C := S

30

(B)

B := A
A := TMP

MAC-код загружается в блокнот DS1963S двумя различными способами, в зависимости от
выбранной функции SHA. При вычислении первого секретного кода и вычислении следующего
секретного кода используются 64 бита MAC-кода в виде повторяющихся последовательностей,
каждая из которых может быть скопирована в любой из восьми секретных кодов. Все другие
функции SHA загружают в блокнот полный 160-битный результат. В таблице 4 показано
размещение байтов в блокноте.

Таблица 4. ФОРМАТЫ ВЫХОДНЫХ ДАННЫХ SHA-1
Частичный код (только вычисление первого секретного кода и следующего секретного кода)

(SP+0) := E[7:0]

(SP+1) := E[15:8]

(SP+2) := E[23:16]

(SP+3) := E[31:24]

(SP+4) := D[7:0]

(SP+5) := D[15:8]

(SP+6) := D[23:16]

(SP+7) := D[31:24]

(SP+8) := E[7:0]

(SP+9) := E[15:8]

(SP+10) := E[23:16]

(SP+11) := E[31:24]

(SP+12) := D[7:0]

(SP+13) := D[15:8]

(SP+14) := D[23:16]

(SP+15) := D[31:24]

(SP+16) := E[7:0]

(SP+17) := E[15:8]

(SP+18) := E[23:16]

(SP+19) := E[31:24]

(SP+20) := D[7:0]

(SP+21) := D[15:8]

(SP+22) := D[23:16]

(SP+23) := D[31:24]

(SP+24) := E[7:0]

(SP+25) := E[15:8]

(SP+26) := E[23:16]

(SP+27) := E[31:24]

(SP+28) := D[7:0]

(SP+29) := D[15:8]

(SP+30) := D[23:16]

(SP+31) := D[31:24]



Advertising