密码学 (第十六讲) PK技术 张焕国 武汉大学计算机学院
密 码 学 (第十六讲) PKI技术 张焕国 武汉大学计算机学院
公钥密码密钥管理的概念 密码体制不同,密钥的管理方法也不同。 因此公级密码的密叙管理与传统密码 的密管理大不相同 传统密码只有一个密钥,加密钥等于解密朗(K K)。因此,密钥的秘密性、真实性和完整性 都必须保护。 公开密钥密码有两个密钥,加密钥与解密钥不同 (K=),历且的加密钥在计算上不能求出解 密钥,所以加密钥的秘密性不闭确保
一、公钥密码密钥管理的概念 • 密码体制不同,密钥的管理方法也不同。 因此公钥密码的密钥管理与传统密码 的密钥管理大不相同: • 传统密码只有一个密钥,加密钥等于解密钥(Ke =Kd)。因此,密钥的秘密性、真实性和完整性 都必须保护。 • 公开密钥密码有两个密钥,加密钥与解密钥不同 (Ke≠Kd),而且由加密钥在计算上不能求出解 密钥,所以加密钥的秘密性不用确保
公钥密码密钥管理的概念 虽然公开密钥密码体制的加密钥可以公开 其秘密性不需要保护,但其完整性和真实 性却必须严格保护。 公开密钥密码体制的解密钥的秘密性、真 实性和完整性都必须保护
一、公钥密码密钥管理的概念 • 虽然公开密钥密码体制的加密钥可以公开, 其秘密性不需要保护,但其完整性和真实 性却必须严格保护。 • 公开密钥密码体制的解密钥的秘密性、真 实性和完整性都必须保护
、公钥密码的密钥产生 传统密码体制的密钥本质上是一种随机数或随 机序列,因比传统密码体制的密钥产生本质上 是产生具有良好密码学特性的随机数或随机序 列。 公开密钥密码体制本质上是一种单向陷门函数, 它们都是建立在某一数学雅题之上的。不同的 公开密钥密码体制所依据的数学雅题不同,因 此其密钥产生的具体要求不同。但是,它们都 必须满足密码安全性和应用的有效性对密钥所 提出的要求
二、公钥密码的密钥产生 • 传统密码体制的密钥本质上是一种随机数或随 机序列,因此传统密码体制的密钥产生本质上 因此传统密码体制的密钥产生本质上 是产生具有良好密码学特性的随机数或随机序 列。 • 公开密钥密码体制本质上是一种单向陷门函数, 它们都是建立在某一数学难题之上的。不同的 公开密钥密码体制所依据的数学难题不同,因 此其密钥产生的具体要求不同。但是,它们都 必须满足密码安全性和应用的有效性对密钥所 提出的要求
、公钥密码的密钥产生 对于RSA密码,其秘密为,中(,D,公开 钥为,因此其密钥的产生主要是根据安全 性和工作效率来合理的产生这些密钥参数。 D和越大则越安全,但工作效率就越低。反之, p和越小则工作效率就越高,但安全性就越低。 根据月前的因子分解能力,对于一般应用,p和 1至少要有512位,以使至少有1024位;对于 重要应用,p和至少要有1024位,以使n至少有 2048位。D和q要随机;D和的差要大;(p-1 和(q-1)的最大公因子要小;旦和d都不能太小 等等
二、公钥密码的密钥产生 • 对于RSA密码,其秘密钥为,公开 钥为,因此其密钥的产生主要是根据 因此其密钥的产生主要是根据安全 性和工作效率来合理的产生这些密钥参数 来合理的产生这些密钥参数。 • p和q越大则越安全,但工作效率就越低 但工作效率就越低。反之, p和q越小则工作效率就越高 越小则工作效率就越高,但安全性就越低 但安全性就越低。 根据目前的因子分解能力 根据目前的因子分解能力,对于一般应用,p和 q至少要有512位,以使n至少有1024位;而对于 重要应用,p和q至少要有1024位,以使n至少有 2048位。p和q 要随机;p和q的差要大;(p-1) 和(q-1)的最大公因子要小 的最大公因子要小;e和d都不能太小 等等
、公钥密码的密钥产生 椭圆出线密码,由下面的大元组所描述 T=(p, a, b, Gn, h) 其中,D为大素数,p确定了有限域G();元素 a,b∈GF(),a和确定了椭圆曲线;G为循环子 群E,的生成元,m为素数且为生成元G的阶。 私钥定义为一个随机数d, d∈10n1,2…,n1 公钥定义为Q点, Q=dG
二、公钥密码的密钥产生 • 椭圆曲线密码,由下面的六元组所描述: 由下面的六元组所描述: T= 其中,p为大素数,p确定了有限域GF(p);元素 a,b∈GF(p),a a,b∈GF(p),a和b确定了椭圆曲线; 确定了椭圆曲线;G为循环子 群E1的生成元,n为素数且为生成元 为素数且为生成元G的阶。 • 私钥定义为一个随机数d, d∈{0,1,2,···,n-1}。 • 公钥定义为Q点, Q=dG
、公钥密码的密钥产生 对于椭圆出线密码,其用户的私别和公 的Q的生成并不因难。 °难的是其系统参数,a,b,Gn)的选取。 也就是椭圆曲线的选取。 般认为,日前椭厦曲线的参数n和的规 模应大160位。 参数的越大,越安全,但曲线选择越因难, 资源的消耗也越多
二、公钥密码的密钥产生 • 对于椭圆曲线密码 对于椭圆曲线密码,其用户的私钥d和公 钥Q的生成并不困难 的生成并不困难。 • 困难的是其系统参数的选取。 也就是椭圆曲线的选取。 • 一般认为,目前椭圆曲线的参数 目前椭圆曲线的参数n和p的规 模应大于160位。 • 参数的越大,越安全,但曲线选择越困难 但曲线选择越困难, 资源的消耗也越多
、公钥密码的密钥分配 和传统密码一样,么钥密码也需要进行密分 配。但是,公钥密码的密钥分配与传统密码体 制的密钥分配有着本质的差别。 在密钥分配时必须确保解密钥的秘性、真实 性和完整性。 因为公是公开的,因此不雳确保秘密性 然而,都必须确保公级的真实性和完整性,绝 剧不分许项击者替换或篡改用户的公
三、公钥密码的密钥分配 • 和传统密码一样 和传统密码一样,公钥密码也需要进行密钥分 公钥密码也需要进行密钥分 配。但是,公钥密码的密钥分配与传统密码体 公钥密码的密钥分配与传统密码体 制的密钥分配有着本质的差别 分配有着本质的差别。 • 在密钥分配时必须确保解密钥的秘密性、真实 性和完整性。 • 因为公钥是公开的,因此不需确保秘密性 因此不需确保秘密性。 • 然而,却必须确保公钥的 却必须确保公钥的真实性和完整性,绝 对不允许攻击者替换或篡改用户的公钥
、公钥密码的密钥分配 如果公的真实性和完整性受到危害,则 基于公的各种应团的安全将受到危害。 C冒剂A款物B的项击方法 ①政击者C在PKDB中用自已的公钢c替换用户A 的公钥KB。 ②C用自己的解密钥签名一个消息冒充A发给B。 ③B验证签名:因为此时PKDB中A的公开钥已经 替换为C的公开钥,故殓证为真。 于是B以为击者C就是A
三、公钥密码的密钥分配 • 如果公钥的真实性和完整性受到危害 如果公钥的真实性和完整性受到危害,则 基于公钥的各种应用的安全将受到危害。 • C冒充A欺骗B的攻击方法: ①攻击者C在PKDB中用自己的公钥KeC替换用户A 的公钥KeA。 ②C用自己的解密钥签名一个消息冒充A发给B。 ③B验证签名:因为此时PKDB中A的公开钥已经 替换为C的公开钥,故验证为真。 于是B以为攻击者C就是A
、公钥密码的密钥分配 PDB PKDB ABC ABC 攻击者C篡改PKDB
三、公钥密码的密钥分配 PKDB PKDB A KeA B KeB C KeC A KeC B KeB C KeC 攻击者C篡改PKDB