公钥密码体制和RSA方案.pptVIP

  • 12
  • 0
  • 约3.29千字
  • 约 33页
  • 2018-03-18 发布于江西
  • 举报
公钥密码体制和RSA方案.ppt

公钥密码体制的 基本概念 Basic Concept of Public Key Cryptography 公钥密码体制的原理 公钥体制(Public key system) (Diffie和Hellman,1976) 每个用户都有一对选定的密钥(公钥k1;私钥k2),公开的密钥k1可以像电话号码一样进行注册公布。 主要特点: 加密和解密能力分开 用于公共网络中实现保密通信 用于认证系统中对消息进行数字签字 无需事先分配密钥。 公钥密码加密体制 公钥密码加密体制 公钥密码认证体制 公钥密码认证体制 公钥密码应满足的要求 接收方B产生密钥对在计算上是容易的 发送方A用收方的公开钥对消息m加密以产生密文c在计算上是容易的。 收方B用自己的秘密钥对密文c解密在计算上是容易的。 敌手由密文c和B的公开密钥恢复明文在计算上是不可行的。 敌手由密文c和B的公开密钥恢复秘密密钥在计算上是不可行的 加解密次序可换,即EPKB[DSKB(m)]=DSKB[EPKB(m)] ,不是对任何算法都做此要求。 单向函数 一个可逆函数f:A?B,若它满足: 1o对所有x?A,易于计算f(x)。 2o对“几乎所有x?A”由f(x)求x“极为困难”,以至于实际上不可能做到,则称f为一单向(One-way)函数。 限门单向函数 单向函数是求逆困难的函数,而单向陷门函数(Trapdoor one-way function),是在不知陷门信息下求逆困难的函数,当知道陷门信息后,求逆是易于实现的。 陷门单向函数是一族可逆函数fk,满足 Y=fk(X)易于计算(当k和X已知) X=f-1k(Y)易于计算(当k和Y已知) X=f-1k(Y)计算上不可行(Y已知但k未知) RSA算法 RSA Algorithm 概况 MIT三位年青数学家R.Rivest,A.Shamir和L.Adleman[Rivest等1978, 1979]发现了一种用数论构造双钥的方法,称作MIT体制,后来被广泛称之为RSA体制。 它既可用于加密、又可用于数字签字。 RSA算法的安全性基于数论中大整数分解的困难性。 算法描述-密钥产生 独立地选取两大素数p和q 计算 n=p×q,其欧拉函数值?(n)=(p-1)×(q-1) 随机选一整数e,1?e?(n),gcd(?(n), e)=1 在模?(n)下,计算e的有逆元d=e -1 mod ?(n) 以n,e为公钥。秘密钥为d。 算法描述-加密和解密 加密 将明文分组,各组对应的十进制数小于n c=me mod n 解密 m=cd mod n 解密正确性证明 cd mod n ≡med mod n ≡m1 modj(n) mod n ≡ mkj(n)+1 mod n m与n互素,由欧拉定理 mj(n)≡1 mod n, mkj(n)≡1 mod n, mkj(n)+1≡m mod n 解密正确性证明 gcd(m,n) ≠1,m是p的倍数或q的倍数,设m=cp,此时gcd(m,q)=1,由欧拉定理, mj(q)≡1 mod q, mkj(q)≡1 mod q, [mkj(q)] j(p)≡1 mod q mkj(n)≡1 mod q,存在一整数r,使mkj(n)≡1+rq 两边同乘m=cp, mkj(n)+1≡m+rcpq=m+rcn,即mkj(n)+1≡m mod n RSA加解密举例 A选择两个素数p=7,q=11,计算?(n),选 择e=19作为公钥,B使用A的公钥对明文消 息m=31进行加密,求密文c。 加密明文 分析:密文由c=me mod n计算得出。 RSA加解密举例 计算方法 1.计算m的18次模乘运算 2.计算 3.快速指数算法 将e表示成二进制形式为 将19表示成二进制形式为10011 快速指数算法伪代码如下: RSA加解密举例 RSA加解密举例 c=0;d=1 for i=k downto 0 do {c=2×c; d?(d×d) mod n; if bi=1 then{ c=c+1; d?(d×m) mod n; } } return d. RSA加解密举例 按上述算法可得密文c的计算表 1 0 0 1 1 1 2 4 9 19

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档