公钥密码系统主要依赖的三种数学难题:1.大整数因子分解问题 2.离散对数问题 (DLP问题) 3. 椭圆曲线上的离散对数问题(ECDLP)

1.大整数因子分解问题,如 RSA 系统

1.数理
  • 将两个大素数相乘容易,但对其乘积进行因式分解极其困难,因此可以将乘积公开作为加密密钥,即公钥,而两个大素数组合成私钥
  • 先找到两个非常大的质数P和Q,使N=PQ,T=(P-1)(Q-1)
  • 在区间(0~N)之间取一个与T互质的数 E,即GCD(E,T)=1
  • 计算得到D,使得 (E*D)%T=1,也就是E再模T意义下的乘法逆元。
  • 加密时得到密文的方法就是C=(M^E)%N ,由密文得到明文就是M=(C^D)%N;
2.流程
  • 以 A 要把信息发给 B 为例,确定角色:A 为加密者,B 为解密者,{E,N}作为公钥,{D,N}作为密钥
  • 首先由 B 随机确定一个 KEY 为私钥;然后,由这个 KEY 计算出另一个 KEY 为公钥
  • 通过网络把这个公钥传给 A,A 收到公钥后,利用公钥对信息加密,并把密文通过网络发送到 B
  • 最后 B 利用已知的私钥,就能对密文进行解码

2.离散对数问题 (DLP问题)

1.数理:
  • 设G为一个有限Abel加法群,假定g为G的某个本原元,a为任意的整数,如果已知g及ag数值,如何求出整数a来的问题在数学上称为离散对数问题。

本原元:设P为素数,若存在一个正整数g使得g1,g2,g3…g m-1 (g的m-1次方),关于模m互不同余( 模p下g的阶=φ ( p ) ),则g为模p的本原元(又称为原根)
同余:两个整数 a, b,若它们除以正整数 m所得的余数相等,则称 a, b对于模 m同余 (a同余于b 模m或a与 b关于模 m同余) ,记作 a≡b(modm) , 比如 26≡14(mod12).

  • 这类算法有Massey—omura公钥系统,EIGamal 公钥系统等等。
2.流程:(EIGamal 公钥系统)
  • 私钥(p,g,x):取大素数 p ,要求p-1有大素数因子,再选择一个模p的本原元g ;随机选取一整数 x (2 <= x <= (p - 2)
  • 公钥(p,g,y):随机选取一整数 x (2 <= x <= (p - 2),计算 y = g^x (mod p)
  • 加密:用户A加密并发送给用户B
    A将明文M编码为一个在0到p-1之间的整数m作为传输的明文;
    随机选取一整数 r (2 <= r<= (p - 2) 且 k 与 (p - 1) 互素);
    计算 c1= g^r mod p,c2 = m*y^r mod p(y为用户B的公钥);得到密文 C = (c1, c2);
  • 解密:用户B接收并解密计算明文m;
    m = c2 * c1^(-x) mod p ;(x为用户B的私钥)
    c2 * c1^(-x) mod p Ξ m * y^r * g^(-xr) Ξ m * g^(xr) * g^(-xr) Ξ m

3. 椭圆曲线上的离散对数问题 (ECDLP)

1.数理
  • 等式Q=dG(Q,G为Ep(a,b)上的点,d为小于n的整数,n是点G的阶
  • 在有限域上的椭圆曲线,给定d和G,根据有限域上的加法法则,很容易计算出Q
  • 这就是椭圆曲线的离散对数难题。点G称为基点,d为私钥,Q为公钥。
2.流程
  • 选定一条椭圆曲线 Ep(a,b) 并取椭圆曲线上一点,作为基点P。
  • 选择一个大数k作为私钥,并生成公钥 Q=kP。将 Ep(a,b) 和点Q、P传给用户。
  • 用户接到信息后 ,将待传输的明文编码到Ep(a,b)上的一点M,并产生一个随机整数r。
  • 公钥加密(密文C是一个点对): C={C1,C2}{rP, M+rQ}
  • 私钥解密(解密结果是点M),对点M进行解码就可以得到明文
    公式如下: C2-kC1=M + rQ - k(rP) = M + r(kP) - k(rP) = M
  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值