第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算法为基础的。
- 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在计算上 是不可行的。