非对称加密RSA算法

非对称加密 RSA 算法

一、加密技术一般分为对称加密非对称加密两种

RSA算法为非对称加密,采用的是模运算(modular arithmetic)原理,本质类似于求余运算 (对于负数有些许不同);

二、过程分析

Φ(N)为欧拉函数,求的是N前有多少位和N互质的正整数(Φ(7)=6,7有6、5、4、3、2、1共6个与他互质的数)
当N为质数时,Φ(N)=N-1
Φ(N)可以化简为两个互质的两个数相乘,Φ(N)=Φ(a)*Φ(b);

  • 原理分析:

存在Φ(N),使得mΦ(N)≡1(modN)

=> mkΦ(N)*m≡1*m(modN) 注:k是为了保证指数为整数

=> mkΦ(N)+1=m(modN)


  • 加密过程:memodN≡c ,其中(e,N)为公钥,m通过e次方求余得到 c 密文;

  • 解密过程:cdmodN≡m ,其中(d,N)为私钥,c通过d次方求余得到 m 原文;

    (公钥的(e,N)可以自己假设,根据{d=(kΦ(N)+1)/e}求得 d 作为自己的私钥)

  • 过程推导:加密过程的 c 代入解密过程公式,化简为 => medmodN=m => mkΦ(N)+1modN=m => d=(kΦ(N)+1)/e

  • 字母含义:encrypt 加密、decrypt 解密、cipher 密文、m 原文、c 密文、≡ 同余号

三、实际使用
  1. 当双方第一次通信时,互相传递公钥;
  2. 然后发送消息时通过对方的公钥进行加密;
  3. 接收方,收到消息使用自己私钥进行解密;
  4. 由于非对称加密相对耗时,所以基本只在第一次通信时,用来传递对称加密的密钥,后续则使用效率更高的对称加密方式通信;
四、数字证书
  1. SSL证书也是使用该方式,用私钥签名,而使用公信度更高的证书颁发方CA提供的公钥,一般公钥由各大浏览器提供;
  2. 流程:
1. 浏览器 对称密钥aes + 公钥加密 -> 服务器使用私钥解密
2. 服务器将hash值使用私钥签名 -> 浏览器使用公钥验签
3. 如果一致,则代表自己的内容未被篡改,后续使用对称加密通信;

在这里插入图片描述

在这里插入图片描述

SM2、SM3 和 SM4

  1. SM2(椭圆曲线公钥密码算法)一种替代RSA和DSA的公钥密码算法, 适用于数字证书、数字签名、密钥交换等场景

  2. SM3(密码杂凑算法)一种哈希函数, 将任意长度的消息映射为固定长度的摘要, 适用于数据完整性校验和数字签名等场景

  3. SM4(分组密码算法)一种对称密钥算法, 用于加密和解密数据块, 适用于数据加密传输、数据存储保护等场景, 用于替代DES和AES算法

加密类型加密算法应用范围对应国际加密算法说明
非对称加密SM2身份认证、数字签名、密码交换、256位椭圆曲线RSA、RSA4096需要生成秘钥对(公钥和私钥
对称加密算法SM1128位数字加密、算法不公开、仅以IP核的形式存在于芯片中。智能IC卡、智能密码钥匙、加密卡、加密机DES、3DES、AES(128)、AES192、AES256AES是取代DES的算法
对称加密算法SM4128位数据加密、相当于AES(128)同上同上
完整性运算SM3256位数据摘要计算,相当于SHA256SHA1、SHA-256、SHA-384、SHA-512
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值