第09-12接氩 公钥密码体制 .ppt
文本预览下载声明
值得深入研究的几个问题 如何选择一条安全的椭圆曲线? 如何快速计算椭圆曲线上点的标量乘法? 上学期学的椭圆曲线基础知识都忘了? 如何选择一条安全的椭圆曲线 h=#Ep(a,b)/ord(P)越小越好 排除Anomalous椭圆曲线 #Ep(a,b)=p 排除Supersingular椭圆曲线 #Ep(a,b)=p+1 #Ep(a,b)有大素因子 #Ep(a,b)不能整除pk-1,这里的1≤k≤20 选用ECC国际标准推荐的椭圆曲线 椭圆曲线密码体制的国际标准 ?IEEE?P1363?加密、签名、密钥协商机制 ?ANSI?X9?椭圆曲线数字签名算法椭圆曲线密钥协商和传输协议 ?ISO/IEC?椭圆曲线ElGamal体制签名 ?IETF?椭圆曲线DH密钥交换协议? ?FIPS?186-3?美国政府用于保证其电子商务活动中的机密性和完整性 快速计算椭圆曲线上点标量乘法 Addition Chain法 快速计算椭圆曲线上点标量乘法 快速计算椭圆曲线上点标量乘法 Binary Method 快速计算椭圆曲线上点标量乘法 快速计算椭圆曲线上点标量乘法 Addition Chain Binary Method Signed-Digit Recoding Binary Method Canonical Recoding Algorithm Use Koblitz Curves 快速计算椭圆曲线上点标量乘法 上学期学的椭圆曲线基础知识都忘了?有限域也忘了?欧拉定理是神马东西?不会算二次剩余? 回去看书!! * * 用HASH函数生成消息摘要再进行数字签名。 * 这是PGP进行加密的情形。 第一个箱子相当于对称加密,将明文锁住。 第二个箱子相当于公钥的加密,将第一个箱子的钥匙锁住(里面是钥匙)。 然后将两个箱子一起打包发送给对方。 * * * 归纳。 * * * * * * * * ECC的性能 Symmetric Key Size (bits) RSA and Diffie-Hellman Key Size (bits) Elliptic Curve Key Size (bits) 80 1024 160 112 2048 224 128 3072 256 192 7680 384 256 15360 521 NIST Recommended Key Sizes 椭圆曲线的概念和分类 定义:椭圆曲线是一个具有两个变量x和y的三次方程,它是满足: y2+a1xy+a3y=x3+a2x2+a4x+a6 的所有点(x,y)的集合,外加一个零点或无穷远点O 这里系数a1, a2, a3, a4, a6需满足特定的条件 实数域上的椭圆曲线 实数域上的椭圆曲线是对于固定的a、b值,满足形如方程: y2=x3+ax+b 的所有点的集合,外加一个零点或无穷远点 其中a、b是实数,x和y在实数域上取值 实数域上的椭圆曲线 动画 有限域GF(p)上的椭圆曲线 GF(p)域上的椭圆曲线是对于固定的a、b值,满足形如方程: y2=x3+ax+b (mod p) 的所有点的集合,外加一个零点或无穷远点,其中a、b,x和y在GF(p)域上取值 有限域GF(p)的直观动画 例子 Hasse定理 如果 是定义在GF(p)域上的椭圆曲线,E上的点的个数记为#E,则: 有限域GF(2m)上的椭圆曲线 是对于固定的a、b值,满足形如方程: y2+xy=x3+ax2+b 的所有点的集合,外加一个零点或无穷远点 其中a、b,x和y在GF(2m)域上取值 GF(2m)域上的元素是m位的串(直观示例) GF(2m)上的椭圆曲线例子 由多项式 定义的域GF(24),选基元g=(0010),则域上的元素可表示为 该域上的一条椭圆曲线如右图 g0=(0001) g1=(0010) g2=(0100) g3=(1000) g4=(0011) g5=(0110) g6=(1100) g7=(1011) g8=(0101) g9=(1010) g10=(0111) g11=(1110) g12=(1111) g13=(1101) g14=(1001) g15=(0001) 椭圆曲线加法规则 椭圆曲线上3个点位于同一直线上,那么它们的和为O 动画 加法规则的几何描述 椭圆曲线的加法规则(GF(p)上) 条件: 加法规则1: 加法规则2: 加法规则3:互逆点 加法规则4:加法交换律 加法规则5:加法结合律 加法规则6: 加法规则7 : 例子 GF(23
显示全部