各种加解密算法比較

各种加解密算法比較

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

.          加密算法介绍

对称加密算法

对称加密算法用来对敏感数据等信息进行加密,经常使用的算法包含:

DESData Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。

3DESTriple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。

AESAdvanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高;

AES3DES的比較

算法名称

算法类型

密钥长度

速度

解密时间(建设机器每秒尝试255个密钥)

资源消耗

AES

对称blockpassword

128192256

1490000亿年

3DES

对称feistelpassword

112位或168

46亿年

非对称算法

RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,须要加密的文件块的长度也是可变的;

DSADigital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准);

ECCElliptic Curves Cryptography):椭圆曲线password编码学。

ECCRSA相比,在很多方面都有对绝对的优势,主要体如今下面方面:

抗攻击性强。同样的密钥长度,其抗攻击性要强非常多倍。

计算量小,处理速度快。ECC总的速度比RSADSA要快得多。

存储空间占用小。ECC的密钥尺寸和系统參数与RSADSA相比要小得多,意味着它所占的存贮空间要小得多。这对于加密算法在IC卡上的应用具有特别重要的意义。

带宽要求低。当对长消息进行加解密时,三类password系统有同样的带宽要求,但应用于短消息时ECC带宽要求却低得多。带宽要求低使ECC在无线网络领域具有广泛的应用前景。

以下两张表示是RSAECC的安全性和速度的比較。

攻破时间(MIPS)

RSA/DSA(密钥长度)

ECC密钥长度

RSA/ECC密钥长度比

104

512

106

51

108

768

132

61

1011

1024

160

71

1020

2048

210

101

1078

21000

600

351

 

攻破时间(MIPS)

RSA/DSA(密钥长度)

ECC密钥长度

RSA/ECC密钥长度比

104

512

106

51

108

768

132

61

1011

1024

160

71

1020

2048

210

101

1078

21000

600

351

RSAECC安全模长得比較

功能

Security Builder 1.2

BSAFE 3.0

163ECC(ms)

1,023RSA(ms)

密钥对生成

3.8

4,708.3

签名

2.1(ECNRA)

228.4

3.0(ECDSA)

认证

9.9(ECNRA)

12.7

10.7(ECDSA)

Diffie—Hellman密钥交换

7.3

1,654.0

RSAECC速度比較

散列算法

散列是信息的提炼,通常其长度要比信息小得多,且为一个固定长度。加密性强的散列一定是不可逆的,这就意味着通过散列结果,无法推出不论什么部分的原始信息。不论什么输入信息的变化,哪怕仅一位,都将导致散列结果的明显变化,这称之为雪崩效应。散列还应该是防冲突的,即找不出具有同样散列结果的两条信息。具有这些特性的散列结果就能够用于验证信息是否被改动。

单向散列函数一般用于产生消息摘要,密钥加密等,常见的有:

l         MD5Message Digest Algorithm 5):是RSA数据安全公司开发的一种单向散列算法,非可逆,同样的明文产生同样的密文。

l         SHASecure Hash Algorithm):能够对随意长度的数据运算生成一个160位的数值;

SHA-1MD5的比較

由于二者均由MD4导出,SHA-1MD5彼此非常类似。对应的,他们的强度和其它特性也是类似,但还有下面几点不同:

l         对强行供给的安全性:最显著和最重要的差别是SHA-1摘要比MD5摘要长32 位。使用强行技术,产生不论什么一个报文使其摘要等于给定报摘要的难度对MD52128数量级的操作,而对SHA-1则是2160数量级的操作。这样,SHA-1对强行攻击有更大的强度。

l         对password分析的安全性:因为MD5的设计,易受password分析的攻击,SHA-1显得不易受这种攻击。

l         速度:在同样的硬件上,SHA-1的执行速度比MD5慢。

对称与非对称算法比較

    以上综述了两种加密方法的原理,整体来说主要有以下几个方面的不同:

l         在管理方面:公钥password算法仅仅须要较少的资源就能够实现目的,在密钥的分配上,两者之间相差一个指数级别(一个是n一个是n2)。所以私钥password算法不适应广域网的使用,并且更重要的一点是它不支持数字签名。

l         在安全方面:因为公钥password算法基于未解决的数学难题,在破解上差点儿不可能。对于私钥password算法,到了AES虽说从理论来说是不可能破解的,但从计算机的发展角度来看。公钥更具有优越性。

l         从速度上来看:AES的软件实现速度已经达到了每秒数兆或数十兆比特。是公钥的100倍,假设用硬件来实现的话这个比值将扩大到1000倍。

三.            加密算法的选择

因为非对称加密算法的执行速度比对称加密算法的速度慢非常多,当我们须要加密大量的数据时,建议採用对称加密算法,提高加解密速度。

对称加密算法不能实现签名,因此签名仅仅能非对称算法。

因为对称加密算法的密钥管理是一个复杂的过程,密钥的管理直接决定着他的安全性,因此当数据量非常小时,我们能够考虑採用非对称加密算法。

在实际的操作过程中,我们通常採用的方式是:採用非对称加密算法管理对称算法的密钥,然后用对称加密算法加密数据,这样我们就集成了两类加密算法的长处,既实现了加密速度快的长处,又实现了安全方便管理密钥的长处。

那採用多少位的密钥呢? RSA建议採用1024位的数字,ECC建议採用160位,AES採用128为就可以。

四.            password学在现代的应用

保密通信:保密通信是password学产生的动因。使用公私钥password体制进行保密通信时,信息接收者仅仅有知道相应的密钥才干够解密该信息。

数字签名:数字签名技术能够取代传统的手写签名,并且从安全的角度考虑,数字签名具有非常好的防伪造功能。在政府机关、军事领域、商业领域有广泛的应用环境。

秘密共享:秘密共享技术是指将一个秘密信息利用password技术分拆成n个称为共享因子的信息,分发给n个成员,仅仅有k(kn)个合法成员的共享因子才干够恢复该秘密信息,当中不论什么一个或m(mk)个成员合作都不知道该秘密信息。利用秘密共享技术能够控制不论什么须要多个人共同控制的秘密信息、命令等。

认证功能:在公开的信道上进行敏感信息的传输,採用签名技术实现对消息的真实性、完整性进行验证,通过验证公钥证书实现对通信主体的身份验证。

密钥管理:密钥是保密系统中更为脆弱而重要的环节,公钥password体制是解决密钥管理工作的有力工具;利用公钥password体制进行密钥协商和产生,保密通信两方不须要事先共享秘密信息;利用公钥password体制进行密钥分发、保护、密钥托管、密钥恢复等。

基于公钥password体制能够实现以上通用功能以外,还能够设计实现下面的系统:安全电子商务系统、电子现金系统、电子选举系统、电子招投标系统、电子彩票系统等。

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118477.html原文链接:https://javaforall.net

(0)
上一篇 2021年12月5日 下午5:00
下一篇 2021年12月5日 下午5:00


相关推荐

  • springboot配置文件的属性集

    springboot配置文件的属性集springboot配置文件的属性集

    2022年4月22日
    42
  • excel如何去掉换行符号_去掉文本中所有换行符

    excel如何去掉换行符号_去掉文本中所有换行符excel中添加换行符::alt+enter去掉excel中的换行符有三种方法:注:解决过程中翻阅其他博客,看到如下方式:1、看到有的说全选后“取消自动换行”,保存后,再打开,依然存在换行符

    2022年8月4日
    66
  • swig入门

    swig入门最近发现有些漏洞不能扫描 原来是没有需要的库 这些库原来是用 SWIG 生成的一些接口程序 于是顺便小研究了下这个 SWIG 是怎么回事 下面是摘于 SWIG 中文网 http swig minidx com SWIG 是个帮助使用 C 或者 C 编写的软件能与其它各种高级编程语言进行嵌入联接的开发工具 SWIG 能应用于各种不同类型的语言包括常用脚本编译语言例如 Perl PHP Python

    2026年3月19日
    2
  • hostapd和dhcpd

    hostapd和dhcpdhostapd.conf#####hostapdconfigurationfile##############################################interface=wlan0ctrl_interface=/var/run/hostapdssid=rtwapchannel=6wpa=2wpa_passphrase=87654321#bridge=br0

    2022年5月21日
    47
  • 深度解析xxl-rpc之RPC原理

    深度解析xxl-rpc之RPC原理一.什么是RPC?RPC(remoteprocesscall),中文是远程过程调用的意思。怎么理解这个远程过程调用呢?可以这样理解,可以与本地的过程调用对比下,本地过程调用,也就是调用函数或者是调用方法,比如说,在单体架构中,我们要根据用户的id获取订单信息,我们就需要找到订单service,调用getOrderInfoById(Stringid)这个方法,这个调用动作这就是本地过程调…

    2025年6月19日
    4
  • Vue axios 发送 FormData 请求

    Vue axios 发送 FormData 请求一 简介 axios 默认是 Payload 格式数据请求 但有时候后端接收参数要求必须是 FormData 格式的 所以我们就得进行转换 Payload 和 FormData 的主要设置是根据请求头的 Content Type 的值来的 Payload Content Type application json charset utf 8 FormData Content Type application x www form urlencoded Conten

    2026年1月27日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号