答疑与RSA

概率空间

可以用离散概率判断安全性
在已知的条件下判断未知的可能性
保密:只知道密文,不知道秘钥,得到明文的可能性是0

一次一密的完善保密性
用信息论的方法写成概率的样子。
(用数学方法衡量安全性)
一次一密:对任何一位的信息都分别进行加密,秘钥会发生变化,信息长度和秘钥长度是一样的。(完善保密性(完全保密),但是不实用)
但是都可以传递很长的秘钥了,那么为什么不直接传递密文?
密码学做的:把一次一密中的秘钥尽可能弄短,但是依旧保证安全性
现在我们做的都是计算安全性(现在是安全的,依据计算能力)

伪随机数:

可以用一定的电路来生成随机数
随机的部分是足够长的。确定性比较强

伪随机数(随机数)的性质:
  1. 0和1的个数各占一半(看上去是随机的)
  2. 相关性,相关函数,随机序列移动一些位置,和原来的序列数不是一样,应该可能性是一半一半
  3. 所有的n位数的游乘比例都是一样的:01 11 00 10 各占1/4
伪随机数为啥这么重要:

加密和解密其实是异或运算
明文异或秘钥=密文
密文异或秘钥=明文
我们研究的是秘钥(是一种随机数)
我们生成的秘钥就是在生成伪随机数
破译了秘钥的生成逻辑,那么就是完全破译

RSA

应用非常广泛,页面上的小锁其实就是rsa
RSA是三个人

对称加密算法:(比如凯撒密码)
加密秘钥和解密秘钥是一样的
非对称加密算法:
加密解密秘钥不同
公钥加密,私钥解密
1976,现代密码发明的源头
秘钥可以是公开的(公开一部分)
1977,第一个非对称密码

从数学角度研究rsa
大素数相乘获得大数字–容易
大数字分解获得两个素数p和q(rsa模)–困难

单向函数(只能算一个方向)
需要了解的数学知识:

  1. 模算术
  2. 素数和互素
  3. 欧拉函数
  4. 欧拉定理
  5. 欧几里得算法

模算术:

除法取余运算:
同余:a =b mod n 即 a,b除以n余数相同
b叫做a模n的剩余,通常0<=b<=n-1

逆元:
ab=1mod n 称a,b互为逆元
如 3
5=1 mod 7 这里1是乘法单位元(加法单位元是0)
(15 mod 7=1)

加法: a+b mod n =a mod n +b mod n
减法:a-b mod n=a+(-b) mod n
乘法(重复加法):ab mod n=a mod n b mod n
幂运算:ab mod n =a
a
aa…mod n
除法:乘以b的逆元 :a/b=a
b-1 mod n
如:35=1 mod 7 --> 4/3=45 =6 mod 7
结合律:(a+b)+c=a+(b+c) mod n
交换律:
分配律:(a+b)c=(ac)+(b*c) mod n

素数和互素:
b|a 也就是b是a的因子(a可以整除b)

如果两个正整数除了1之外,没有其他公因子,那么这两个数互素
(整数的唯一分解式)算数基本定理:任何一个整数都可以分解成其素因子的乘积形式
素分解式困难的

欧拉函数:
欧拉函数是1,2…n-1中与n互素的数的个数
φ(n)
如果p1p2p3…pn=n
φ(n)=n
(1-1/p1)(1-1/p2)…(1-1/pn)
如φ(5)=5*(1-1/5)=4
φ(6)=6*(1-1/3)*(1-1/2)=2

欧拉定理:
对于与n互素的数a有
aφ(n) =1 mod n
如φ(6)=2
52 =1 mod 6

推论:如果n是素数
an-1 =1 mod n
φ(7)=6
26 =64=1 mod 7

逆元存在定理:
对于整数a,p 如果存在整数b满足ab mod p =1,那么b是a的模p乘法逆元
(a和p互素)

欧几里得算法:
辗转相除法的扩展

rsa公钥加密体制系统参数:

  1. 生成两个素数p1和p2(各100-200位十进制数字)
  2. 计算n=p1p2 φ(n)=(p1-1)(p2-1)
  3. 随机选取整数e,1<=e<=φ(n)
  4. 用欧几里得算法计算e的逆元 d= e-1 mod φ(n)
  5. 取公钥位n,e 私钥为 d

rsa公钥加密机制:
对明文:
加密函数: c=me mod n
对密文:
解密函数: m=cd mod n

加解密一致性:
(me)d =m mod n

安全性在于:大整数分解的困难性

关键在于d的求解,需要用到辗转相除法(扩展欧几里得算法)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值