然后做如下加法运算…
A=A+AA
B=B+BB
C=C+CC
D=D+DD
END
当所有的 位分组运算完毕后,%& 的级联将被输出成为 散列结果
SHA 算法
即安全散列算法(+8),有 "$ 和 几种
分别产生 "# 位," 位,$ 位和 位的散列值
简易过程:
、 消息分组和填充方式与 相同
、 使用了 ,
#
,
…,
()
这样一个逻辑函数序列,每一个 9.#:':'()2对 $ 个 $ 位的双字 %&
进行操作,产生一个 $ 位双字的输出。-.%&2定义如下:
Ft(B,C,D)=(B&C)|((~B)&D) 0<=t=19
Ft(B,C,D)=B^C^D 20<=t<=39
Ft(B,C,D)=(B&C)|(B&D)|(C&D) 40<=t<=59
Ft(B,C,D)=B^C^D 60<=t<=79
在 & 语言中常用宏定义进行初始化
同样 也使用了一系列的常数 ;.#2;.2<;.()22用十六进制表示就是
;
'()))#:':')
;
'")%#:':'$)
;
'-%%&& #:':')
;
'&"&""#:':'()(为什么用这些常数进行初始化??范围是怎么回事??)
产生 "# 位的消息摘要
对称加密算法
对称加密算法的加密密钥和解密密钥是完全相同的
安全性主要依赖于加密算大必须是足够强(其中有依赖于数学问题),可以抵御各种
类型的攻击加密的安全性依赖于密钥的秘密性,而不是保密性
常 见 的 对 称 分 组 加 密 算 法 有 DES. =+>?@= =!!2. 数 据 加 密 标 准 2
IDEA.==@= =+>?@= 2. 国 际 数 据 加 密 算 法 2AES.!A=+!
=+>?@==!!2.改进加密标准2%B-CBDC流密码 &