第5章非对称密码体制与典型算法教程
对称密码体制和非对称密码体制
对称密码体制和⾮对称密码体制⼀、对称加密 (Symmetric Key Encryption)对称加密是最快速、最简单的⼀种加密⽅式,加密(encryption)与解密(decryption)⽤的是同样的密钥(secret key)。
对称加密有很多种算法,由于它效率很⾼,所以被⼴泛使⽤在很多加密协议的核⼼当中。
⾃1977年美国颁布DES(Data Encryption Standard)密码算法作为美国数据加密标准以来,对称密码体制迅速发展,得到了世界各国的关注和普遍应⽤。
对称密码体制从⼯作⽅式上可以分为分组加密和序列密码两⼤类。
对称加密算法的优点:算法公开、计算量⼩、加密速度快、加密效率⾼。
对称加密算法的缺点:交易双⽅都使⽤同样钥匙,安全性得不到保证。
此外,每对⽤户每次使⽤对称加密算法时,都需要使⽤其他⼈不知道的惟⼀钥匙,这会使得发收信双⽅所拥有的钥匙数量呈⼏何级数增长,密钥管理成为⽤户的负担。
对称加密算法在分布式⽹络系统上使⽤较为困难,主要是因为密钥管理困难,使⽤成本较⾼。
⽽与公开密钥加密算法⽐起来,对称加密算法能够提供加密和认证却缺乏了签名功能,使得使⽤范围有所缩⼩。
对称加密通常使⽤的是相对较⼩的密钥,⼀般⼩于256 bit。
因为密钥越⼤,加密越强,但加密与解密的过程越慢。
如果你只⽤1 bit来做这个密钥,那⿊客们可以先试着⽤0来解密,不⾏的话就再⽤1解;但如果你的密钥有1 MB⼤,⿊客们可能永远也⽆法破解,但加密和解密的过程要花费很长的时间。
密钥的⼤⼩既要照顾到安全性,也要照顾到效率,是⼀个trade-off。
分组密码:也叫块加密(block cyphers),⼀次加密明⽂中的⼀个块。
是将明⽂按⼀定的位长分组,明⽂组经过加密运算得到密⽂组,密⽂组经过解密运算(加密运算的逆运算),还原成明⽂组,有 ECB、CBC、CFB、OFB 四种⼯作模式。
序列密码:也叫流加密(stream cyphers),⼀次加密明⽂中的⼀个位。
非对称密码体制课件
• 解决了对称密码的诸多局限性
2020/11/18
非对称密码体制
4
非对称密码基本概念:非对称密码体制
明文
加密器 EK
PK
密钥产生器
密文
解密器 DK
SK
明文
• 密钥—(PK, SK) • PK:俗称公钥(Public Key),通常公钥是公开的,可以被任何实 体通过有效渠道获取; • SK:俗称私钥(Secret Key),通常私钥是保密的,不能被任何实 体通过非法渠道获取;
2020/11/18
非对称密码体制
3
非对称密码基本概念:非对称密码的提出
• 对称密码的局限性 • 密钥管理的困难性问题 • 陌生人间的保密通信问题 • 数字签名问题
非对称密码(1976年由W. Diffie和M. Hellman提出)与对称密码的几点 区别:
• 双钥——双钥密码、公钥密码
• 基于数学函数,而非替换和换位
2020/11/18
非对称密码体制
6
非对称密码基本概念:非对称密码的算法组成
密钥生成KG( ) • 根据输入的安全参数 ,输出公钥和私钥对(PK, SK)
• 加密E( ) • 根据输入的公钥和消息,输出密文。
• 解密D( ) • 根据输入的解密私钥和密文,算法输出消息或输出表示密文不合法的特殊符号“?”
明文
加密器 EK
K
密文
解密器 DK
K
明文
密钥产生器
• 密钥管理:若N个人相互保密通信,每人必须拥有(N-1)个私钥,N很 大时,需要保存的私钥很多。如何解决?
• 可信中心分发:共需要发N*(N-1)/2个私钥:例如N =1000时, 999 *1000/2 = 499500
非对称加密算法
第一章非对称加密算法第二章编辑非对称加密算法(asymmetric cryptographic algorithm)又名“公开密钥加密算法”,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。
1.目录1简介2起源3工作原理4主要应用5主要功能6主要算法7算法区别加密后的信息进行解密。
对密钥,并分发n个公钥。
由于公钥是可以公开的,用户只要保管好自己的私钥即可,因此加密密钥的分发将变得十分简单。
同时,由于每个用户的私钥是唯一的,其他用户除了可以通过信息发送者的公钥来验证信息的来源是否真实,还可以确保发送者无法否认曾发送过该信息。
非对称加密的缺点是加解密速度要远远慢于对称加密,在某些极端情况下,甚至能比对称加密慢上1000倍。
DSACryptoServiceProvider非对称加密算法RSACryptoServiceProvider//加密UnicodeEncoding encoding = new UnicodeEncoding();byte[] PasswordBytes = encoding.GetBytes(password);//将密码转换为字节数组RSACryptoServiceProvider crypt=newRSACryptoServiceProvider();//RSA加密算法,非对称PasswordBytes=crypt.Encrypt(password ,false);//加密字节数组,这是加密后的密码值,放入数据库中的表字段中。
string key=crypt.ToXmlString(true);//输出密钥为XML格式的字符串,且包含私钥,这个字符串要作为数据库表中的一个字段同用户的密码放在一起。
//解密RSACryptoServiceProvider crypt=new RSACryptoServiceProvider();//已随机生成了一个密钥对crypt.Clear();//毁掉当前密钥对crypt.FromXmlString(key)//输入密钥对,key是从数据库表字段中读取的那个XML格式的字符串,即密钥字段PasswordBytes=crypt.Decrypt(password ,false);//解密字节数组,返回原始密码给用户上面方法的一个特点是每个用户对应一个密钥(包含公钥和私钥),它们都是随机生成的,所以各不相同。
《非对称密码体制》课件
使用扩展欧几里得算法,计算d, 满足d*e % phi(n) = 1。
2. 计算n
计算n=p*q。
4. 选择公钥
选择一个与phi(n)互质的整数e。
6. 完成
完成后,公钥由n和e组成,私钥由d组成。
RSA算法的解密过程
1. 加密数据
使用公钥(n, e)加密消息M,产生密文C。
2. 计算明文
1
1. 选择素数
选择一个素数q, 以及一个大素数p = kq + 1, 保护q。
2
2. 选取g值
选择一个能提供一个循环群的数g(1 <= g <= p-1)。
3
3. 计算x,y
任意选择一个512位的长整数k,然后计算x = g^k mod p, y = (hash(M) + x*a)/k mod q, hash(M)为M的哈希值。
使用私钥d,计算出原始消息M。M = Cd (mod n)
3. 完成
接收方使用私钥d,根据公式计算出M。
RSA算法的安全性分析
RSA算法显然会受到攻击,但我们认为这个算法还是安全的。攻击者可以使用因子分解算法来破解RSA 算法,但是这需要一个非常长的时间。对于RSA算法安全保护的加强,一般使用扩展和混淆技术。
非对称密码的优势
提高了数据传输的安全性, 避免了密钥管理的麻烦。
小提示
有时候也会将它们结合使 用,来发挥它们的优势。
典型的非对称密码算法
目前最流行的非对称密码算法有:RSA算法、DSA算法、ECC算法等。下图是其概述:
RSA算法
使用65000位的密钥。在加密 时使用一个公钥,但需要一个 私钥才能进行解密。
非对称密码体制
非对称密码体制课件
• 由x求y:即使当p很大,也不难实现。为方便计算令a=2。例如 p=2100时,需作100乘法。利用高速计算机由x计算ax可在0.1毫秒 内完成。
• 从ax计算x:当p=2100时,以平均速度的计算机进行计算需时约 1010.7秒(1年=107.5秒,故约为1600年!其中假定存储量的要求能 够满足)。
• 双方事先约定:用户之间自己秘密会面(第一次远距离通信如何办?)
2020/11/18
非对称密码体制
3
非对称密码基本概念:非对称密码的提出
• 对称密码的局限性 • 密钥管理的困难性问题 • 陌生人间的保密通信问题 • 数字签名问题
非对称密码(1976年由W. Diffie和M. Hellman提出)与对称密码的几点 区别:
一个可逆函数f:AB,若它满足:
• 对所有xA,易于计算f(x);
• 对“几乎所有xA”由f(x)求x“极为困难”,以至于实际上不可能 做到,则称f为一单向(One-way)函数。
定义中的“极为困难”是对现有的计算资源和算法而言。
2020/11/18
非对称密码体制
9
非对称密码基本概念:单向函数
例一:令f是在有限域GF(p)中的指数函数,其中p是大素数,即 y =
2020/11/18
非对称密码体制
12
非对称密码体制:Diffie-Hellman密码体制
• Diffie和Hellman在《密码学新方向》一文中给出了非对称密码算法的思想 • 它不是真正意义上的非对称密码实例,仅仅是一个单向函数; • 算法的目的是使得两个用户安全地交换一个会话密钥。
非对称密码体制ppt课件
病原体侵入机体,消弱机体防御机能 ,破坏 机体内 环境的 相对稳 定性, 且在一 定部位 生长繁 殖,引 起不同 程度的 病理生 理过程
小结
非对称密码体制 公开密钥加密系统基本原理如图所示。
公开密钥加密系统的优势是具有保密功能和鉴别功能。 公钥体制的主要特点:将加密和解密能力分开,实现多用户加 密的信息只能由一个用户解读,或一个用户加密的信息可由多用户 解读。
务,如:与哈希函数联合运用可生成数字签 名,可用于安全伪随机数发生器的构造,零 知识的证明等。
病原体侵入机体,消弱机体防御机能 ,破坏 机体内 环境的 相对稳 定性, 且在一 定部位 生长繁 殖,引 起不同 程度的 病理生 理过程
实例:使用加密软件PGP
• 软件介绍:PGP是全球著名的、在信息安 全传输领域首选的加密软件,其技术特性 是了非对称的“公钥”和“私钥”加密体 系,创造性地把RSA公钥体系和传统的加 密体系结合起来,是目前最难破译的密码 体系之一。
• Alice拥有Joy、Mike、Bob和Ted四个人的公钥。 当Alice采用Bob的公钥对明文进行加密,然后把 密文进行传输。当Bob收到后,应用Bob的私钥进 行解密,得到原始明文。即使在传输过程中,被 其他人得到密文,由于他们不拥有Bob的私钥, 所以不能进行解密,不能得到原始明文。这就是 公钥密码体制的加密过程。
病原体侵入机体,消弱机体防御机能 ,破坏 机体内 环境的 相对稳 定性, 且在一 定部位 生长繁 殖,引 起不同 程度的 病理生 理过程
实例:使用加密软件PGP
• 操作步骤:
– (1)安装软件; – (2)汉化软件; – (3)注册软件; – (4)创建和设置初始用户; – (5)导出并分发公钥; – (6)导入并设置其他人的公钥; – (7)使用公钥加密文件; – (8)将加密文件发送给对方; – (9)使用私钥进行解密。
非对称密码体制
ElGamal加密算法
E密lG钥a对ma产l算生法办既法能用于数据加密也能用于数字签名 的 非首对先称选择加一密个算素法数p,两个随机正整数, g 和x,g, x < p,
E计lG算amya=l算gx法m的od安p全,性则依其赖公于钥计为算y,有g 限和域p;上x离是散私对钥数;这g和一p 难可题由。一组用户共享。
Hash算法 摘要1 +时间
加了时 间后的 新摘要
数字 时间戳
用DTS机构的私钥加密
DTS机构
网络安全与电子商务
网络安全与电子商务
非对称密码体制
非对称密码体制
非对称密码体制的特点 非对称密码体制的原理 非对称加密算法
非对称密码体制的应用模型
非对称密码体制的产生和特点
由Diffie 和Hellman 于1976年首次提出了用于对称密钥交换的公钥算法。 1977年Rivest, Shamir & Adleman 提出了著名的RSA公钥算法。 非对称密码体制的特点
ElG美am国a的l加DS密S(过Dig程ital Signature Standard)中的DSA(Digital
S设ig被na加tu密re A信lg息or为ithMm,)算首法先是选经择E一lG个am随al机算数法k演,变k<而p-来1,。计
密钥算对C1产=gk生m办od法p,C2=ykM mod p。
因此,使用非对称加密,明文信息必须转化成足够大的数 才能保证私钥的不可破译。
明文信息
二进制字符串 10进制大数
DOG
010001000100 111101000111
446743
RSA加密算法
择钥大私的钥质对数p的和生q,成并、得加到密n=p以*q及。数(由字于签p名和q。非常大,所以由n几
第5章 非对称密码(2)
主要内容: ◇非对称密码体制的原理、设计准则及分类 ◇ RSA密码算法 ◇ ElGamal密码算法 ◇ 椭圆曲线密码算法 ◇ 其他非对称密码体制简介
2019/8/6
2019/8/6
2019/8/6
1
111
5.2 RSA密码算法
5.2.1 RSA算法简史
1976年,Diffie和Hellman发表了非对称密码的奠基性的论文“密码学 的新方向”,建立了公钥密码的概念。
(2)按现在的计算能力,大素数p和q的大小,按二进制计算长度,应该在512 比特左右,且p和q只相差几个比特。关于这一点,后面还有说明。
(3)大素数p和q是奇数,φ(n)= (p-1)×(q-1)是偶数,故e一定是奇数。 (4)因为满足gcd(φ(n),e)=1,即φ(n)与e互素。故e模φ(n)的逆一定存在,可以 通过扩展欧几里德算法求得。
C.解密 (用d,p,q) 密文:C 明文:M ≡ Cd(mod n)
2019/8/6
2019/8/6
2019/8/26019/8/6
2019/8/6
7
7 77
• 把该算法用于保密通信模型中,可以有如下图所示的保密通信示意图。
2019/8/6
2019/8/6
2019/8/26019/8/6
2019/8/6
我解决了。’”
2019/8/6
2019/8/6
2019/8/26019/8/6
2019/8/6
3
3 33
在公钥密码体制思想提出不久,RSA密码算法就被提出。该算法在非对称 密码算法发展史上有着重要的地位,也是至今为止理论上最为成熟完善的公钥 密码体制,到现在还被广泛应用。
从RSA算法的产生到现在,密码学家对算法的安全性进行了广泛的研究和 讨论,并在实践中有了广泛的应用。后面介绍的数字签名算法和身份认证算法 中,基于大数分解难题的算法,也是以RSA算法为基础的。
非对称密码体制
非对称钥不等于解 密密钥,且无法从任意一个密钥推导出另一个密钥, 这样就大大加强了信息保护的力度,而且基于密钥 对的原理很容易实现数字签名和电子信封。 非对称加密算法中比较典型的是RSA算法,此外 还有背包密码算法、椭圆曲线算法、EIGamal算法等。 下面主要介绍最常用的RSA算法。
在采用公钥体制的情况下A向B传输数据的过
程,如下图所示:
使用两个密钥的加密和解密
非对称密码体制
1.1 非对称密码体制的实现过程
与对称密码技术相比较,利用非对称密码技 术进行安全通信,有以下优点: 通信双方事先不需要通过保密信道交换密钥。 密钥持有量大大减少。 非对称密码技术还提供了对称密码技术无法或很 难提供的服务。
(5)将明文P(假设P是个小于r的整数)加密为密文
C,计
算公式为:C = Pe mod r(e为幂次方)
(6)将密文C解密为明文P,计算公式为:
P = Cd mod r(d为幂次方)
非对称密码体制
1.3 对称密码体制与非对称密码体制的比较
对称密码体制是应用较早的密码体制,技术成熟。 在对称密码体制中,使用的密钥只有一个,发收信双方 都使用此密钥对数据进行加密和解密,这要求解密方事 先必须知道加密密钥。对称密码体制的特点是算法公开、 计算量小、加密速度快、加密效率高。不足之处是交易 双方都使用同样密钥,安全性得不到保证。密钥管理成 为了用户的负担。对称密码体制在分布式网络系统上使 用较为困难,主要是因为密钥管理困难,使用成本较高。
非对称密码体制
1.2 RSA算法
RSA算法是第一个既能用于数据加密又能 用于数字签名的算法,是由美国麻省理工学院 的Rivest、Shamir和Adleman在1978年提出的。
精品课件-应用密码学-第5章 非对称密码(3)
2020/11/19
15
1155
图5-1 y2≡x3+x+6所表示的曲线 图5-4 y2≡x3+x+6 (mod 11)所表示的曲线
通过比较y2≡x3+x+6在平面的曲线(见图5-1所示)和y2≡x3+x+6 ( mod 11) 在平面上的点(如图5-4所示),直观感觉没有太多的联系。
P +Q+ R1=O。则P+Q =- R1=R,如图5-2。
2020/11/19
2020/11/219020/11/
图5-2 R=P+Q示意图 2020/11/19
8
8 88
点P的倍点定义为:过P点做椭圆曲线的切线,设与椭圆曲线交于R1, 则 P+P+ R1=O, 故2P=- R1=R。如图5-3。
2020/11/19
5
5 55
本章的介绍以第一种椭圆曲线为主,如图5-1是y2≡x3+x+6所表示的曲线,该图 可以用matlab实现。显然该曲线关于x轴对称。
图5-1 y2≡x3+x+6所表示的 曲线
2020/11/19
2020/11/219020/11/
2020/11/19
6
6 66
2.椭圆曲线的加法
2020/11/19
2020/11/19
2020/11/19
20
2200
- ④ 计算点:(x1,y1)=kP - ⑤ 计算点:(x2,y2)=kQ,如果x2=0,则返回第③步 - ⑥ 计算:c=mx2 - ⑦ 传送加密数据(x1,y1,c)给B
(4)解密过程
当实体B解密从A收到的密文(x1,y1,c)时,执行步骤:
应用密码学第5章非对称密码体制
第5章 非对称密码体制
例5-4 此例为判定合数为素数的例子,此处以n=25,
a=7为例。 取n=25,25-1=23*3,即s=3,t=3。 由Miller-Rabin概率检测算法,得 a=73≡18(mod 25),i=0,b2=182≡-1(mod 25) 输出:n是素数。 实际上,25是合数。这时可以通过另选择一个a(1<a<n1),(n,a)=1,如a=2,再次运行算法。
x b (modm ) 2 2 ... x bn (modmn )
第5章 非对称密码体制
的解为:
’ x≡M1M1
b1+
’ M2M2
b2+…+
’ MnMn
bn(modm)
对该定理的理解, 需要注意的是,m=m1m2…mn=miMi, 故 Mi=m/mi。 m1, m2, …,mn 是两两互素的正整数, 故 (Mi, mi) =1, 通过 MiMi’≡1modmi 计算的逆元一定存在。
为在没有共享密钥前,双方只能用明文的方式进行通信,显 然是不安全的;第二种方式的时间需求比较大;第一种方式 从时间和代价上来看,都难以符合需要。在非对称密码体制 产生前,用得较多的解决办法就是第二种方式,但效率是比 较低的。那么如何才能有效地解决这个问题,以用较小的代 价、较高的效率实现通信双方的密钥传递呢?正是由于这个 需求,促使了非对称密码体制的产生。
m=2310,M1=462,M2=385,M3=330,M4=210
利用辗转相除法求得 M1’=-2,M2’=1,M 3’=1,M 4’=1。 所以,x≡1·(-2)· 462+5· 1· 385+ 4· 1· 330+10·1·210≡4421≡2111(mod 2310)
第5章 非对称密码(1)
2019/8/6
2019/8/6 2019/8/6
2019/8/6
1199
1199
5.1.2 非对称密码体制的设计准则
现在应用的非对称密码体制,其安全是指的计算上是安全的。 以著名的RSA算法所基于的大数分解难题为例,它假定n是两个大素数p 和q的乘积。现在一般认为,p和q的长度都是512比特左右,则n的长度是 1024比特左右。以人们现有的计算能力,在知道n的情况下,在短时间内是 不能分解n的,也就是说,这在计算上是安全的。从理论上讲,如果有足够 的计算能力,是可以分解n的。但如果分解n的时间超过了消息的保密期,或 者投入的物力超过了消息本身的价值,对消息保密的目的就达到了。
第一种方式从时间和代价上来看,都难以符合需要。在非对称密码体制 产生前,对于很多不是很重要的信息,用得较多的解决办法就是第二种方式 ,但效率是比较低的。
2019/8/6
2019/8/6
2019/8/6
3
33
2019/8/6
2019/8/6 2019/8/6
2019/8/6
444
44
5.3.1 非对称密码体制的原理
序列密码都属于对称密码体制。两个用户在用对称密码体制进行保密通信时,必须
要有一个双方共享的加密密钥。那么,如何才能让两个不在同一个地方的用户安全
地拥有共享密钥呢?
我们可能想到的方式包括:
(1)派一个人来把密钥从一方送到另外一方;
(2)通过邮件或快递传递密钥;
(3)电子邮件、电话或电报等方式传递等等。
2019/8/6
2019/8/6
2019/8/6
11
111111
2002年:Ronald L. Rivest,Adi Shamir,Leonard M. Adleman 公钥密码 学(RSA加密算法)
非对称密码体制
非对称密码体制
非对称密码体制的基本概念 非对称密码体制的原理 RSA算法 RSA算法中的计算问题 RSA算法的安全性 非对称密码体制的应用
非对称密码体制的基本概念
非对称密码(公钥密码)与所有以前的密码方法的不同点
基于的基本思想不同 密钥的使用方式不同
公钥密码算法的密钥具有如下特点
是加密密钥与解密密钥是本质上不同的 是大多数公钥密码算法的加密密钥和解密密钥具有互换的性质,即两者是相对的
网络信息安全技术
非对称密码体制
非对称密码体制(Asymmetric CryptoSystem),也称为公钥密码体制(Public Key Cryptosystem),是现代密码学的重要组成部 分。公钥密码的思想在1976年由Diffie和Hellman在 其《密码学新方向》一文中提出。Rivest、Shamir 和Adleman在1978年提出了首个非对称密码体制, 即著名的RSA公钥密码体制。非对称密码体制的发明 是现代密码的具有里程碑意义的重要事件,它的出现 标志着现代密码学的创立。
可以通过加密算法生成密文:
C EPKB (M )
接收方B使用私有密钥容易通过解密算法对密文进行解密,以恢复原来的明文
从公开密钥PKB推出私有密钥SKB,在计算上是不可行的
非对称密码体制的原理
定义 单向陷门函数满足下列条件的函数f:D→V
1)对于任意给定的x∈D,计算y=f(x)是容易的。 2)对于几乎所有任意给定y∈V,计算x∈D使得y=f(x),
RSA算法中的计算问题
即计算(m)cmod N是RSA非对称密码 体制中的主要运算,其计算可以由 c-1次的模乘来实现,然而当比较
(m)c mod N 的有大效时计,算这问不题是一个好的算法,因为
Lecture05非对称密码体制
62,93,81,88,102,37
加密
明文消息m=011000110101101110 分组m=011000 110101 101110
011000对应93+81=174 110101对应62+93+88+37=280 101110对应62+81+88+102=333
密文为:174 280 333
对公钥密码体制的要求
(1)参与方B容易通过计算产生一对密钥
(公开密钥KUb和私有密钥KRb) (2)对于发送方A,通过计算产生对应的密文:C=EKUb(M) (3)接收方B使用私有密钥解密所得的密文以便恢复原来的报
文:M=DKRb(C)=DKRb(EKUb(M)) (4)敌对方即使知道公开密钥KUb,要确定私有密钥KRb在计
公开密钥密码系统的分析方法
强行攻击。 公开密钥算法本身可能被攻破。 可能报文攻击(对报文本身的强行攻击)。
公钥密码系统的应用类型
加密/解密 数字签名 会话密钥交换
背包问题用于公钥密码学
做法:明文为X,S为密文 奥妙在于有两类背包,一类可以在线性时间
内求解,另一类则不能 把易解的背包问题修改成难解的背包问题
如何计算ab mod n?
要点1:(a x b) mod n = [(a mod n) x (b mod n)] mod n] 要点2:a16=aaaaaaaaaaaaaaaa
=a2, a4,a8, a16
更一般性的问题:am
k
m的二进制表示为bkbk-1…b0, 则 m bi 2i
i0
计算am mod n
由私人密钥产生公开密钥 设私人密钥为(2,3,6,13,27,52),其中 w=31,m=105;那么一般的包序列: 2*31 mod 105=62 3*31 mod 105=93 6*31 mod 105=81 13*31 mod 105=88 27*31 mod 105=102 52*31 mod 105=37 公有密钥为(62,93,81,88,102,37)
密码学技术
目录
1 密码学概述
4 散列函数
2
2 对称密码体制
5 数字签名
3 非对称密码体制
密码学概述
密码学概述
➢ 密码学(Cryptology)是安全工程与数学的交叉学科,是我们现在
很多安全协议的基础工具。狭义来说,它是研究信息系统安全保密
的科学,专门研究编制密码和破译密码,即对信息进行编码实现隐
仅加密算法本身可以公开,甚至加密用的密钥也可以公开。加密密钥和
解密密钥不一样,将解密密钥进行保密就可以保证安全加解密,这一思
想即著名的公钥密码体制。
1978年,由美国麻省理工学院(MIT)的Rivest、Shamir和Adleman提
出了RSA公钥密码体制,它是第一个成熟的、真正实用的公钥密码体制,
蔽信息和对加密信息进行破译实现解密信息的一门学科。密码学包
括两个分支:密码编码学(Cryptography)和密码分析学
(Cryptanalyst)。前者研究如何加密,后者则研究如何解密,两
者相互对立而又相互促进。
密码学概述
➢ 总的来说,密码学的发展大体经历了三个阶段。
➢ (1)古代密码时期——手工时期 源于人类社会的需求是技术发展
的重要动力,在记载中表明:许多古代的文明包括古埃及、中国、
希伯来、亚述都在实践中应用了密码系统。可以说,早期密码的产
生和应用主要是来自于人类的战争,在战争时期就面临着通信安全
保密的需求,例如我国古代的烽火就是一种传递军情的方法,中国
古代的兵符就是用来传达信息的密令。还有许多以诗文、绘画的方
式把信息隐藏起来的记录,从而达到信息安全的目的。
未经授权的人无法读取其中的信息。这里未经过任何伪装或隐藏技术处理的消
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 公开密钥算法本身可能被攻破 赖以安全的基石----数学难题被破解
• 可能报文攻击(对报文本身的强力攻击) 对所有可能报文加密,直到与截获密文相同
第5章 非对称密码体制与典型算法
9
5.2
RSA算法
•由Rivest, Shamir和 Adleman在1978年提出 •数学基础: 大整数因子分解的困难性,Euler定理
第 5章
非对称密码体制与典型算法
本章内容
• 公钥密码体制概述
• RSA算法 • EIGamal算法
• 椭圆曲线密码体制
第5章 非对称密码体制与典型算法
1
第 5章
非对称密码体制与典型算法
教学要求
• 掌握公钥密码体制的基本思想 • 掌握RSA公钥密码算法 • 了解EIGamal密码算法
• 掌握椭圆曲线域的计算方法
第5章 非对称密码体制与典型算法
3
• •
二、非对称密码体制
• 别名:
公钥密码体制,双钥密码体制
• 两个密钥:
公开密钥(公钥):用于加密 秘密密钥(私钥):用于解密。
• 安全性基础:
基于数学难题
• 标志性文献
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
(5)他人即使知道公开密钥 PUb和密文c,要想恢复报文 m在计
算上也是不可行的。
(6)加密和解密函数可以以两个次序中的任何一个来使用: m=dPRb(ePUb(m)) 第5章 m=ePUb(dPRb(m))
7
非对称密码体制与典型算法
三、陷门单向函数
满足下列条件:
• 给定x,容易计算y=f(x) • 给定y =f(x), 难以计算出x • 存在陷门δ,已知δ 时,对给定的 任何y,若相应的x存在,则计 算x使y=f(x)是容易的
• 加密 (用e,n) 明文:m<n
• 解密 (用d,n) 密文:c
密文:c=me mod n
明文: m=cd mod n
ed =1 mod (n)
ed = k(n)+1
•m=cd mod n = (me mod n) d mod n = med mod n = m1+k (n) mod n=(m.m k (n)) mod n= =[m.(m (n))k ] mod n=[m.(m (n)mod n)k ] mod n = [m. 1k ] mod n (扩展欧拉定理) =m
陷门
第5章
非对称密码体制与典型算法
10
一、RSA算法描述
1、算法描述
• 明文空间P=密文空间C=Zn • 密钥的生成
为了安全,p、q至少为 150位十进制数以上
– 选择互异素数p,q,计算n=p· q, (n)=(p-1)(q-1);选择整 数e使 gcd(e, (n))=1, 1<e< (n), 计算d=e-1 mod (n) – 公钥PU={e,n} 公开 – 私钥PR={d,n} 中d保密
由私钥d计算公钥e:
e d 1 mod (n)
。
•一旦私钥d暴露,应立即改变p、q和e、d。 第5章 非对称密码体制与典型算法
13
3、RSA算法证明
互异素数p,q,n=p· q, (n)=(p-1)(q-1), 选择整数e使 gcd(e, (n))=1, 1<e< (n), 计算d=e-1 mod (n)
第5章
非对称密码体制与典型算法
4
公钥密码体制的数学模型
由于速度比对称密码算法要慢几个数量级,因此公钥密 码算法至今主要用于数据安全,或用于短数据和密钥的加密。 第5章 非对称密码体制与典型算法
5
公钥密码认证体制
密码分析员 发送者A
SK’A
m
加密算法 SKA 密钥源
c
解密算法
m
接收者B
PKA
2018/11/5
Trap-Door One-Way Function
陷门单向函数是公钥密码的核心
实践证明安全的3类公钥密码体制 • 大整数因式分解困难性:RSA
• 离散对数难解性:DH,DSA • 椭圆曲线离散对数难解性:ECC
第5章 非对称密码体制与典型算法
8
四、公钥密码系统的分析方法
• 强力攻击(对密钥) 密钥不能太短,防止密钥穷举 但也不能太长,以免影响速度
• gcd( p 1, q 1) 应该很小。
•(p-1)和(q-1)、(p+1)和(q+1)都应有一个大的素因子。
• p/q不应是一个接近于带有小分子或小分母的有理数。 •模n不能共享。
4 d n 。为了满足这个要求, • 公钥e的值应使计算得到的私钥 4 gcd(d , (n)) 1 通常是先选私钥d,满足 且 ,然后再 n d (n)
• 了解椭圆曲线密码体制的基本原理
第5章 非对称密码体制与典型算法
2
5.1
•
公钥密码体制概述
一、对称密码体制的问题
密钥管理困难 n用户保密通信网,用户彼此间进行 保密通信需要 Cn2 n(n 1) / 2 个密钥。 n=1000:499500个密钥 n=5000:12497500个密钥 陌生人间不便进行保密通信 无法实现抗抵赖的数字签名
• 加密 (用e,n)
– 明文:m<n 密文:c=me mod n 明文:m=cd mod n 第5章 非对称密c
位十进制 数 位十进制 数 位十进制 数 位十进制 数 位十进制 数 位十进制 数
第5章
非对称密码体制与典型算法
12
2、RSA要求
•p、q应为150位以上的十进制数,但数值不应很接近,长度最 好相差几位。
第5章 非对称密码体制与典型算法
14
4、RSA算法实例
例5-1 假设Alice和Bob 使用RSA密码体制进 行全英文字符的保密通信。假设Alice 选 择 pA 41 、qA 67 、eA 17 ,Bob选 pB 43 qB 59 、 eB 13 ,并采用双字母加、解密方式。 择 (1)说明Alice和Bob建立RSA密码体制的方法。 (2)若Alice欲秘密发送消息“public”给Bob, 试给出加密和解密过程。
第5章
非对称密码体制与典型算法
6
对公钥密码体制的要求
(1)参与方B容易通过计算产生一对密钥(公开密钥PUb和私有 密钥PRb)。 (2)发送方A容易通过计算产生密文:c=ePUb(m) (3)接收方B容易通过计算解密密文: m=dPRb©=dPRb(ePUb(m))
(4)他人即使知道公开密钥PUb,要确定私有密钥PRb在计算上 是不可行的。