在密码学中的应用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ECC:椭圆曲线上的离散对数难题,aP=Q; 难:P,Qa 易:a,PQ
Knapsnack密码:背包难题; x=a1x1+…anxn mod p, a1,…,an已知。 易:x1,…,xnx 难: x x1,…,xn
第 四 节 公 钥 密 码 算 法
4.3 RSA算法 由Rivest、Shamir和Adlemar开发,既能加密 又可签名,易理解和实现,因而最流行。 1.RSA算法过程
问题:授权者能解密,非授权者亦可。 解决:将超增长背包转换为普通背包。
第 四 节 公 钥 密 码 算 法
2.Knapsnack算法过程 (1)密钥的生成: 选择一个超递增(a1,…,an)、整数m(m>a1+…+an, gcd(ai,m)=1)以及t(gcd(t,m)=1); 计算: ci=t×ai mod m 则:背包序列(c1,c2,…,cn)为公钥; 私钥为(a1,…,an)和t。 (2)加密: 加密n位的消息x=(x1,…,xn),得到密文: b=c1x1+c2x2+…+cnxn (3)解密: t-1×b= t-1×(c1x1+c2x2+…+cnxn) =a1x1+a2x2+…+anxn
第 四 节 公 钥 密 码 算 法
2.举例 Bob的公钥为(7,187),私钥为(23,187); Alice要将保险柜密码88发送Bob。
88
7,187 加密 密钥
11 公共网络
23 解密 密钥
Alice
7
88 mod 187=11
1123 mod 187=88
密码分析
Bob
Eve
知道7,187,不能得到23。
非对称密码算法中,加密密钥和解密密钥是不相 同的,因而可以将加密密钥公开,将解密密钥保密。
公钥密码的思想1976年被提出;
典型的有:RSA,ElGamal,Knapsnack,ECC等。 对称密码与公钥密码的特点: (1)对称密码算法速度快; (2)非对称密码密钥管理简单。
实际网络应用中,采用非对称密码来交换对称密 码算法的密钥。
第 四 节 公 钥 密 码 算 法
对称密码算法
公钥密码算法
加密
第 四 节 公 钥 密 码 算 法
公钥密码算法
签名
混合加密通信
第 四 节 公 钥 密 码 算 法
4.2 陷门 每个非对称密码算法大都依赖于数论中某些处理 过程的不可逆性,称为陷门。 RSA密码:因子分解难题; 易 n p×q
难
ElGamal:离散对数难题,xe=y mod p; 难:x,y,pe 易:x,e,py
第 四 节 公 钥 密 码 算 法
4.安全性分析
依赖于将整数n分解为素因子的难度。
EDI攻击标准使用的RSA算法中规定n的长度为 512至1024比特位之间,且为128的倍数。
国际数字签名标准ISO/IEC 9796中规定n的长度 位512比特位。
从安全性考虑,p与q必为足够大的素数,使n的 分解无法在多项式时间内完成。要求n至少要有 1024或者2048比特(十进制的308位或616位)。
第 四 节 公 钥 密 码 算 法
超递增背包: a1+a2+…+ai<ai+1 于是存在一个较简单的方法解决Knapsnack问题。 如果b<an,则an不可能出现在大小为b的背包中; 如果b≥an,则an必须出现在大小为b的背包中。
举例: 70=2x1+3x2+6x3+13x4+27x5+52x6
第 四 节 公 钥 密 码 算 法
3.可解性分析
(1)欧拉定理:如果gcd(x,n)=1,则有: x(n)=1 mod n
(2)明文x与模数n要互素,不互素的概率为:
( p 1)(q 1) 1 1 1 1 pq p q pq (3)e,d必须与(n)互素;
(4)具有形式为n=pq的整数称为Blum整数。 其中p和q都是模4同余3的素数。
密钥的生成: (1)选择两个大素数p和q,计算: n=pq以及(n)=(p-1)×(q-1); 例如:p=11,q=17; n=187, (n)=10×16=160
(2)选择随机数1<e<(n),gcd(e,(n))=1,计算: d=e-1 mod (n); 例如:e=7,则d=23
第 四 节 公 钥 密 码 算 法
ECC:椭圆曲线密码,采用ElGamal算法,公钥密 码算法,安全性高,密钥量小,灵活性好;
DSA:数字签名算法,是数字签名的一部分,公钥 密码算法,数字签名。
MD5(SHA-1):数字摘要算法,数字签名,保证消 息的完整性。
第 一 节 现 代 对 称 密 码
现代密码设计准则: Kerchhoff原则:系统的安全性不依赖于对密文或 加密算法的保密,而依赖于密钥。 惟一需要保密的是密钥; --决定了古典密码学与现代密码学。 一个好的密码将融合混淆和扩散 混淆:混淆明文的不同部分; 扩散:对攻击者隐藏一些语言的局部特征; 现代密码将结合换位和代替: 代替密码在混淆上是有效的; 换位密码扩散性较好。
第 四 节 公 钥 密 码 算 法
4.4 ElGamal算法 1985年发表,既可用于数字签名又用于加密。 其安全性依赖于离散对数难题。 离散对数问题DLP:给定素数p,ZnX的一个原根 b和一个元素c。求解x,使得bx=c mod p。 1.描述 选取素数p>10150,一个模p的原根g以及随机 整数x(1<x<p),计算y=gx mod p,则 公钥为(y,g,p),私钥为x 2.ElGamal加密消息m 选择随机数k,得到密文对(a,b)为: (a=gk mod p, b=m· yk mod p) 解密消息:b· a-x mod p=m· yk· (gk)-x mod p=m
第 四 节 公 钥 密 码 算 法
4.5 Knapsnack算法 第一个公钥算法,由Ralph Merkle和Martin Hellman开发,只能用于加密。 1.描述 b=a1x1+a2x2+…+anxn 明文分组长度为n,消息为x1~xn,密文为b。 举例1:明文:1 1 1 0 0 1 背包:1 5 6 11 14 20 26次测试 密文:b=1+5+6+20=32 解密:32=1x1+5x2+6x3+11x4+14x5 +20x6 奥妙在于背包问题有两种: 普通背包:难解;超递增背包:易解。
(3)则公钥为(e,n),私钥(d,n); 例如:公钥为(7,187);私钥为(23,187) 加密m:c=me mod n 解密c:m=cd mod n RSA比较慢,一般选e为3,17,65537等等。 公钥私钥的关系: d=e-1 mod (n); 已知e和n,要得到d,需要知道(n),由(n)的 计算公式(n)=(p-1)×(q-1)可知需要知道n的因子 分解。当n很大时,这是一个难题。
第 四 节 公 钥 密 码 算 法
3.举例
选p=11,g=2,私钥x=4,则公钥y=gx mod p=5 Bob要将消息m=3传送给Alice。
(1)Bob选择随机数k=4,计算得到的密文: a=gk mod p=24 mod 11=5 b=m· yk mod p=3· 54 mod 11=5 (2)Alice对收到的密文(5,5)解密: b· a-x mod p=5· 5-4 mod 11=3
伪造
威胁密码系统安全的是攻击者。
攻击者首先通过监听等手段截获密文。 然后试图通过对密文的分析来得到明文。
由于通常加密解密算法是对外公开的,攻击者往
往对密钥更感兴趣。 一旦攻击者获得密钥,他就可以在系统更新密钥 之前,利用该密钥解密一系列的密文。
引 言
RSA:最流行的公钥密码算法,加密和数字签名;
第 四 节 公 钥 密 码 算 法
3.举例: 选m=105,t=31,则 {2,3,6,13,27,52} {62,93,81,88,102,37} 加密消息110101得到密文b=280 解密消息: 计算 280×31-1%105=70 2x1+3x2+6x3+13x4+27x5+52x6=70 1 1 0 1 0 1
第 一 节 现 代 对 称 密 码
现代密码算法的特点: 只要保证密钥安全,就能保证加密信息的安全。 对称密码算法:很好地融合了混淆和扩散; DES、AES、IEDA、RC6等
非对称密码算法:基于数学难题;
RSA、ECC、ElGamal等
第 四 节 公 钥 密 码 算 法
4.1 概述
所有的传统密码以及DES、AES等现代密码 都是一种对称算法,即解密密钥等价于加密密钥;
第十章 在密码学中的应用
网络安全体系的五类服务
访问 控制 服务 对象 认证 服务 保密性 服务 完整性 防抵赖 服务 服务
引 言
访问 控制 技术
身份 鉴别 技术
加密 技术
信息 鉴别 技术
攻击分类
被动攻击 窃听 获取消息 内容 流量分析 破坏 可用性 破坏 完整性 破坏 真实性 主动攻击
Fra Baidu bibliotek中断
修改