、公钥密码的密钥产生 椭圆出线密码,由下面的大元组所描述 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,a,b,G,n,h> 其中,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的生成并不困难 的生成并不困难。 • 困难的是其系统参数<p,a,b,G,n>的选取。 也就是椭圆曲线的选取。 • 一般认为,目前椭圆曲线的参数 目前椭圆曲线的参数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