数据加密原理

RSA MD5 和Base64加密原来

Base64原理(3*6)=24=(4*8)

3*6bit
字符串长度不能被3整除时,空出来使用0来补位
Lucy(一个异常用两个=,两个异常用一个=)

变换过程\值Lucy
ASCII7611799121
Bit字节010011000111010101100011011110010000000000000000
Bit字节01001100011101010110001101111001
Bit字节010011000111010101100011011110010000000000000000
6字节010011000111010101100011011110010000000000000000
十进制19721353016异常异常
对应编码THVjeQ=

两个异常等于一个=所以输出一个
解码Base64:以上面的表反向理解:
对应编码->十进制->(这里变为)3*6字节变为4*8字节->(生成)8Bit字节->ASCII

Tom

变换过程\值Tom
ASCII84111109
Bit字节010101000110111101101101
6字节010101000110111101101101
十进制2166145
对应编码VG9t

对应下面的base64表
这里写图片描述

MD5

MD5是一个安全的散列算法,输入两个不同的明文不会得到相同的输出值,根据输出值,不能得到原始的明文,即其过程不可逆;

原理:
1. 先从输入的内容开始,把内容分解成字节然后把按照每组512字节分开
生成n个组
计算总数N个字节 那么N/512如果不能够整除就说明最后一组缺少字节所以不足512字节的那组添加一个1后由0补齐
2.
这里写图片描述

每个组
512->128*4->a,b,c,d

这里写图片描述

处理对直接进行处理
这里写图片描述

## RSA加密

这里写图片描述

第一步,随机选择两个不相同的质数p和q
->61和53(实际这两个质数越大,就越难破解)

第二步,计算n=p*q
n=61*53=3233;
n的长度就是密钥的长度,3233写成
二进制是110010100001一个12位。
实际RSA密钥一般是1024位,重要场合为2048位

第三部,计算N=(p-1)(q-1)
N=60*52=3120

第四步随机选择一个整数e ( 1 < e < N ) 且e和N 互质(两不相同的数)
e=17

第五步,计算e对于N的模反元素d
反模元素就是指有一个整数d,
可以使得e*d被N 除的余数为1
ed=1%N 或写成 ed-1=N
解为:
ex+Ny=1
例如:
已知:e=17 N=3120
17x+3120y=1
这个方程可以用扩展欧几里得算法求解,
(x,y)=(2753,-15)所以d=2753

第六步,将n和e 封装成公钥,n和d封装成私钥
所以公钥就是 (3233,17),私钥就是(3233, 2753)

八、加密和解密
有了公钥和密钥,就能进行加密和解密了。
(1)加密要用公钥 (n,e)
假设鲍勃要向爱丽丝发送加密信息m,他就要用爱丽丝的公钥 (n,e) 对m进行加密。这里需要注意,m必须是整数(字符串可以取ascii值或unicode值),且m必须小于n。
所谓”加密”,就是算出下式的c:
  me ≡ c (mod n)
爱丽丝的公钥是 (3233, 17),鲍勃的m假设是65,那么可以算出下面的等式:
  6517 ≡ 2790 (mod 3233)
于是,c等于2790,鲍勃就把2790发给了爱丽丝。
(2)解密要用私钥(n,d)
爱丽丝拿到鲍勃发来的2790以后,就用自己的私钥(3233, 2753) 进行解密。可以证明,下面的等式一定成立:
  cd ≡ m (mod n)
也就是说,c的d次方除以n的余数为m。现在,c等于2790,私钥是(3233, 2753),那么,爱丽丝算出
  27902753 ≡ 65 (mod 3233)
因此,爱丽丝知道了鲍勃加密前的原文就是65。
至此,”加密–解密”的整个过程全部完成。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值