加解密技术了解

常用的对称加密算法:

对称算法,指加密和解密使用相同密钥的加密算法,对称加密算法用来对敏感数据等信息进行加密。

1). DES算法

2). 3DES算法

3). AES算法

4). TDEA算法

5). Blowfish算法

6). RC5算法

7). IDEA算法

三种常用对称算法的对比

推荐使用

加解密技术了解_第1张图片

消息摘要算法分为三类:

MD(Message Digest):消息摘要

SHA(Secure Hash Algorithm):安全散列

MAC(Message Authentication Code):消息认证码

这三类算法的主要作用:验证数据的完整性

消息摘要算法是有关于数字签名的核心算法。

AES的加密流程,会涉及到AES加密的五个关键词,分别是:分组密码体制、Padding、密钥、初始向量IV和四种加密模式

AES五种加密模式(CBC、ECB、CTR、OCF、CFB)

ECB模式是分组算法的一种基本模式,它不使用链接模式,也不使用初始化向量

分组密码加密方式主要有7种:ECB,CBC,CFB,OFB和CTR,这五种方式将在下面一一讲解。

在除ECB以外的所有加密方式中,都需要用到IV对加密结果进行随机化。

初始向量IV:初始向量IV的作用是使加密更加安全可靠,我们使用AES加密时需要主动提供初始向量,而且只需要提供一个初始向量就够了,后面每段数据的加密向量都是前面一段的密文。初始向量IV的长度规定为128位16个字节,初始向量的来源为随机生成。至于为什么初始向量能使加密更安全可靠,会在下面的加密模式中提到。

信息安全工程师笔记-加密模式ECB、CBC、CFB、OFB、CTR_cbc模式_IT1995的博客-CSDN博客
密码2-加密模式和填充方式_kikajack的博客-CSDN博客
作者:small_hao
链接:https://www.jianshu.com/p/19f7cd27bb90

加解密技术了解_第2张图片

5、在分组加密中,那种补位算法对数据长度有要求。

PKCS1Padding:PKCS#1(v1.5)中规定当RSA的密钥长度是1024b,如果使用PKCS1Padding填充,则原文数据最多117B。如果原文不满足长度要求,则在加密前需要进行填充。

PKCS5Padding:PKCS#5填充是将数据填充到8的倍数,填充后数据长度的计算公式是 定于元数据长度为x, 填充后的长度是 x + (8 - (x % 8)), 填充的数据是 8 - (x % 8),块大小固定为8字节

PKCS7Padding:假设数据长度需要填充n(n>0)个字节才对齐,那么填充n个字节,每个字节都是n;如果数据本身就已经对齐了,则填充一块长度为块大小的数据,每个字节都是块大小;PKCS5只填充到8字节,而PKCS7可以在1-255之间任意填充。

ZeroPadding:数据长度不对齐时使用0填充,否则不填充。

NoPadding:待补充

你可能感兴趣的:(开发语言)