08:14:45
4.1
数字签名的概念与原理
数字签名的概念
数字签名的原理
08:14:45
数字签名的原理 原理 数字签名就是用私有密钥进行加密,而 认证就是利用公开密钥进行正确的解密。数 字签名的原理如图所示
08:14:45
数字签名的原理
它是一个概率多项式时间算法, 一个基于公钥密码学的数字签名方案被定义为 由系统或者签名者执行,该算法 以系统安全参数1k为输入,输出 一个算法三元组(Gen, Sig, 它是一个概率多项式时间算法, Ver),方案中共有两方 密钥对(Pk, 。 参与:签名者Signer与验证者VerifierSk),其中Pk称为 由签名者执行,该算法以签名秘密 签名者公开密钥,Sk为签名者秘 密钥Sk,待签名消息m∈{0,1}k为输 密钥;即Gen(1k)→(Pk, Sk)。 入,输出一个串s。此时称s为签名 所做的 密钥生成算法Gen 者以签名秘密密钥(Sk对消息sm。 签名,即Sig Sk,m)→ 它是一个确定性算法,由验证者执 行,该算法以签名公开密钥Pk,签名 签名生成算法Sig 消息对(m, s)为输入,输出0或1,即 Ver(Pk,m,s)→{0,1},如果 s∈Sig(m),则输出1说明签名有效; 签名验证算法Ver 反之输出0,则说明签名无效
首先对报文进行填充,填充方法 SHA-1算法使用了160比特 是:先添加一个比特1,然后填充 将一个64比特的填充前的消 SHA-1算法具体的处理步骤 (5×32比特)的缓存来存放 足够多的比特0,使填充后的报文 息的长度分组附加到报文后 中间以及最终结果,这160比 的长度与448模512同余,即为512 面,这个64比特的长度被看 特被分成5个32比特字H0,H1, 的倍数刚好减去64比特 作是一个无符号整数 步骤1: 附加填充比特 H4(SHA-1算法中每 消息开头循环地处理消息序列 H2,H3, 分组,直至消息的结尾。每一 个字32比特) 步骤2: 附加长度值 次循环都以当前处理的512比 特分组和MD缓存H0,H1,H2, 步骤3: 初始化MD缓存 H3,H4作为输入。