非对称加密算法--RSA

一、概念

非对称加密有一对密钥:公钥 (publickey) 和私钥 (privatekey),因为加密和解密用的是不同的密钥,所以称为非对称加密。

公钥加密,私钥解密
私钥加密,公钥解密

二、特点

  • 相对于对称加密,加密速度慢,效率低
  • 相对于对此加密,安全性更高
  • 适合加密少量数据

三、非对称加密算法

  • RSA(最常用)
  • ECC
  • Diffie-Hellman
  • DSA

四、应用场景

4.1、信息加密

在这里插入图片描述

4.2、数字签名

私钥加密,公钥解密;
私钥只有一份,只要不泄露私钥,防止签名被伪造。
对哈希值进行加密可以提高效率

针对A端,进行数字签名过程:

1、A端生成密钥对,将公钥分发给B;
2、A端先将要加密数据,通过哈希算法生成hash值;
3、A端通过私钥对hash值进行加密,生成签名密文;
4、A端发送(原始数据+数字签名)给B端;

针对B端,进行签名校验过程:
1、B端获取到A端发送数据,将原始数据通过相同哈希算法生成hash值hashA;
2、B端通过公钥对签名进行解密,得到hashB;
3、比较hashA与hashB值,相同则数据没有被伪造;

4.3、数字证书

针对密钥分发,存在安全隐患,需要保证获取公钥是真实。

这样就需要第三方机构来保证公钥的合法性,这个第三方机构就是 CA (Certificate Authority),证书中心。

CA 用自己的私钥对信息原文所有者发布的公钥和相关信息进行加密,得出的内容就是数字证书。

信息原文的所有者以后发布信息时,除了带上自己的签名,还带上数字证书,就可以保证信息不被篡改了。信息的接收者先用 CA给的公钥解出信息所有者的公钥,这样可以保证信息所有者的

五、项目实战

package com.spring.util;

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

import javax.crypto.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值