各大加密算法对比(原理、性能、安全、运用)

您所在的位置:网站首页 安全隐患图表对比 各大加密算法对比(原理、性能、安全、运用)

各大加密算法对比(原理、性能、安全、运用)

2024-07-10 13:30| 来源: 网络整理| 查看: 265

原理

按加密可逆可以分为:加密可逆算法和加密不可逆算法。加密可逆算法又可以分为:对称加密和非对称加密。

1、加密不可逆算法:一般采用hash算法加密,其原理一般是将原文长度补位成64的倍数,接着初始化固定长度的缓存值,经过循环与分组后的明文进行 与操作、或操作、非操作、异或操作 改变缓存值,最后的缓存值就是密文。该算法加密得到的密文是没有解密算法的,是不可逆的。常见的不可逆算法有:MD5,SHA、SM3。

2、对称加密算法:加密解密密钥相同,明文加密成密文后,密文是可以通过解密恢复原文的,其原理一般是将原文分组,经过 原文位置调换、密钥生成、原文与密钥进行轮函数(异或运算、多项式运算等)处理、分组单元进行字典表置换或位置换 等操作,将明文转化成密文。一般解密使用逆函数、返位移或字典表操作可以将密文转化为原文。常见的对称加密算法有:DES、3DES、AES、SM4、RC4、TEA、IDEA。

3、非对称加密算法:加密解密的密钥不同,其原理一般是用复杂的数学难题来做公钥私钥。即是获取了公钥,也很难计算出私钥。而且这些组成公钥私钥的数字在特定公式下,能将原文(O)和密文©相互转化。比如RSA的公钥(E,N)和私钥(D,N)都由两个数组成,但能通过公式 C=![](https://img- blog.csdnimg.cn/img_convert/736969394b437d2ea3e8b53f8e2cf1de.png) mod N以及 O=![](https://img- blog.csdnimg.cn/img_convert/75dc8ee0e42f4567a750610734900941.png) mod N 相互转化密文和原文。常见的非对称加密算法有:RSA、ECC。

性能

原理分析:非对称采用原文与缓存值hash函数循环进行与或非等操作,返回值也小,速度应该是最快的。而对称加密需要按位或分组与密钥进行轮函数处理,速度应该慢于不可逆加密算法。非对称加密算法由于计算量巨大,应该是最慢的。

实测:本次实测以Hutool工具的加密算法为准,测试md5、sha-256、des、aes、rsa的性能,分别测试它们在不同数量级原文下的加密速度。测试代码如下:

package com.longqi.bootsecurity; import cn.hutool.core.util.HexUtil; import cn.hutool.crypto.SecureUtil; import cn.hutool.crypto.asymmetric.KeyType; import cn.hutool.crypto.asymmetric.RSA; import cn.hutool.crypto.symmetric.AES; import cn.hutool.crypto.symmetric.DES; import cn.hutool.crypto.symmetric.SymmetricAlgorithm; import org.apache.commons.lang3.RandomStringUtils; import java.security.KeyPair; import java.security.PrivateKey; import java.security.PublicKey; import java.util.ArrayList; import java.util.List; /** * @author LQ * @projectName boot-integration * @description: 加密测试 * @date 2023/3/2 20:35 */ public class Application { public static void main(String[] args) { int len = 100; // 准备11个原文,每个算法第一次运行时间不记录,运行时间为后10次的平均值。 List dataList = new ArrayList(16); for (int i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3