最经典的非对称加密算法RSA

一, Preface

RSA加密算法是一种最经典的非对称加密算法。RSA是由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)在1977年一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。

二, 原理和实现

这里不讲复杂的数学公式, 这里只简单的介绍RSA是什么以及大概的工作原理。RSA作为做经典的非对称加密算法,有公钥(如pem文件)和私钥(如key文件)组成。大部分情况下公钥交给外界加密, 私钥用来给自己解密文件。也有一些情况反过来, 通过私钥进行加密, 通过公钥来进行解密。

非对称加密

三,具体应用

RSA在很多方面都应用广泛。作为一种非对称加密技术,它在保障网络通信安全、数据加密存储、数字签名等领域发挥着重要作用。

  1. 在Github上我们上传项目时候使用的SSH, 就会使用到RSA加密, 在本地生成RSA私钥和公钥, 再把公钥复制到GitHub上, 便可建立SSH连结。同理我们在本地通过SSH连接远程服务器也是一样的道理。
  2. 在SSL证书中也有应用, 当我们购买了SSL证书之后, 经过了域名验证, 我们还必须同时上穿私钥key文件和公钥pem文件给服务商。等等等等, 在很多方面RSA都有广泛的应用。
  3. 在HTTPS和SSH数据传输时, 通过持有的非对称加密的公钥和私钥进行一系列的加密, 最终形成一个对称加密的会话密钥来进行通信。