密码学-RSA

RSA非对称加密算法,在区块链中有广泛的应用,本文简单介绍下RSA的应用和其原理

RSA基于的数学原理就是因式分解一个大质数为两个整数极其困难

概念介绍:

  1. 密钥对:非对称加密技术中,有一个公钥和一个私钥
  2. 公钥,私钥:在RSA中公钥私钥是对等的,你选择一个公开则为公钥,另一个为私钥。但是在实际的应用中,因为公钥是公开的,因此私钥的容器会保存一份公钥。否则哪怕单独知道了私钥,也是无法求出公钥的。否则公钥就可以逆推私钥了不是。
  3. 摘要:摘要是传输内容的哈希值。
  4. 签名:使用私钥对摘要进行加密

应用

  1. 数据加密:若A想给B发送一个数据,就可以用B的公钥加密数据,在没有被破解的情况下,数据劫持者也无法解析数据,而A可以使用私钥解锁数据。

  2. 数据签名

    A要给B发送一个数据,数据是公开的,但是可能被人劫持,然后修改数据内容再进行重新发送,那么B收到的就是虚假的数据。

    A使用私钥对数据摘要进行签名,生成签名,同数据一同发送。B收到后,使用公钥解密签名获得摘要。再对数据内容进行hash生成摘要。若两份摘要相同,则数据未被修改。

  3. 公钥私钥的长度:随着计算机性能的发展,浮点运算的提高。先后在1999年512位和768位RSA加密先后被破解,如今的RSA算法普遍使用1024位,但是建议使用2048位以保证安全。

引用

私钥可以导出公钥,但公钥无法反推私钥?