公钥密码体制 PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
RSA公钥密码体制 – 算法
加密:
◦ 设消息m < n, c = m e mod n
解密:
◦ m = c d mod n
解密证明:
◦ c d mod n = m ed mod n = m 1 mod φ(n) mod n = m k* φ(n) + 1 mod n
◦ m与n互素时,由欧拉定理 m k* φ(n) + 1 mod n = m k* φ(n) * m mod n = = m (φ(n))k * m mod n = m mod n , (m φ(n) mod n = 1)
RSA公钥密码体制 – 算法
密钥产生
◦ 选择两个大素数p、q ◦ 计算n = p * q, φ(n) = (p-1)*(q-1) ◦ 选择e,满足1 < e < φ(n),gcd(φ(n)、e)
=1 ◦ 计算d,满足de = 1 mod φ(n),即d为e在
模φ(n)下的乘法逆元 ◦ {e,n}为公钥,{d,p,q, φ(n)}为私钥
公钥密码体制产生背景
通信对方需要事先知道对称加密密钥 对于临时通信实体,无法方便的传递密
钥 无法实现真正的数字签名(通过加密模
式仅可以保证数据的完整性,但无法保 证不可否认性)
公钥密码体制产生背景
20世纪70年代中期,斯坦福大学研究 生Whirefield Diffe 和教授Martin Hellman特别研究了密钥分发问题,提 出了DH密钥协商方案
容易的算法(AKS:O(n6)),可以求出p、 q,使得n = p * q 例如:16843009 = p*q 分解算法包括二次筛选法(QS)、椭圆曲线 法(ECM)、Pollard蒙特卡罗算法 (Pollard’s MCA)、数域筛选法(NFS)、 AKS
RSA公钥密码体制 – 简介
目前为止,短密钥长度的RSA已经受到 威胁
公钥密码体制概念
设信息接收方B有一对密钥,其中公钥 Eb公开,私钥Db保密
信息发送方A使用接收方B的公钥加密 消息m,即发送密文c = Eb(m)
B接收到密文Eb(m)后,使用私钥Db解 密,得原消息,即m = Db(c) = Db(Eb(m))
其他任何人都可以获得Eb,因此,任 何人都可以加密;只有B才有Db,因此, 只有B才可以解密
公钥密码体制
公钥密码体制
产生背景 基本概念 RSA公钥密码体制 DH密钥协商 EC公钥密码体制
公钥密码体制产生背景
公钥密码体制产生背景
对称(分组)密码体制中,任意两个通 信双方之间需要共享一对互不相同的密 钥
N个用户,需要n(n-1)/2个密钥 每个用户需要保存n-1个密钥 密钥的更新和存储不能解决
公钥密码体制概念
设信息发送方A有一对密钥,其中公钥Ea 公开,私钥Da保密
信息发送方A使用自己的私钥对消息m(或 消息m的哈希值、CBC留数)加密(解密、 签名) ,即将签名s = Ea(m)附在消息m后 发送
B接收到(m|s)后,使用A的公钥Ea对s解密 (加密、验证),即检验m =? Ea(s) = Ea(Da(m))
安全的RSA通常认为需要使用1024比 特以上
国际上建议采用2048、4096比特密钥 长度
RSA用于密钥交换的功能正在被ECDH 所取代
RSA用于数字签名的功能正在被 ECDSA所取代
RSA公钥密码体制 – 数学基础
模运算 缩余系 费马小定理 a p-1 = 1 mod p 欧拉函数 φ(n) 欧拉定理 a φ(n) = 1 mod n 中国剩余定理(加速解密) 二次剩余(RSA参数选取) 欧几里德算法(逆的计算) 模幂的计算
公钥密码体制概念
公钥密码体制的建立是依据数学难问题 寻找一个单向陷门函数f:XY,其中
计算y = f(x)很容易,但如果不知道陷 门,则计算x = f-1(y)很难 现阶段公开且未解决的数学难题:
◦ 大整数分解难题(RSA) ◦ Zp域上的离散对数问题(DH) ◦ EC上点域的离散对数问题(EC)
其他任何人都可以获得Ea,因此,任何人 都可以对s解密(加密、验证);只有A才有 Da,因此,只有A才可以加密(解密、签 名)
公钥密码体制 – RSA体制
RSA公钥密码体制 – 简介
1978年,Rivest、Shamir、Adleman一 起提出RSA公钥密码体制
RSA基于大整数分解难题 n是由两个素数相乘得到,已知n,不存在
公钥密码体制概念
公钥密码体制概念
公钥密码体制最大的特点是:
◦ 采用两个密钥
其中一个密钥公开,用于加密变换,任 何人都可以得到,称为公钥E
另外一个密钥保密,用于解密变换,只 用用户才有,称为私钥D
已知密码体制及公钥,无法推出私钥 D(E(m)) = m; (E(D(m)) = m)
1985年,椭圆曲线学被提出,在椭圆 曲线上可以建立一套公钥密码体制,即 现在流行的ECC
公钥密码体制产生背景
公钥密码体制现在已经被广泛的应用 利用公钥密码体制,能有效的解决:
◦ 密钥分发(RSA,ECIS) ◦ 密钥协商(DH,ECDH) ◦ 身份认证 ◦ 数字签名(RSA,DSA,ECDSA)
公钥密码体制概念
公钥密码体制还可以用于数字签名,保 证消息的完整性,来源的真实性,以及 来源发送消息的不可否认性
◦ 完整性:数据没有被篡改 ◦ 真实性:数据确实是由声称发送数据的实
体发送的 ◦ 不可否认性:数据的发送方不可否认自己
曾对数据签名(签名内容不一定不可否认)
(需配合哈希函数或对称加密CBC模式 使用)
该方案可以在公开信道上建立一个共享 秘密
Diffe和Hellman在1976年发表了《密 码学的新方向》论文,改论文提出了公 钥密码学思想
公钥密码体制产生背景
《Байду номын сангаас码学的新方向》提出使用一个密钥 加密,一个密钥解密的密码体制
1977年,MIT的Ron Rivest,Adi Shamir和Len Adleman发明了一个可 以真正用于加密数据的公钥算法,即 RSA算法