密码算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ENCRYPTION (public key) C = M^E mod N
DECRYPTION (private key) M = C^D mod N
使用密钥解决上述问题。考虑算法及密钥强度。
现代密码学用密钥解决了这个问题,密钥用K表示。K可以是很多 数值里的任意值。密钥K的可能值的范围叫做密钥空间。加密和 解密运算都使用这个密钥(即运算都依赖于密钥,并用K作为下 标表示),这样,加/解密函数现在变成: EK(M)=C DK(C)=M 这些函数具有下面的特性: DK(EK(M))=M
算法和密钥
密码算法也叫密码,是用于加密和解密的数学函数。(通常情况 下,有两个相关的函数:一个用作加密,另一个用作解密)
如果算法的保密性是基于保持算法的秘密,这种算法称为受限制 的算法。受限制的密码算法不可能进行质量控制或标准化。每个 用户组织必须有他们自己的唯一算法。如果这个组织中没有好的 密码学家,那么他们就无法知道他们是否拥有安全的算法。
Beyond Excellence
密码算法
encipher (encrypt )
decipher (decrypt )
消息和加密
明文用M(消息)表示,它可能是比特流(文本文件、 位图、数字化的语音流或数字化的视频图像)。明文 可被传送或存储,无论在哪种情况,M指待加密的消 息。 密文用C表示,它也是二进制数据。加密函数E作用于 M得到密文C,用数学表示为: E(M)=C. 相反地,解密函数D作用于C产生M D(C)=M. 先加密后再解密消息,原始的明文将恢复出来,下面 的等式必须成立: D(E(M))=M
密钥 明文 加密 密文 解密
密钥
原始 明文
有些算法使用不同的加密密钥和解密密钥,也就是说 加密密钥K1与相应的解密密钥K2不同(非对称算法), 在这种情况下: EK1(M)=C DK2(C)=M DK2 (EK1(M))=M
加密 密钥 明文 密文 解密 密钥 原始 明文
加密
解密
最好的算法是那些已经公开的,并经过世界上 最好的密码分析家们多年的攻击,但还是不能 破译的算法
明文
加密
密文
解密
原始明文
鉴别、完整性和抗抵赖
除了提供机密性外,密码学通常有其它的作用: -鉴别 消息的接收者应该能够确认消息的来源;入侵者不可能伪装成他 人。 -完整性 消息的接收者应该能够验证在传送过程中消息没有被修改;入侵 者不可能用假消息代替合法消息。 -抗抵赖 发送者事后不可能虚假地否认他发送的消息。
对称算法与非对称算法比较
“我们的五年计划是 ...” “Py75c%bn&*)9|fDe^b DFaq#xzjFr@g5vMd’r kgMs” 密文 “我们的五年计划是 ...”
B先生
加密 Encryption B使用密钥 进行加密
A先 生
解密 Decryption
Interne t
密钥
A使用密钥 进行解密
消息保密(公钥算法) 防篡改(私钥算法) 防抵赖(私钥算法)
RSA的密钥选择原理: 选择两个足够大的素数p和q,且令 n=p*q,实用中n为 512位或1024位的数。 计算欧拉函数 (n)=(p-1)*(q-1)。 任选一与(n)互素的整数e作为公开的加密密钥。 解密密钥d则应满足d*e = 1 mod (n),即d*e=k(p1)(q-1)+1。 整数k是(p-1)和(q-1)的最大公约数。 (e,n)和(d,n)分别是加密密钥和解密密钥,d也是要保密 的。
A和B使用同 一把密钥
密钥
B先生
“Py75c%bn&*)9|fDe^b DFaq#xzjFr@g5vMd’r kgMs” 密文
密钥
加密 Encryption
B使用对方的 公钥对会话密 钥进行加密
A的公 钥
公钥
Internet
解密 Decryption A使用自己的 私钥进行解密 得到会话密钥
私钥
密钥
A先生
A和B使用不 同的密钥
A的私 钥
RSA
1977年,M.I.T.的三位科学家提出RSA算法。
基于数论的大整数素数因子分解的困难上,属于分组密码体制。
RSA公钥系统受到了重视,并有以该算法为基础的国际标准。基 于此算法的PKI体系在国内外获得广泛的应用。
主要缺点是产生密钥受到素数产生技术的限制;密钥分组长度较 长,运算速码
3DES DES是一个分组算法,以64bits为分组对数据 加密。64bits明文从算法的一端输入,64bits的 密文从另一端输出。 对称算法。 MAC DES CBC
3DES CBC & ECB
密码分组链方式(CBC)的3DES算法。3DES(CBC) 用8比特一组的加密数据(密文)来代替8比特一组的 未加密数据(明文)。一个随机的、8比特的初始化向 量(IV)被用来加密第一个明文分组,以保证即使在 明文信息开头相同时也能保证加密信息的随机性。 ECB模式无初始向量(IV),算法与CBC相同 尾组不足8bytes,先补0x80,如仍不足补0x00
MAC
使用DES CBC模式
初始向量 8bytes 0x00 明文尾组不足8字节,填充0x20 取迭代加密结果左4bytes作MAC
密钥分散
3DES ECB
主密钥:km(16bytes); 分散因子:X (8bytes,不足补0x20) 分散后子密钥kc,kcl:kc左半部分;kcr:kc右半部分 kcl=3DES (km, X) kcr=3DES (km, not X) kc=kcl||kcr
相关文档
最新文档