一、对称加密
加解密原理: 加密密钥与解密密钥相同。
DES(Data Encryption Standard):
数据加密标准,速度较快,适用于加密大量数据的场合。
3DES(Triple DES):
是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高;
AES(Advanced Encryption Standard):
高级加密标准,是下一代的加密算法标准,速度快,安全级别高,AES 标准的一个实现是 Rijndael 算法;
RC2和RC4:
用变长密钥对大量数据进行加密,比 DES 快;
对称加密算法比较 |
||||||
名称 |
算法类型 |
密钥长度 |
运算速度 |
安全性 |
破解时间 |
资源消耗 |
DES |
56 |
56位 |
较快 |
低 |
较快 |
低 |
3DES |
对称feister 密码 |
112 、168 位 |
慢 |
中 |
46亿年 |
中 |
AES |
对称block 密码 |
128、192、 256 位 |
快 |
高 |
1490000亿年 |
低 |
二、非对称加密
加解密原理:公钥加密,私钥解密。
RSA:
由 RSA公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的;
ECC(Elliptic Curves Cryptography):
椭圆曲线密码编码学;
ECC和RSA相比,主要优势:
l 抗攻击性强:相同的密钥长度,其抗攻击性要强很多倍。
l 计算量小,处理速度快:ECC总的速度比RSA、DSA要快得多。
l 存储空间占用小:ECC的密钥长度和系统参数与RSA、DSA相比要小得多,占的存贮空间要小得多。这对于加密算法在IC卡上的应用具有特别重要的意义。
l 带宽要求低:当对长消息进行加解密时,三类密码系统有相同的带宽要求,但应用于短消息时ECC带宽要求却低得多。使ECC在无线网络领域具有广泛的应用前景。
RSA和ECC的比较 |
||||
名称 |
成熟度 |
安全性 |
运算速度 |
资源消耗 |
RSA |
高 |
高 |
慢 |
高 |
ECC |
低 |
高 |
快 |
低(计算量小,存储空间小,带宽要求低) |
三、对称加密与非对称加密比较
对称加密与非对称加密比较 |
||||
名称 |
密钥管理 |
安全性 |
速度 |
适合场景 |
对称加密 |
比较难,不适合互联网,一般用于内部系统 |
中 |
快好几个数量级 |
适合大量数据加密处理,不支持数字签名 |
非对称加密 |
密钥管理容易 |
高 |
慢 |
适合小量数据加密,支持数字签名 |
实际应用: |
采用非对称加密算法管理对称算法的密钥,用对称加密算法加密数据,即提高了加密速度,又实现了解密的安全 RSA建议采用1024位的数字,ECC建议采用160位,AES采用128为即可。 |
其它方面的比较:
在管理方面:公钥密码算法只需要较少的资源就可以实现目的,在密钥的分配上,两者之间相差一个指数级别(一个是n一个是n2)。所以公钥密码算法不适应广域网的使用,而且更重要的一点是它不支持数字签名。
在安全方面:由于公钥密码算法基于未解决的数学难题,在破解上几乎不可能。对于私钥密码算法,到了AES虽说从理论来说是不可能破解的,但从计算机的发展角度来看。公钥更具有优越性。
四、消息摘要
散列是信息的提炼,通常其长度要比信息小得多,且为一个固定长度。加密性强的散列一定是不可逆的,这就意味着通过散列结果,无法推出任何部分的原始信息。任何输入信息的变化,哪怕仅一位,都将导致散列结果的明显变化,这称之为雪崩效应。散列还应该是防冲突的,即找不出具有相同散列结果的两条信息。具有这些特性的散列结果就可以用于验证信息是否被修改。
单向散列函数一般用于产生消息摘要,密钥加密等,常见的有:
MD5(Message Digest Algorithm 5):
是RSA数据安全公司开发的一种单向散列算法,非可逆,相同的明文产生相同的
密文。
SHA(Secure Hash Algorithm):
可以对任意长度的数据运算生成一个160位的数值;
SHA-1与MD5的比较
因为二者均由MD4导出,SHA-1和MD5彼此很相似。相应的,他们的强度和其他特性也是相似,最显著和最重要的区别是SHA-1摘要比MD5摘要长32 位。使用强行技术,产生任何一个报文使其摘要等于给定报摘要的难度对MD5是2128数量级的操作,而对SHA-1则是2160数量级的操作。。由于MD5的设计,易受密码分析的攻击,SHA-1显得不易受这样的攻击。在相同的硬件上,SHA-1的运行速度比MD5慢
五、数据签名
DSA(Digital Signature Algorithm):
数字签名算法,是一种标准的 DSS(数字签名标准),严格来说不算加密算法;
用于身份验证,审计和防抵赖。
六、其它加密算法
BLOWFISH:它使用变长的密钥,长度可达448位,运行速度很快
PKCS:The Public-Key Cryptography Standards (PKCS):是由美国RSA数据安全公司及其合作伙伴制定的一组公钥密码学标准,其中包括证书申请、证书更新、证书作废表发布、扩展证书内容以及数字签名、数字信封的格式等方面的一系列相关协议。
SF33,SSF28,SCB2(SM1):国家密码局的隐蔽不公开的商用算法,在国内民用和商用的,
除这些都不容许使用外,其他的都可以使用;
TEA(Tiny Encryption Algorithm):简单高效的加密算法,加密解密速度快,实现简单。但
安全性不如DES
IDEA(International Data Encryption Algorithm):国际数据加密算法,使用 128 位密钥提供非常强的安全性
名称 |
实现方式 |
运算速度 |
安 全 性 |
改进措施 |
应用场合 |
DES |
40-56bit 密钥 |
一般 |
完全依赖密钥,易受穷举搜索法攻击 |
双重、三重DES,AES |
适用于硬件实现 |
IDEA |
128bit密钥 8轮迭代 |
较慢 |
军事级,可抗差值分析和相关分析 |
加长字长为32bit、密钥为256bit,采用232 模加、232+1模乘 |
适用于ASIC设计 |
GOST |
256bit密钥 32轮迭代 |
较快 |
军事级 |
加大迭代轮数 |
S盒可随机秘 密选择,便于软件实现 |
Blowfish |
256-448bit 密钥、16轮迭代 |
最快 |
军事级、可通过改变密钥长度调整安全性 |
|
适合固定密钥场合,不适合常换密钥和智能卡 |
RC4 |
密钥长度可变 |
快DESl0倍 |
对差分攻击和线性攻击具有免疫能力,高度非线性 |
密钥长度放宽到64bit |
算法简单,易于编程实现 |
RC5 |
密钥长度和迭代轮数均可变 |
速度可根据 三个参数的 值进行选择 |
六轮以上时即可抗线性攻击、通过调整字长、密钥长度和迭代轮数可以在安全性和速度上取得折中 |
引入数据相倚转 |
适用于不同字长的微处理器 |
CASTl28 |
密钥长度可变、16轮迭代 |
较快 |
可抵抗线性和差分攻击 |
增加密钥长度、形成CAST256 |
适用于PC机和 UNIX工作站 |
七、密码学在现代的应用
保密通信:保密通信是密码学产生的动因。使用公私钥密码体制进行保密通信时,信息接收者只有知道对应的密钥才可以解密该信息。
数字签名:数字签名技术可以代替传统的手写签名,而且从安全的角度考虑,数字签名具有很好的防伪造功能。在政府机关、军事领域、商业领域有广泛的应用环境。
秘密共享:秘密共享技术是指将一个秘密信息利用密码技术分拆成n个称为共享因子的信息,分发给n个成员,只有k(k≤n)个合法成员的共享因子才可以恢复该秘密信息,其中任何一个或m(m≤k)个成员合作都不知道该秘密信息。利用秘密共享技术可以控制任何需要多个人共同控制的秘密信息、命令等。
认证功能:在公开的信道上进行敏感信息的传输,采用签名技术实现对消息的真实性、完整性进行验证,通过验证公钥证书实现对通信主体的身份验证。
密钥管理:密钥是保密系统中更为脆弱而重要的环节,公钥密码体制是解决密钥管理工作的有力工具;利用公钥密码体制进行密钥协商和产生,保密通信双方不需要事先共享秘密信息;利用公钥密码体制进行密钥分发、保护、密钥托管、密钥恢复等。
基于公钥密码体制可以实现以上通用功能以外,还可以设计实现以下的系统:安全电子商务系统、电子现金系统、电子选举系统、电子招投标系统、电子彩票系统等。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步