查看问题的答案 https://ru.stackoverflow.com/questions/154671/GOST-R-34-11-94后,我找不到问题的解决方案。我不明白如何存储消息 M 以及如何生成密钥。为什么密钥由 64 个字符组成,而文档说是 32 个?该示例指定要散列的消息
M = 73657479 62203233 3D687467 6Е656С20
2С656761 7373656D 20736920 73696854
和应该变成的钥匙
K1 = 733D2C20 65686573 74746769 79676120
626Е7373 20657369 326С6568 33206D54
K2 = 110C733D 0D166568 130E7474 06417967
1D00626E 161A2065 090D326C 4D393320
K3 = 80B111F3 730DF216 850013F1 C7E1F941
620C1DFF 3ABAE91A 3FA109F2 F513B239
K4 = A0E2804E FF1B73F2 ECE27A00 E7B8C7E1
EE1D620C AC0CC5BA A804C05E A18B0AEC
如果您遵循此算法:
- 赋值
i: = 1, U: = H, V: =M.
- 运行计算
W = U⨁ ̅V, K1 = P(W)
- 分配我:
=i+1
.
- 检查条件
i=5.
如果是肯定的,请转到步骤 7。如果是否定的,请转到步骤 5。
- 运行计算
U: = A(U) ⨁ ̅ Ci , V: = A(A(V)), W: = U⨁ ̅V, Ki = P(W).
转到第 3 步。
算法结束。