Summer Blog

持续更新的Java

昨天想去看看最新的IntelliJ IDEA什么时候出稳定版本,看到他们提供了两个版本,一个是基于Java 8环境的

全新更新策略

Java 9

Java 10

Java 11

Java中使用Rsa

什么RSA

RSA是非对称加密的一种方式,对极大数做因数分解的复杂性决定了其安全性。RSA有一对密钥,公钥和私钥。公钥是公开的用于加密,私钥是用户需要保护的用于解密。

计算过程

  1. 选择两个不相等的质数p q
  2. 计算乘积n
    • n的二进制表示的长度就是密钥的长度
    • 最大(公布的)可破解的RSA密钥长度是768位
  3. 计算欧拉函数
    • φ(n) = (p-1)(q-1)
  4. 选择一个随机整数e
    • 1 < e < φ(n)
    • eφ(n)互质
  5. 计算e对于φ(n)模反元素d
    • d使得edφ(n)除余1,即ed ≡ 1 (mod φ(n))
    • d实际就是求二元一次方程的解ed + φ(n)k = 1
  6. ne封装成公钥,将nd封装成私钥

至此,所有需要的参数都已求得

2019年中总结

2019年中总结

完成的事

技术学习

项目