cybernagle / cs-videos

topics need to learn and to do. track by issues.
https://space.bilibili.com/250682464
1 stars 0 forks source link

短视频系列 short video. #4

Open cybernagle opened 1 year ago

cybernagle commented 1 year ago

记录一下想要梳理并录制的东西.

cybernagle commented 1 year ago
cybernagle commented 1 year ago

you have 5 3, you need 4

2 5 - 2 3 = 4 2 -3 2 +5

5  - 3  = 2 
3 - 2 = 1 
5 - 1 = 4
4 -3  = 1 
5 - 2 = 3 

you got 7 5, you need 3 gcd(7, 5) = 1

2 * 5 - 7 = 3

5 - 7 = -2 
5 - 2 = 3 

9 3 4 因为 gcd (9,3) = 3 , 3 不能组合成 4 不可以

cybernagle commented 1 year ago

说有两个质数, p: 5,q: 7 . 根据这两个质数我们来得到三个数字:

  1. n = 5*7 得到 N
  2. gcd(e, (p - 1)*(q-1)) , 就是说找到一个与 24 互质的数字, 我们选 5(还可以是其他数字)
  3. ed 等价于 1(mod (p-1)(q-1), 就是说找到与 e(5) 相乘之后, 和 24 最大公约数为 1 的数字. 我们取 29.

这样我们就有了三个数字: N, E , D

  1. 公钥: (E , N)
  2. 私钥: (D, N)

对一个内容进行加密, 比如说 ! 的 Ascii 33

  1. 加密: (33^D) % N = 3
  2. 解密: (3 ^E) % N = 33