第四章 公钥密码

第四章 公钥密码

公钥密码体制也被称为: 非对称密码体制

公钥密码的基本思想

• RSA算法原理及相关安全性分析

• ElGamal算法原理及相关安全性分析

• SM2算法原理

• 选择密文攻击

对称密码算法的缺陷

  • 密钥分配问题:通信双方加密通信前要通过秘密的安全信道协商加密密钥,这种安全信道可能很难实现,对于这个信道的实现要求甚至比消息的安全性要求还要高
  • 密钥管理问题:在多用户网络中,任何两个用户之间都需要有共享的秘密钥,n个用户需要Cn2=n(n-1)/2个密钥,n=5000时,Cn2=12,497,500,系统开销非常大
  • 没有签名功能:当主体A收到主体B的电子文挡时,无法向第三方证明此电子文档确实来源于B,传统单钥加密算法无法实现抗抵赖的需求

公钥密码的主要作用

  • 基于公钥的密钥分配(如DH密钥交换协议实现密钥分配)
  • 公钥加密
  • 数字签名

公钥密码的理论基础: 陷门单向函数

单向函数:就是一个方向走很轻松,比如hash

陷门单向函数,就是在hash的过程中需要加入一个t,t叫做陷门。有t就可以反求,没有就不行。

研究公钥密码算法就是要找出合适的陷门单向函数

困难问题

  • 大整数分解问题
    • 若已知两个大素数p和q,求n = pq是容易的。
    • 而由n,求p和q则是困难的,这就是大整数分解问题。
  • 离散对数问题
    • 给定一个大素数p,p-1含另一大素数因子q,则可构造一个乘法群,它是一个p-1阶循环群。设g是的一个生成元,1<g<p-1。
    • 已知x,求y=g^x modp是容易的
    • 而已知y、g、p,求x使得y=g^x modp成立则是困难的,这就是离散对数问题。

RSA

RSA算法 - Dinesaw - 博客园 (cnblogs.com)

ElGamal密码体制

加密过程中选择的随机整数k也需要保密且为一次性

  • K泄露,则敌手可计算出y^k从而可以计算出M
  • 使用同一k加密不同的明文M,M',如果敌手知道M就可由C2/C2' =M/M'求出M'

特点:

  • 安全性基于有限域上的离散对数的难解性
  • 加密算法是概率算法
  • 不能抵御选择密文攻击
  • 存在密文扩张

ElGamal的选择密文攻击

椭圆曲线密码体制

为保证RSA算法的安全性,它的密钥长度需一再增大,使得运算负担越来越大。相比之下,椭圆曲线密码的密钥长度是其1/5乃至1/10

(53条消息) 【密码学竞赛】椭圆曲线上的计算(多倍点问题)

椭圆曲线上的密码

有两点,一个点P,Q,并且Q=kP。P的阶是满足nP=O的最小正整数n。

(1)已知k和P易求Q;

(2)已知P、Q求k则是困难的

这就是椭圆曲线上的离散对数问题,可应用于构造公钥密码体制。

SM2

参数

通常选择特征p为160bit,加密的SEED不少于192bit的比特串

posted @ 2022-05-26 20:55  Dinesaw  阅读(223)  评论(0编辑  收藏  举报