公钥密码体制原理及展望---读《New Directions in Cryptography》
公钥加密体制简介

二、公钥体制的意义
1、使用了数学函数工具,而以前用的是置换的方法。简单的就是a~z于F~E的映射加密。
2、产生了两个密钥、寓加密于密钥中
结决了两个问题:密钥分配和数字签字
三、原理
公钥加密体制一共有两个密钥,一个是公钥PK(PublicKey),一个是钥SK(SecretKey).
3、解密
m等于c的d次方(modn)
4、证明过程我就不写了
由于我不会插入数学公式,所以上面好多用文字描述。(c)Copyleft2003-2007,EvilOctalSecurityTeam.
ThisfileisdecompiledbyanunregisteredversionofChmDecompiler.
c、选择一个整数e,满足1<e<T(n)
gcd[e,modT(n)
e、{e,n}=PK,{d,n}=SK
2、加密
现对加密明文分组,使得每组对应的十进制数小于n,可以使每段长度小于log(n).设m为一个消息 分组。c等于m的e次方(modn)
本文需要读者有一定的数学能力
作者:东方
==================
[C.G.I]
[E.S.T]
==================
转贴请注明出处,谢谢合作!
××××××××××××××××××××××××××××××××××××××××××××××
Regsiteredversiondoesnotshowthismessage.
YoucandownloadChmDecompilerat:/
�
公钥密码体制

如果序列为超递增序列,则背包问题则是P类问题。
14
MH背包密码的基本思想
利用实际上存在两类不同的背包问题,一类在线性时间 内可解(超递增背包问题),而另一类不能(普通背包问题)。 易解的背包问题可以转化成难解的背包问题。公钥使用难解 的背包问题,它可很容易地被用来加密明文但不能用来解密 密文。私钥使用易解的背包问题,它给出一个解密的简单方 法。不知道私钥的人要破解密文就不得不解一个难解的背包 问题。
i=1
利用已知u并根据uv=1 (mod p) ,可求得v。
下面作变换称为墨科-赫尔曼(Merkle-Hellman)变换:
ak≡ubk(mod p),k=1,2,…,n 非超递增序列{ai}和p作为公钥; 超递增序列{bi}和v作为私钥;
12
背包问题
已知一长度 b 的背包及长度分别为 a1,a2,… ,an 的 n 个物品。假定这些物品的半径和背包相同,若从这 n 个物品 中选出若干物品使得恰好装满这个背包。
公式化的描述为:给定一个正整数集A={a1,a2,…,an},已 知b是A的某子集中元素的和。问题是,找到一个n元的0 、1
向量X=(x1,x2,…,xn)使得:
n
∑ aixi = b
i =1
这是一个NP问题。
其中a1, a2, … , an 和 b 都是正整数。
13
超递增序列
如果序列 a1, a2, … , an 满足条件:
i −1
∑ ai > a j (i = 2,3,..., n) j =1
则称该序列为超递增序列。 例如: {1,2,4,8, … ,2n }
第四章-公钥密码体制

• 推论: p素数,a是任意整数,则: ap a mod p
– M kφ(n)+1=M mod n
RSA算法举例(1)
p = 53,q = 61,n = pq = 3233, φ(n)=52x60 = 3120 令d = 791,则e = 71 令m = RE NA IS SA NC E 即m = 1704 1300 0818 1800 1302 0426 170471 mod 3233 = 3106,…, C = 3106 0100 0931 2691 1984 2927
欧拉定理
• 证明: • R={x1,x2,…,x(n)}为所有小于n且与n互素的正整数,考虑集 合 • S={(ax1mod n), (ax2mod n),…, (ax(n) mod n)} • (aximod n)与n互素 • (aximod n)两两不等: • (aximod n) = (axjmod n) ximod n = xjmod n • S有(n)个元素 • 故S也是所有小于n且与n互素的正整数,因此S=R,从而 xi=(aximod n)((axi)) mod n • (a(n) xi) mod n • 注意到xi 与n互素,从而得到结论.
费马(Fermat)定理
• 若p是素数,a是正整数,且gcd(a,p)=1,则ap1≡1mod p • 证明:考虑集合{1,2,…,p-1},对每个数乘以a,得到 集合{a mod p,2a mod p,…,(p-1)a mod p},对于p, 后者两两不同且都在1与p-1之间,因此两个集合相 同,于是:
第4章公钥密码体制

1976年,W.Diffie和M.E.Hellman发表了“密码学的新方 向(New Directions in Cryptography)”一文,提出了公 钥密码学(Public-key cryptography)的思想,在公钥密 码体制(Public-key cryptosystem)中加密密钥和解密密 钥是不同的,加密密钥可以公开传播而不会危及密码体制 的安全性。
数字签名和认证
只有解密密钥能解密,只有正确的接收者才拥有解密密钥
单向函数
对于一个函数 f (x) ,如果对于其定义域上的 任意 x,都容易计算 f (x) ,同时,对于其值 域中几乎所有的取值 y ,计算其逆函数 f 1 ( y) 都是不可行的,则函数 f (x) 被称为单向函数
可以提供单向函数的三大数学难题
硬件实现:比 DES 慢 1000 倍。
软件实现:比 DES 慢 100 倍。
安全强度:
同等强度的 DES 与 RSA 比较
RSA的缺点主要有: 产生密钥很麻烦,受到素数产生技术的限制,因而难 以做到一次一密。 分组长度太大,为保证安全性,n 至少也要 600比特 以上,使运算代价很高,尤其是速度较慢,较对称密 码算法慢几个数量级;且随着大数分解技术的发展, 这个长度还在增加,不利于数据格式的标准化。 目前,SET(Secure Electronic Transaction)协议中要 求CA采用2048比特长的密钥,其他实体使用1024比特的 密钥。
取公钥:e=7,计算私钥:d =23.
明文: m=88, 计算密文: c=887 (mod 187).
1. 如果密码分析者能分解
n
的因子 p 和 q ,他就
可以求出 n 和解密的密钥 d ,从而能破译RSA,因此破 译RSA不可能比因子分解难题更困难。
《公钥密码体系》课件

03
保障国家安全
公钥密码体系在国家安全领域 中也有广泛应用,如军事通信
、政府机密保护等。
公钥密码体系的历史与发展
03
起源
公钥密码体系起源于20世纪70年代,最 早的公钥密码体系是RSA算法。
发展历程
未来展望
随着计算机科学和数学的发展,公钥密码 体系不断得到改进和完善,出现了多种新 的算法和应用。
随着互联网和物联网的普及,公钥密码体 系将面临更多的挑战和机遇,需要不断探 索和创新。
性能问题
1 2 3
加密和解密速度
公钥密码体系的加密和解密速度通常较慢,需要 优化算法和提高计算能力,以提高加密和解密的 速度。
资源消耗
公钥密码体系通常需要较大的计算资源和存储空 间,需要优化算法和资源利用方式,以降低资源 消耗。
适应性
公钥密码体系需要适应不同的应用场景和需求, 需要开发适用于不同场景的公钥密码算法和解决 方案。
人工智能与机器学习
人工智能和机器学习技术在公钥密码体系中也有着广阔的应用前景。这些技术可以帮助自动识别和防御 网络攻击,提高公钥密码体系的安全性和可靠性。
应用领域拓展
物联网安全
随着物联网技术的普及,公钥密 码体系在物联网安全领域的应用 将越来越广泛。物联网设备需要 使用公钥密码算法进行身份认证 和数据加密,以确保设备之间的 通信安全。
非对称加密算法可以支持多种加密模式,如对称加密算法中的块加 密和流加密模式。
数字签名
验证数据完整性和身份
数字签名使用私钥对数据进行加密,生成一个数字签名。 接收者使用公钥解密数字签名,验证数据的完整性和发送 者的身份。
防止数据被篡改
数字签名可以防止数据在传输过程中被篡改,因为任何对 数据的修改都会导致数字签名无效。
公钥密码体制 PPT课件

公钥密码体制 – RSA体制
RSA公钥密码体制 – 简介
1978年,Rivest、Shamir、Adleman一 起提出RSA公钥密码体制
RSA基于大整数分解难题 n是由两个素数相乘得到,已知n,不存在
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)
公钥密码体制概念
公钥密码体制的建立是依据数学难问题 寻找一个单向陷门函数f:XY,其中
计算y = f(x)很容易,但如果不知道陷 门,则计算x = f-1(y)很难 现阶段公开且未解决的数学难题:
◦ 大整数分解难题(RSA) ◦ Zp域上的离散对数问题(DH) ◦ EC上点域的离散对数问题(EC)
安全的RSA通常认为需要使用1024比 特以上
国际上建议采用2048、4096比特密钥 长度
RSA用于密钥交换的功能正在被ECDH 所取代
RSA用于数字签名的功能正在被 ECDSA所取代
RSA公钥密码体制 – 数学基础
模运算 缩余系 费马小定理 a p-1 = 1 mod p 欧拉函数 φ(n) 欧拉定理 a φ(n) = 1 mod n 中国剩余定理(加速解密) 二次剩余(RSA参数选取) 欧几里德算法(逆的计算) 模幂的计算
公钥密码原理

公钥密码原理公钥密码学是一种根据密码技术原理实现信息保密与数据安全传输的安全技术,它通过建立信息发送者与接收者之间的加密技术实现信息的安全传输,从而在安全技术领域中受到广泛应用。
公钥密码学是一种非常重要的安全技术,它利用了一种叫做“公钥密码”的技术,来保护信息免受未经授权的第三方间谍的窃取或窃听的行为。
这种安全技术的原理是,一个称为公钥的需要保密的信息发送者将信息编码成一个数字算法后,便将这个数字算法发送给收件人,收件人拥有相应的数字算法,称为私钥,这样收件人就可以用自己的私钥对发件人发来的公钥进行解密,解密后就可以和发件人进行安全的信息传输,而且任何未经授权的第三方无法从中获得任何有关信息。
公钥密码学技术的发展有着悠久的历史,它最初出现在1970年代,当时由美国国家安全局(NSA)主导的一系列称之为“曲折历史”的项目中首次被提出。
该项目的最终成果是美国国家安全局(NSA)与加拿大安全局(CSEC)的MD5数学算法,它是支持公钥密码学技术最早的瑞士中央银行发放的那批椭圆曲线函数及数字签名标准(ECDSA)和统一椭圆曲线算法(ECC)之前被研发出来的最初算法。
为了更有效地支持公钥密码学技术,一些重要的数学原理和安全算法,如Diffie-Hellman算法、RSA算法等,被开发出来,它们被广泛用于公钥加密、数字签名和数字信封等安全性高的应用场景中。
由于Diffie-Hellman算法的特殊性,它被公认为是现代公钥密码学中的主要基础,而RSA算法被认为是现代公钥密码学中最为重要的数学基础,它是现代公钥密码学最基本的算法。
公钥密码学技术通过在发送信息时使用一个公钥,在接收信息时使用一个私钥,实现了信息的安全传输,从而应用于很多安全性要求较高的场景,如网络支付、金融支付、网上银行、电子商务等,从而大大提高了信息传输的安全性。
当今,公钥密码学技术已成为信息安全领域最重要的一种技术,它被广泛地应用于各种安全场景中,如电子商务、金融支付、网上银行等,这些安全场景中所使用的公钥密码学技术有效地保护了个人信息不被未经授权的第三方间谍窃取和窃听。
现在密码学第11讲公钥密码

无需事先分配密钥。
密钥持有量大大减少
提供了对称密码技术无法或很难提供的服务:
如与哈希函数联合运用可生成数字签名,可 证明的安全伪随机数发生器的构造,零知识 证明等
公钥密码体制有4个组成部分
明文:算法的输入,它们是可读信息或数据,用M 表示; 密文:算法的输出。依赖于明文和密钥,对给定的 消息,不同的密钥产生密文不同。用E表示; 公钥和私钥:算法的输入。这对密钥中一个用于加 密,为Ke,此密钥公开;一个用于解密,为Kd,此 密钥保密。加密算法执行的变换依赖于密钥; 加密、解密算法
传统密码体制在应用中的缺陷
密钥难以传输
不能提供法律证据 缺乏自动检测密钥泄密的能力
公钥密码体制(Public key system)
公钥密码学与其他密码学完全不同: 公钥算法基于数学函数而不是基于替换和置换 使用两个独立的密钥 公钥密码学的提出是为了解决两个问题: 密钥的分配 数字签名 1976年Diffie和Hellman首次公开提出了公钥密码学 的概念,被认为是一个惊人的成就。
M(n) =1+kq
两边同乘以M=cp,则: M(n)+1=M+kqcp=M+kcn 把kc看作一个常数,则:M(n)+1=M+tn 即:M(n)+1 ≡M mod n,即M(n) ≡1 mod n 因为ed=1 mod (n), 所以: Med ≡ Mk(n)+1 ≡ M[M(n) ]kmod n ≡ M[1]kmod n ≡ M mod n 综上,这样的e,d,n可以实现加密C=Me mod n 和解密M=Cd mod n
“The
magic words are squeamish ossifrage”
公钥密码体制及典型算法课件

W.Diffie and M.E.Hellman, New Directions in Cryptography, IEEE Transaction on Information Theory, V.IT-22.No.6, Nov 1976, PP.644-654
学习交流PPT
在计算上是容易的。 ② 发方A用收方的公开钥对消息m加密以产生密
文c,即c=EPKB[m] 在计算上是容易的。
③ 收方B用自己的秘密钥对c解密,即m=DSKB[c] 在计算上是容易的。
学习交流PPT
25
公钥密码算法应满足的要求
④ 敌手由B的公开钥PKB求秘密钥SKB在计算上是不 可行的。
⑤ 敌手由密文c和B的公开钥PKB恢复明文m在计算 上是不可行的。
• 密钥分配问题不是一个容易的问题(the key distribution problem )
学习交流PPT
6
公钥算法分类
• Public-Key Distribution Schemes (PKDS,公钥分配系统)
• 用于交换秘密信息(依赖于双方主体) • 常用于对称加密算法的密钥
• Public Key Encryption (PKE,公钥加密)
学习交流PPT
15
公钥密码体制的原理
• ③ A要想向B发送消息m,则使用B的公开钥加密m, 表示为c=EPKB[m],其中c是密文,E是加密算法。
• ④ B收到密文c后,用自己的秘密钥SKB解密,表示 为m=DSKB[c],其中D是解密算法。
学习交流PPT
16
公钥密码体制认证框图
学习交流PPT
17
学习交流PPT
13
公钥密码体制的原理与应用方法

公钥密码体制的原理与应用方法1. 引言公钥密码体制是现代密码学中一种重要的密码体制,通过使用公钥和私钥来实现加密和解密的过程。
公钥密码体制具有安全性高、方便性好等优点,在信息传输、电子商务、网络通信等领域得到了广泛的应用。
本文将介绍公钥密码体制的原理和常见的应用方法。
2. 公钥密码体制的原理公钥密码体制是基于数学问题的难解性原理设计的一种安全机制。
其核心思想是在整个加密过程中,只有私钥的持有者才能解密密文,而公钥可以公开给任何人使用。
公钥密码体制的原理包括: - 公钥和私钥的生成:公钥和私钥是一对密钥,必须满足一定的数学关系。
公钥是公开的,私钥只有私钥持有者知道。
- 加密过程:使用公钥对明文进行加密,生成密文。
- 解密过程:只有私钥持有者才能使用私钥对密文进行解密,得到明文。
3. 公钥密码体制的应用方法公钥密码体制广泛应用于以下几个方面:3.1 数字签名数字签名是公钥密码体制的重要应用之一。
它可以用于验证消息的完整性和真实性,防止消息被篡改。
数字签名的过程包括: - 消息摘要的生成:将原始消息通过哈希函数等方式生成一个固定长度的消息摘要。
- 摘要的加密:用私钥对消息摘要进行加密,得到数字签名。
- 数字签名的验证:接收者使用公钥对数字签名进行解密,得到消息摘要。
再将原始消息通过同样的哈希函数等方式生成一个新的消息摘要,与解密得到的消息摘要进行比较。
如果两者一致,说明消息的完整性和真实性得到验证。
3.2 密钥交换公钥密码体制可以用于实现双方在不安全信道上进行密钥交换的过程。
常见的密钥交换算法有Diffie-Hellman算法等。
其基本原理是通过双方互相传递公钥,并根据一些数学运算得到相同的对称密钥,然后就可以使用对称密钥进行加密和解密。
3.3 数据加密公钥密码体制可以用于对数据进行加密,以保证数据在传输过程中的安全性。
常见的对称加密算法有RSA算法、ElGamal算法等。
公钥密码体制的加密过程如下: - 接收者生成公钥和私钥,并将公钥公开。
第13次课公钥密码

解密:219 (mod253) = 72
10119 (mod253) = 105
Bob查ASCII表得 “Hi”
❖实际中不可能用这么小的数字(eg. 11、23),这 样能很容易从公钥发现私钥。
例如:已知Pk=(139,253),可尝试分解253求出p和q。 最简单的方法:用小于16的每个素数去除253。162>253
d是b和amodb的公因子
a,b的公因子集合与b,amodb的公因子集合相等,两
个集合的最大值也相等。
证毕
Euclid算法 --求最大公因子(示例) ❖ gcd(55,22)=gcd(22,55mod22)
=gcd(22,11) =gcd(11,22mod11) =gcd(11,0)=11
❖ gcd(18,12)=gcd(12,6)=gcd(6,0)=6
❖公钥算法的种类很多,具有代表性的三种密码:
▪ 基于整数分解难题(IFP)的算法体制 ▪ 基于离散对数难题(DLP)算法体制 ▪ 基于椭圆曲线离散对数难题(ECDLP)的算法体制
RSA算法
RSA Algorithm
RSA算法概况
❖MIT 三 位 年 青 数 学 家 R.L.Rivest , A.Shamir 和 L.Adleman[Rivest等1978, 1979]发现了一种用数论构 造双钥的方法,称作MIT体制,后来被广泛称之为 RSA体制。
第13次课公钥密码
公钥密码体制的原理
❖采用两个相关密钥将加密和解密能力分开,其中一
个密钥是公开的,称为公开密钥 ,用于加密;另一 个密钥是为用户专用,因而是保密的,称为秘密密 钥 ,用于解密。
❖因此公钥密码体制也称为双钥密码体制 。
❖算法有以下重要特性:
公钥密码体制课件

THANKS
感谢观看
云计算与大数据
数据存储加密
对存储在云端的数据进行加密,确保数据的安全性和 隐确保只有授权用户 能够访问云端数据。
容灾备份
在大数据场景中,公钥密码体制用于容灾备份数据的 加密和完整性校验。
04
公钥密码体制的实现技术
RSA算法
总结词
RSA算法是一种非对称加密算法,基于数论中的一些基础性质,使用一对公钥和私钥进行加密和解密操作。
数据完整性
通过数字签名等技术,公钥密码体 制能够确保数据的完整性和真实性。
身份认证
公钥密码体制可用于身份认证,验 证发送方的身份,防止伪造和冒充。
公钥密码体制的历史与发展
历史
公钥密码体制的思想起源于20世纪 70年代,最早的公钥密码体制是RSA 算法。
发展
随着技术的不断进步,公钥密码体制 的应用越来越广泛,涉及到网络安全、 电子支付、电子政务等领域。
证书吊销与信任链管理
在公钥密码体制中,证书用于验证公 钥的合法性,但证书可能被吊销或受 到信任链上的信任问题影响。
管理证书吊销列表和信任链的有效性 是确保公钥密码体制安全的重要环节, 需要定期检查和更新证书状态,以及 在必要时撤销或更新信任链。
06
公钥密码体制的未来展望
新算法的研究与发展
算法优化
详细描述
RSA算法由Rivest、Shamir和Adleman于1977年提出,是目前应用最广泛的公钥密码算法之一。其安全性基于 大数质因数分解的困难性,通过选取适当的参数,能够保证很高的安全性。RSA算法可用于加密、数字签名等应 用场景。
ECC算法
总结词
ECC算法是一种基于椭圆曲线的公钥密码算法,具有密钥长度相对较小、加密速度快、安全性高等优 点。
7-公钥密码

Public Key Cryptography
加密密钥
解密密钥
公钥密码学思想
公钥密码算法的基本工具不再是代换和置换,而是 数学函数。 公钥密码算法是以非对称的形式使用两个密钥,两 个密钥的使用对 保密性、密钥分配、认证 等都有 着深刻的意义。 公钥密码体制的出现在密码学史上是一个最大的而 且是惟一真正的革命。
安全性要求: 1、密钥必须保密 2、没有密钥,解密不可行 3、知道算法和若干密文不足 以确定密钥
RSA算法概况
美国麻省理工学院 MIT三位年青数学家R.L.Rivest, A.Shamir和L.Adleman[Rivest等1978, 1979]发现了一 种用数论构造双钥的方法,称作MIT体制,后来被 广泛称之为RSA体制。 它是世界上第一个既能用于数据加密也能用于数字 签名的非对称性加密算法 。 该算法利用了数论领域的一个事实,那就是虽然把 两个大质数相乘生成一个合数是件十分容易的事情 ,但要把一个合数分解为两个质数却十分困难。合 数分解问题目前仍然是数学领域尚未解决的一大难 题,至今没有任何高效的分解方法。
每个用户都有一对 选定的密钥(公钥 k1;私钥k2)
加密密钥可以 像电话号码一样进 行注册公布。
公钥密码体制的特点
加密和解密能力分开。 多个用户加密的消息只能由一个用户解读,(用 于公共网络中实现保密通信)。 只能由一个用户加密消息而使多个用户可以解读 (可用于认证系统中对消息进行数字签字)。 无需事先分配密钥。
RSA算法描述
1. 密钥产生
独立地选取两大素数 p 和 q (各100~200位十进制数 字) 计算 n =p×q,其欧拉函数值(n)=(p-1)(q-1) 随机选一整数e,1 < e<(n),gcd((n), e)=1 在模(n)下,计算e 的乘法逆元d=e -1 mod (n) 以n,e 为公钥。秘密钥为d 。(p, q不再需要,可以销 毁。)
第4章公钥密码体制

利用推广的欧几里德算法简化计算:
其计算原理依赖于下面的定理:
定理 :gcd(a,b) = gcd(b,a mod b) ② 定理:a存在模p的乘法逆元的充要条件 是 gcd(a,p) = 1 如果gcd(a,b)=d,则存在m,n,使得d = ma + nb, 称呼这种关系为a、b组合整数d,m,n称为组 合系数。当d=1时,有 ma + nb = 1 ,此时可以 看出m是a模b的乘法逆元,n是b模a的乘法逆元
公钥和私钥必须相关,而且从公钥到私钥不可
推断
必须要找到一个难题,从一个方向走是容易的,从 另一个方向走是困难的 如何把这个难题跟加解密结合起来
计算可行和不可行的界与计算复杂性理论密
切相关
计算复杂性理论可以提供指导
但是需求不尽相同
计算复杂性通常针对一个孤立的问题进行研究 而公钥密码学往往需要考虑一些相关的问题 比如,密码分析还需要考虑已知明文、选择明文等相关的情形 计算复杂性考虑最坏的情形 而对于公钥密码学则是不够的
二、密钥的选取
①
挑选大素数p 和 q 。 选择 e 或 d ,并计算另外一个。
②
选取一个素数的过程如下:
①随机选一个奇数n; ②随机选一个整数a<n; ③完成素性检测,如下面的Miller-Rabin算法 ④如果n没有通过检验,舍弃n并转向步骤(1),如果n
通过了足够多次的检验,就接受它为素数,否则转 向步骤(2)
ElGamal:安全性基于有限域内计算离散对
数的困难性。
– 数字签名 – 加密
基础知识
若p是素数,则0,1……,p-1
构成一个有限域 本原元定义:若(a,m)=1,以m为模a的指数φ (m) 为使ad=1 mod m成立的最小的正整数d,则a叫 做模m的原根或本原元。 本原元α :α 满足α p-1=1 mod p且p-1是使此关 系式成立的最小正整数,p为素数
公钥密码原理

公钥密码体制原理简介及补遗(陈云川ybc2084@ UESTC,CD 2007年6月26日)核心思想公钥密码体制的核心思想是:加密和解密采用不同的密钥。
这是公钥密码体制和传统的对称密码体制最大的区别。
对于传统对称密码而言,密文的安全性完全依赖于密钥的保密性,一旦密钥泄漏,将毫无保密性可言。
但是公钥密码体制彻底改变了这一状况。
在公钥密码体制中,公钥是公开的,只有私钥是需要保密的。
知道公钥和密码算法要推测出私钥在计算上是不可行的。
这样,只要私钥是安全的,那么加密就是可信的。
显然,对称密码和公钥密码都需要保证密钥的安全,不同之处在于密钥的管理和分发上面。
在对称密码中,必须要有一种可靠的手段将加密密钥(同时也是解密密钥)告诉给解密方;而在公钥密码体制中,这是不需要的。
解密方只需要保证自己的私钥的保密性即可,对于公钥,无论是对加密方而言还是对密码分析者而言都是公开的,故无需考虑采用可靠的通道进行密码分发。
这使得密钥管理和密钥分发的难度大大降低了。
两种密码体制的特征对比表1将对称密码和公钥密码的特征进行了对比。
如前所述,公钥密码体制使用两个密钥,习惯上,为了将其与对称密码体制中的密钥相区分,把公钥密码体制中使用的两个密钥分别称为公钥和私钥。
公钥是可公开的,而私钥则是要保密的。
表 1 对称密码和公钥密码的对比对称密码公钥密码加解密使用相同的密钥和相同的算法同一算法用于加解密,但加密和解密使用不同的密钥一般要求收发双方必须共享密钥收发双方共享公钥,但各自的私钥是保密的密钥必须是保密的私钥必须是保密的若没有其它信息,则解密消息是不可能的或至少是不可行的若没有其它信息,则解密消息是不可能的或至少是不可行的安全性要求知道算法和若干密文不足以确定密钥知道算法和其中一个密钥以及若干密文不足以确定另一密钥公钥密码的两种基本用途公钥密码的两种基本用途是用来进行加密和认证。
为了便于说明,不妨假设消息的发送方为A,相应的公钥对为(PU A,PR A)。
信息安全概论-公钥密码体制

单向函数
• 这听起来很好,但事实上却不能证实它的真实 性。如果严格地按数学定义,我们不能证明单 向函数的存在性,同时也还没有实际的证据能 够构造出单向函数。即使这样,还是有很多函 数看起来和感觉像单向函数:我们能够有效地 计算它们,且至今还不知道有什么办法能容易 地求出它们的逆。例如,在有限域中x2是很容 易计算的,但计算√x却难得多。所以我们假定 也尽量构造单向函数存在。
陷门单向函数
• 陷门单向函数是有一个秘密陷门的一类特殊单 向函数。它在一个方向上易于计算而反方向却 难于计算。但是,如果你知道那个秘密,你也 能很容易在另一个方向计算这个函数。也就是 说, 已知x,易于计算f(x),而已知f(x) ,却难于计算x。然而,有一些秘密信息y,一 旦给出f(x)和y,就很容易计算x。 • 拆开表是很好的单向陷门函数的例子。很容易 把表拆成数百片小片,把这些小片组装成能够 工作的表是非常困难的。然而,通过秘密信息 (表的装配指令),就很容易把表还原。
公钥密码体制
回顾
• • • • 分组密码原理 流密码原理 Feistel网络结构 DES算法:初始置换与逆置换、扩展运 算、压缩运算、DES变形 • 分组密码工作模式
基本原理
• 公钥密码体制的编码系统是基于数学中 的陷门单向函数。 • 公钥密码体制采用了两个不同的密钥, 这对在公开的网络上进行保密通信、密 钥分配、数字签名和认证有着深远的影 响。
思考题
• 课本60面习题1的c小题。
思考题解答
• • • • • N=pq=77, ϕ(n)=60; 选e=7; 77d-60k=1d=53; C=87mod77=2097152mod77=57; P=5753mod77=8;
可使用科学计算器。
3公钥密码体制

≡ xikϕ ( n ) +1 mod n
≡ xi ⋅ xikϕ ( n ) mod n
≡ xi
讨论RSA算法的安全性: 讨论 算法的安全性: 算法的安全性
在算法中, 和 作为公开密钥 作为公开密钥, 在算法中,e和n作为公开密钥,任何人都 可以用来加密消息; 可以用来加密消息;而p、q、d和 ϕ (n) 是保密 、 、 和 用来解密密文,只有私钥拥有者知道, 的,用来解密密文,只有私钥拥有者知道,也 就是只有接收者知道。 就是只有接收者知道。 由于n为两个大素数的乘积 为两个大素数的乘积, 由于 为两个大素数的乘积,又n=pq,那么 , 可以得到Φ(n)=(p-1)(q-1)。发信者并不知道 的 可以得到 。发信者并不知道n的 两个素因子p和 ,就无法计算Φ(n)。 两个素因子 和q,就无法计算 。 又由于ed≡1 modΦ(n) (n), 又由于ed≡1 mod (n),d是通过此式计算 出来的,因此无法计算 无法计算d, 出来的,因此无法计算 ,所以就无法进行解 密。 这样, 这样,只有秘密钥拥有者才可以进行密文 的解密,其他任何人都不能。 的解密,其他任何人都不能。
RSA体制的安全性基于数论中的Euler RSA体制的安全性基于数论中的Euler 体制的安全性基于数论中的 定理和计算复杂性理论中的下述论断: 定理和计算复杂性理论中的下述论断 : 求两个大素数的乘积是很容易计算的, 求两个大素数的乘积是很容易计算的 , 但要分解两个大素数的乘积, 但要分解两个大素数的乘积 , 求出它们 的素因子则是非常困难的。 的素因子则是非常困难的。
1、p与q必须是强素数
一素数p若满足以下条件, 一素数p若满足以下条件,则此素数为强 素数。 素数。 (1)存在两个大素数 p1 和 p 2 ,使得 p1 | p − 1, p2 | p + 1
公钥密码体制总结及展望

公钥密码体制总结及展望摘要:计算机网络的发展突飞猛进,与此同时产生了公钥密码体制,本文重点介绍了当前公钥密码体制的几种常见的算法以及公钥密码体制的未来发展趋势。
关键词公钥密码体制 RSA DSA ECDSA SHA-1 数字签名身份认证1 引言公开密钥密码体制的概念是1976年由美国密码学专家狄匪(Diffie)和赫尔曼(Hellman)[1]提出的,有两个重要的原则:第一,要求在加密算法和公钥都公开的前提下,其加密的密文必须是安全的;第二,要求所有加密的人和掌握私人秘密密钥的解密人,他们的计算或处理都应比较简单,但对其他不掌握秘密密钥的人,破译应是极困难的。
随着计算机网络的发展,信息保密性要求的日益提高,公钥密码算法体现出了对称密钥加密算法不可替代的优越性。
近年来,公钥密码加密体制和PKI、数字签名、电子商务等技术相结合,保证网上数据传输的机密性、完整性、有效性、不可否认性,在网络安全及信息安全方面发挥了巨大的作用。
本文详细介绍了公钥密码体制常用的算法及其所支持的服务。
2 公钥密码算法公钥密码算法中的密钥依性质划分,可分为公钥和私钥两种。
用户或系统产生一对密钥,将其中的一个公开,称为公钥;另一个自己保留,称为私钥。
任何获悉用户公钥的人都可用用户的公钥对信息进行加密与用户实现安全信息交互。
由于公钥与私钥之间存在的依存关系,只有用户本身才能解密该信息,任何未受授权用户甚至信息的发送者都无法将此信息解密。
在近代公钥密码系统的研究中, 其安全性都是基于难解的可计算问题的。
如:(1)大数分解问题;(2)计算有限域的离散对数问题;(3)平方剩余问题;(4)椭圆曲线的对数问题等。
基于这些问题, 于是就有了各种公钥密码体制。
关于公钥密码有众多的研究, 主要集中在以下的几个方面:(1)RSA 公钥体制的研究;(2)椭圆曲线密码体制的研究;(3)各种公钥密码体制的研究;(4)数字签名研究。
公钥加密体制具有以下优点:(1)密钥分配简单;(2)密钥的保存量少;(3)可以满足互不相识的人之间进行私人谈话时的保密性要求;(4)可以完成数字签名和数字鉴别。
公钥密码体制实现

3.2最大公约数判断
RSA中公钥e与φ(n)的最大公约数应为1。Euclid算法是现在用于计算最大公约数的常用算法之一。Euclid的描述十分简单:记 表示非负整数 的最大公因数,那么: ,也可以写成: 为任意整数,即 。
比如: 。
其证明如下:
假定 ,那么有 和 。对任何正整数 ,可表示为如下形式: ,因此,有 ,k为某个整数。但由于 ,b也能整除kb,而 ,故有 ,这表明d也是b和 的公因子。由于这是可逆的,如果d是b和 的公因子,那么 ,且 ,这等同于 。这样a和b的公因子集合等同于b和(a mod b)的公因子集合。
关键词:公钥密码体制;RSA体制;算法
传统密钥的加密密钥与解密密钥采用同一个密钥,这个特点使得它有一些优点,但也存在着几个固有的缺点。首先,在进行安全通信之前,双方需要确定一个共同的密钥。这使得对称密钥在网络应用方面存在缺陷。在公共的网络信道中传对称密钥和使用该对称密钥加密的密文,这种信息通信方式是不安全的,其安全性无异于直接传递明文。其次,网络的发展提出了新的需要:如何确定消息来自某个特定的人而各方均无异议。传统加密方法显然不能满足这种需求,通信双方都可以利用密钥加密内容。
1) ,如果 ,则 ,否则 ,转向2)
2) ,若 ,转向5),否则转向3);
3) ,转向4);
4)若 , ,转向2);
5)计算出的y为 的结果,退出;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
公钥密码体制原理及展望----读《New Directions in Cryptography》姓名学号指导教师时间2010年11月19日星期五公钥密码体制原理及展望----读《New Directions in Cryptography》摘要:本文通过读《New Direction in Cryptography》一文,简述了密码学的发展,重点讨论了公钥密码体制的算法及安全性。
并在此基础上介绍了ECC和量子密码,了解了非对称密码体制的应用,展望了密码学未来的发展方向。
关键字:公钥密码体制,单向陷门函数、ECC、量子密码一概述密码学是研究如何隐密地传递信息的学科。
在现代特別指对信息以及其传输的数学性研究,常被认為是数学和计算机科学的分支,和信息论也密切相关。
回顾密码学的发展历程:第一个阶段是古典密码学(19世纪以前),主要包括代替密码、换位密码以及代替密码与换位密码的组合方式等。
第二阶段是中世纪密码学,它是宗教上被刺激的原文分析对Quran那些导致了发明频率分析打破的技术替换密码。
它是最根本的cryptanalytic前进直到WWII。
所有暗号根本上依然是脆弱直到这个cryptanalytic技术发明polyalphabetic暗号。
第三阶段是从1800到第二次世界大战,由第二次世界大战机械和机电暗号机器在宽用途,虽然这样机器是不切实际的地方继续的人工制在使用中。
巨大前进被做了暗号打破所有在秘密。
第四阶段是现代密码学,C.E.Shannon于1949年发表的划时代论文“The Communication Theory of Secret Systems”,这是现代密码学的第一次发展也是开端。
而更重要的一次发展是1976年,当时在美国斯坦福大学的迪菲(Diffie)和赫尔曼(Hellman)两人提出了公开密钥密码的新思想,论文《New Direction in Cryptography》把密钥分为加密的公钥和解密的私钥,这是现代密码学的经典之作,是密码学的一场革命。
《New Direction in Cryptography》一文为解决传统密码体制(主要针对对称密码体制)密钥分发困难、密钥集中了密文的安全性等缺陷,设计了公钥密码体制,是非对称密码学的开山之作。
下面简要地介绍一下这篇文章的主要内容。
二公钥密码体制基本原理公钥密码算法中的密钥依性质划分,可分为公钥和私钥两种。
用户或系统产生一对密钥,将其中的一个公开,称为公钥;另一个自己保留,称为私钥。
任何获悉用户公钥的人都可用用户的公钥对信息进行加密与用户实现安全信息交互。
由于公钥与私钥之间存在的依存关系,只有用户本身才能解密该信息,任何未受授权用户甚至信息的发送者都无法将此信息解密。
所以在公钥密码系统中,首先要求加密函数具有单向性,即求逆的困难性。
即:一个可逆函数f:A→B,若它满足:1o对所有x∈A,易于计算f(x)。
2o对“几乎所有x∈A”由f(x)求x“极为困难”,以至于实际上不可能做到,则称f为一单向(One-way)函数。
但是,要做加密处理,对加密函数仅有单向的要求还不够,必须还要满足,再知道某个信息后,求逆很容易,这才是有效而优越的加密函数。
Diffie和Hellmam在文章《New Direction in Cryptography》中就引入了这一有用概念,称作单向陷门函数(Trapdoor one-way function),就是在不知陷门信息下求逆困难,当知道陷门信息后,求逆是易于实现的函数。
基于这个原理,Diffie和Hellmam提出了公钥密码的基本算法:定义在有限信息空间{M}上的,基于算法{Ek }和{Dk }的可逆变换Ek:{M}-> {M}Dk:{M}-> {M}满足下列条件:⑴对任给K∈{K}, Ek是Dk的互逆变换⑵对任意的K∈{K}和M∈{M},用Ek和Dk进行加密和解密是容易计算的⑶对几乎所有的K∈{K},从Ek推出Dk在计算上是不可行的⑷对任意的K∈{K},从K计算Ek和Dk是可行的由此我们就可以知道公钥加密的基本原理了,发送方若要给收信方发送密文则只需查找到他公开的密钥,用该密钥来加密,再直接把密文发送给对方即可。
接收方不需要再从发送方处获得密钥,只要用自己的私人密钥解密得出明文即可。
这种方法由于不需要通过安全信道将密钥传送给对方,不会因为窃听者非法获得密钥之后密文一攻而破。
成功解决了传统对称加密算法的弊端。
看到这里,我猛然醒悟了,这种算法真是有一举两得的功效,除安全方便地加密解密之外,还能进行单方向的数字签名认证。
验证方要验证被验证方时,只需用其公钥加密一小段消息,再发送给对方解密,若被验证方能解开密文,那么就验证成功了,否则验证失败。
这样就有效地防止了第三方冒名顶替的情况。
这也是文章《New Direction in Cryptography》中第四部分中提到的单向认证的问题。
解决了加密解密的问题之后,还有一个重要的问题有待解决,就是密钥分配问题。
公钥分配算法是基于求对数再取模计算上的困难。
令q是一个素数,在有限域GF(q)上任取q,计算Y= a x *mod(q),其中a是GF(q)上的一个固定基元。
则 X= log a 【Y*mod(q)】。
不难得出由X计算Y是较容易的,约需要计算2×log2q次乘法;然而从Y得出X是困难的,因为需q/2次运算。
这样对每一个用户,从[1,2,…,q-1]中随机的选一个q,计算出Y i=a Xi* mod q ,并将Y i公布,X i保密。
那么当用户i和j通信时,使用K ij=a XiXj *mod q作为他们的公共密钥。
此密钥用户i通过j公布的Y j得到,即K ij= Y j Xi *mod q= (a Xj)Xi *mod q= a XiXj *mod q得到。
用户j的计算同理。
对于第三方要获得此密钥就必须计算,而这在计算上是不可行的,从而达到了在公共信道上分配私钥的效果。
到此为止,文章已为我们架构出了一个公钥加密的基本模型。
接下来作者又为我们从计算的复杂度上证明了公钥密码体制的安全性。
现代密码算法的安全性是基于计算上的不可行性,因此就有必要对计算复杂度进行研究。
在确定型图灵机上可用多项式时间求解的问题定义为P类复杂度,在非确定型图灵上可用多项式时间求解的问题定义为NP类复杂度,显然NP包括P。
Karp还定义了一个NP完全集,即如果NP完全集中的任何一个问题属于P 类,则NP 中的所有问题都属于P。
现在大多数的加密算法用的是NP完全集中的问题。
关于密码分析的难度有如下定理:一个加密和解密算法若是能在P时间内完成的,那么密码分析的难度不会大于NP时间。
在近代公钥密码系统的研究中,其安全性都是基于难解的可计算问题的。
如:(1) 大数分解问题;(2)计算有限域的离散对数问题;(3)平方剩余问题;(4)椭圆曲线的对数问题等。
基于这些问题,于是就有了各种公钥密码体制。
关于公钥密码有众多的研究。
主要集中在以下的几个方面:(1)RSA 公钥体制的研究;(2)椭圆曲线密码体制的研究;(3)各种公钥密码体制的研究;(4)数字签名研究。
三 公钥密码体制介绍虽然RSA 算法是公钥密码体制中的经典算法,但鉴于我们在课堂上已经有了较为详尽的了解,在这里就不再赘述了。
下面来简单地介绍一下ECC 和NUTR 。
1、ECC椭圆曲线在代数学和几何学上已有一百五十多年的研究历史。
有着复杂的数学背景,涉及到数论、群论和射影几何等学科。
1985年:N_Koblitz 和V .Miller 分另lJ 提出了椭圆曲线密码体制(Elliptic Curve Cryptosystem 。
ECC)。
其安全性依赖于椭圆曲线群上离散对数问题(ECDLP)的难解性,即已知椭圆曲线上的点P 和kp 计算k 的困难程度,不过在当时一直没有像RSA 等密码系统一样受到重视。
从现在来看,ECC 一是目前已知的公钥密码体制中,对每一比特所提供加密强度最高的一种体制,它具有安全性高、计算量小、存储空间占用小、带宽要求低等特点,这些优点使得椭圆曲线公钥密码体制将应用到越来越多的领域。
如存储空间小,这对于加密算法在IC 卡上的应用具有特别重要的意义,带宽要求低使ECC 在无线网络领域具有广泛的应用前景。
1999年ANSI X9.62标准的发布成为ECC 标准化的一个重要里程碑,同年美国政府的国家标准与技术委员会(NIST)发布了新的规定nPS186—2确定了ECC 的地位。
现已颁布的有关ECC 的标准有IEEEP1363及P1363a 、ANSI X9.62、ANSI X9.63ISOhEC14888—3、IETF 、ATM Forum 等.这些标准的公布将提高ECC 技术在世界范围内的通用性,使ECC 技术在全球的广泛应用成为可能。
而SET(Secure Electronic Transaction)协议的制定者已把它作为下一代SET 协议中缺省的公钥密码算法。
目前.求解椭圆曲线离散对数问题(ECDLP)的算法主要有小步一大步法;Pollard P 方法、Pohlig —Hellman 算法和MOV 归约攻击等。
在这些算法中,Pollard P 方法是目前求解一般ECDLP 的最有效算法。
它的时间复杂度为⎪⎪⎭⎫ ⎝⎛2πn o ,但它仍是指数级的。
Wiener 和Zueeherato 将该算法时间复杂度改进为⎪⎪⎭⎫⎝⎛2πn o ,Pollard P 算法可以并行实现,使用r 个处理器的运行时间大概是⎪⎪⎭⎫ ⎝⎛r n o 2π。
但在使用ECC 时。
椭圆曲线的选择上一定要避免超奇异曲线和奇异曲线.这两种曲线是不宜用于密码体制的椭圆曲线,它们的ECDLP 相对容易.易遭到特定算法的攻击。
另外,ECDLP 是否存在亚指数时间算法是有待证明的问题,因为它关系ECC 未来的安全性。
2、量子密码1970年美国科学家威斯纳首先将量子物理用于密码学的研究之中,他提出可利用单量子态制造不可伪造的“电子钞票”。
但这个设想的实现需要长时间保存单量子态,不太现实。
1984年,贝内特和布拉萨德提出了第一个量子密码方案,称为BB84方案。
1992年.贝内特又提出一种更简单但效率减半的方案,即B92方案。
目前.在量子密码实验研究上进展最快l的国家为英国、瑞士和美国。
英国国防研究部1993年首先在光纤中实现了基于BB84方案的相位编码量子密钥分发,光纤传输长度为lOkm。
这项研究后来转到英国通信实验室进行。
到1995年。
经多方改进,在30kin长的光纤传输中成功实现了量子密钥分发。
与偏振编码相比,相位编码的好处是对光的偏振态要求不那么苛刻。
在长距离的光纤传输中,光的偏振性会退化,造成误码率的增加。