数字加密算法简介
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
User A的数字证书CertA
User A的数字证书CertA
User B向CA主动请求获取Pub-Key CA
用 Pub-key CA 验证Cert A的合 法性,并获取 Pub-key A
建立在身份明确的基础上的通信
数字加密算法在https中应用的简化模型
Brower Website
发送支持的加密规则
对称加密算法的比较
名称 DES 密钥长度 56位 运算速度 较快 安全性 低 资源消耗 中
3DES
AES
112位或168位
128、192、 256位
慢
快
中
高
高
低
AES是美国国家标准技术研究所NIST旨在取代DES的21世纪的加密标准
DES算法简单模型
DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES 算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES 的工作方式,有两种:加密或解密。
n,e为公钥,d为私钥
密钥长度应该介于1024bit到2048bit之间(长度768位目前已被攻 破)
RSA用于加解密模型
用户User B需要发送私密消息给User A的模型时序图
私钥只有自己知道,不 需要告诉他人 User A Pub-key A 用Pri-key A解 密密文消息M
公钥暴露于公网中,没 关系,它只用于加密 User B 用Pub-key A 加密消息M
数字签名的原始模型
User A要给User B写一封电子邮件,并使用数字签名证明这封信确实是User A写的 如果信件内容想保密的话,还可以加入RSA加密传输 User A 对信件内容M进行Hash 运算(获取数字摘要H1), 然后使用Pri-keyA对数字 摘要进行加密得到签名(S) User B 使用Pub-Key A对签名S 进行解密,得到数字摘要 H1,然后信件内容进行 Hash运算,得到数字摘 要H2,最后比对H1和H2是 否相等
ElGamal
一种较为常见的加密算法,它是基于1985年提出的公钥密码体制和椭圆曲线加密体系
ECC(椭圆曲线加密算法)
最初由Koblitz和Miller两人于1985年提出,其数学基础是利用椭圆曲线上的有理点构成 Abel加法群上椭圆离散对数的计算困难性
RSA算法简介
RSA是1977年由Ron Rivest、Adi Shamir、Leonard Adleman一起提
密钥管理便于管理,安全性更好
缺点
加密和解密花费时间长、速度慢,只适合对少量数据进行加密
常见的非对称加密算法
公钥密码体制根据其所依据的难题一般分为三类:大整数分解问题类、离散对数问题类、 椭圆曲线类。有时也把椭圆曲线类归为离散对数类。
RSA
RSA算法的可靠性基于分解极大的整数是很困难的
PKI采用证书进行公钥管理,通过第三方的可信任机构(认证中心, 即CA),把用户的公钥和用户的其他标识信息捆绑在一起,其中包 括用户名和电子邮件地址等信息,以在Internet网上验证用户的身份。 是网络安全建设的基础与核心,是电子商务安全实施的基本保障 基于PKI公钥基础设施,数字证书认证技术采用了加密传输和数字签 名,能够保证网络通信双方的身份信息的真实有效性,因此在国内外
出的。RSA就是他们三人姓氏开头字母拼在一起组成的。
RSA算法的可靠性基于分解极大的整数是很困难的。只要其钥
匙的长度足够长,用RSA加密的信息实际上是不能被解破的。
RSA算法利用两个很大的质数相乘所产生的乘积来加密。这两
个质数无论哪一个先与原文件编码相乘,对文件加密,均可由
另一个质数再相乘来解密。因此将这一对质数称为密钥对(Key Pair)。
数字加密算法简介
常见的加密算法分类
对称算法 非对称算法 Hash算法(散列算法)
对称加密算法
(也叫私钥加密)指加密和解密使用相同密钥的加密算法。 或者加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从加 密密钥中推算出来。
安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接
Baidu Nhomakorabea
信件内容M + 数字签名S + Pub-KeyA
即使信件内容被修改,但是签名无法 篡改,因为私钥不会暴露在外
风险:复杂情况下,假如User C使用自己的公私钥也给User B发了一封邮件,也声称自己是User A,User B无法通过对比数字摘要区分谁是A
PKI公钥基础设施 (Public Key Infrastructure)
RSA算法原理
RSA算法的安全性基于数论中大整数分解的困难性
RSA算法使用了乘方运算。 要求:
明文M经过加密得到密文C: C=Me mod n 密文C经过解密得到明文M: Cd mod n=(Me mod n)d mod n= Med mod n=M 即:必须存在e,d,n,使Med mod n=M成立 (可行性不在此证明)
数字签名是非对称密钥加密技术与数字摘要技术的应用
签名不是对报文的原始内容进行加密,而是对报文的数字摘要进行加密(因为非对称加解密对 较长的数据比较耗费资源)
数字签名达到了发送者事后不抵赖报文的签名,接受者不能篡改报文
内容和伪造对报文的签名的效果
发送者事后不抵赖报文的签名:只有发送者的私钥才能签名 接受者不能篡改报文内容和伪造对报文的签名的效果:接受者无法获取发送者的私钥所以无法 生成发送者的签名
64bit 密钥 64bit 密文/明文
64bit 明文/密文
DES 算法函数
Mode(加密/解密)
非对称加密算法
加密算法需要两个密钥:公开密钥和私有密钥两个不同的密钥,所以 这种算法叫作非对称加密算法
公私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能
解密;如果用私钥对数据进行加密,那么只有用对应的公钥才能解密 特点:算法强度复杂、安全性依赖于算法与密钥 优点
常用的Hash算法:
SHA-1(Secure Hash Algorithm) MD5(MD Standards for Message Digest)
任意长度的信息 Hash算法 固定长度的信息
数字签名
数字签名,即只有信息的发送者才能产生的别人无法伪造的一段数字 串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效 证明
HTTPS一般使用的加密与HASH算法如下: 非对称加密算法:RSA,DSA/DSS 对称加密算法:AES,RC4,3DES HASH算法:MD5,SHA1,SHA256
1. 验证证书Cert1的合法性 2. 生成随机对称密钥K1,并 用Puk-W加密 3. 产生随机数R1并计算签名 S1(可选)
返回证书Cert1(包含公钥Puk-W等)
发送K1密文+R1+S1+Brower证书Cert2
1.选择加密算法与Hash算法 2.提供Website证书Cert1
1. 验证Cert2和S1合法性 2. 使用Prk-W解密出K1明文 1. 通信双方确定了对方的合法身份 2. 并确立了后续通信的会话密钥K1 3. 后续的业务通信都是用K1加密报文
Algorithm)块密码的通称。
相当于是对每个数据块应用三次DES加密算法
AES(Rijndael)
2000年10月,NIST(美国国家标准和技术协会)宣布通过从15种侯选算法中选出的一项新的
密匙加密标准,Rijndael被选中成为将来的AES(Advanced Encryption Standard) 高级加密标准算法基于排列和置换运算
电子商务中,都得到了广泛的应用。
数字证书的使用原理
证明User A确实是User A的过程,引入第三方权威机构CA(Certification Center)
CA User A Pub-key A + 其他身份信息 User B
CA使用自己的 私钥对UserA提 供的信息进行 签名,生成证 书CertA
常用的对称加密算法
DES
DES ( Data Encryption Standard数据加密标准)是一种使用密钥加密的块密码 IBM公司于1975年研究成功并公开发表的,1976年被美国联邦政府的国家标准局确定为联邦资 料处理标准(FIPS),随后在国际上广泛流传开来
3DES
3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption
收的消息解密,所以密钥的保密性对通信的安全性至关重要。 优点
算法公开、计算量小、加密速度快、加密效率高
缺点
交易双方都使用同样密钥,安全性得不到保证 每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收 信双方所拥有的钥匙数量呈几何级数增长,密钥管理成为用户的负担
被公钥加密的密文消息M
密文消息暴露于公网没 关系,因为只有私钥可 以解密
Hash算法
在密码学中,Hash算法的作用主要是用于消息摘要 一种单向算法,可以通过Hash算法对目标信息生成一段特定长度的 唯一的Hash值,却不能通过这个Hash值重新获得目标信息。 Hash算法常用在不可还原的密码存储、信息完整性校验等 最重要的两条性质,就是不可逆和无冲突。