20220621现代密码学读书笔记

个人博客
https://blog.hylstudio.cn/archives/990

20220621现代密码学读书笔记

4.2 公钥密码体制基本概念

公钥密码之前的基础操作是代换和置换
公钥密码使用数学函数

4.2.1 原理

使用两个密钥分离加密和解密能力,一个公钥一个私钥
加密:公钥加密私钥解密
认证:私钥加密(签名),公钥解密(验签)

4.2.2 算法要求

1.接收方B产生密钥对在计算上是容易的
2.发送方A用接收方B的公钥对消息m加密产生密文c=encrypt(pkb,m)在计算上是容易的,其中pkb为B的公钥
3.接收方B用私钥对c解密成m=decrypt(skb,c)在计算上是容易的,其中skb为B的私钥
4.敌人由pkb计算skb在计算上是不可行的
5.敌人由c和pkb恢复明文m在计算上是不可行的
6.加解密次序可交换 这条虽然有用但不是强制要求

单向陷门函数是一簇可逆函数y=fk(x),满足:
1.当已知k和x时,计算y容易
2.当已知k和y时,计算x容易
3.当已知y但未知k时,求x是不可行的

4.2.3 攻击方法

穷举
可能字攻击:若传递数据长度可穷举则穷举明文对比密文

4.3 RSA 算法

4.3.1 算法描述

1.选取保密大质数p,q
2.计算n=q * q, f(n) = (p-1)(q-1) 其中fn是欧拉函数
3.选取整数e,满足1 < e < f(n)gcd(f(n),e)=1
4.计算d, 满足d * e === 1 mod f(n),d是e在模f(n)下的逆元
5.{e,n}作为公钥,{d,n}作为私钥

加密过程为计算c === m^e mod n
解密过程为计算m === c^d mod n

因构造的e和d互质,且n为素数,由之前的数学铺垫可知在模n下有
c === m^e -> c^d === m ^ ed === m ^(k*f(n) + 1) === m
说实话最后一步略绕,但懒得分析了。。。总之这是数学规律

4.3.2 RSA的计算问题

加解密过程因大指数的幂次容易越界,因此可以用模运算性质缩小计算规模
平方和快速算法优化,x^16 == x^2 ^2 ^2 ^2,减小为4次乘法
pqed的计算均有技巧,此处略

4.3.3 中国剩余定理加速

通过中国剩余定理可代换中间结果,快速计算明文

4.3.4 RSA安全性

假定的是分解大质数是困难的问题,但随着算力的增强,这个速度在逐渐的被计算机暴力的解决
但密钥长度足够大的话目前的计算机还无法快速计算完成

4.4 背包密码

给出一组正整数ai,和一个整数s,求解ai中的子集的和为s
同理,已知ai子集好求s,但已知s难以反向求ai

4.5 Rabin密码

RSA的难度普遍认为和分解大质数相等,但实际上知识小于或等于大质数分解
而Rabin可被证明难度等价于分解大指数

1.对于同一密文可能有两个以上对应的明文
2.修改RSA中的e=2

密钥产生, 大质数p,q满足p===q===3mod4, n = p * q,n为公钥,pq为密钥
加密,c === m ^ 2 mod n
解密,求解x ^ 2 === c mod n ,套中国剩余定理的结论

4.6 NTRU公钥密码

基于整系数多项式的环,在环上的系数相关运算封闭且有数学规律

4.7 椭圆曲线

4.7.1 连续域

ECC是Elliptic Curve Cryptography的简写
定义在椭圆曲线方程上的运算
无穷远定义为O,定义为单位元
加法逆元定义为P2=-P1关于X轴对称,因此当P1P2共线时P1+P2==O
加法定义Q+R:QR为横坐标不同的两点,做直线QR交f(x)于P1(当切线时取P1=Q=R)
因Q+R+P1=O,因此Q+R=-P1,也就是关于P1沿x轴翻转后的点
切线特殊情况:也就是Q的倍数运算,直接取在Q的切线上的交点沿x轴翻转后的点

4.7.2 离散域

椭圆曲线方程的系数取于GF§,其中p为大质数

4.7.3 点数

计算离散域方程的线上有多少离散点,有公式

4.7.4 明文消息嵌入椭圆曲线

对任意m计算mk+j,直到x^3 + ax + bmodp是平方根,即得到(x,sqrt(x^3 + ax + b))
解密只需要x/30向下取整即可

4.7.5 椭圆曲线上的密码

椭圆曲线上的困难问题,群上的点和特殊运算构成Abel群Ep(a,b)
考虑Q=kP,已知k和P的情况下,也就算点P的切线与fx的交点关于x轴翻转易求,k是多次也迭代易求
反之已知PQ则难以确定k

注意:这个离散对数困难问题可应用于任何基于有限域离散对数原理的密码体制

DF密钥交换协议
GElGamal密码体制

4.8基于身份的密码体制

不是我关心的内容,略

明天不继续了。。。到此为止已经解决了我对ECC和RSA的疑惑了,后续内容有缘再见了hhhh
mark当前117页
实在是太南了,我宁愿去看概率论和AI基础也不想看离散数学了,因此离散数学那本书我放弃了
下一本书是编译原理。。。。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值