ASE加密算法

ASE是一种对称加密算法,与MD5、SHA不同,其特点是使用同一密钥进行加密和解密。ASE支持128、192、256位密钥,其中ASE256安全性最高。加密过程涉及填充策略,如NoPadding、PKCS5Padding和ISO10126Padding,以及不同工作模式如ECB、CBC、CTR、CFB和OFB。填充和模式的选择在加密和解密时必须保持一致。
摘要由CSDN通过智能技术生成

ASE加密算法

ASE算法不同于md5、sha加密,是一种对称的加密算法,其对称性体现在发送信息时需要通过密钥对信息进行加密,接收方收到后,要想获取信息内容,需要用同一个密钥对加密信息进行解密。
ASE算法:对称加密算法、可逆的、保证私密信息不被泄露
md5、sha算法:哈希摘要算法、不可逆的、对信息一致性和完整性的校验
ASE算法的三要素:密钥、填充、模式

密钥

密钥是ASE算法实现加密和解密的根本。对称加密算法之所以对称,是因为这类算法对明文(信息)的加密和解密需要使用同一个密钥
ASE支持三种长度的密钥:128位、192位、256位
平时大家说的ASE128、ASE192、ASE256,实际上就是对不同长度密钥的使用。
ASE256安全性最高、ASE128性能最高,本质在于它们的加密轮数不同

填充

首先了解ASE的分组加密:
ASE的分组加密
ASE算法在对明文加密的时候,并不是把整个明文一股脑的加密成一整段密文,而是把明文拆分成一个个独立的明文块,每一个明文块长度128bit(16个字节)。
这些明文经过ASE加密器的复杂处理,生成一个个独立的密文块,这些密文块拼接在一起,就是最终的ASE加密结果。
但是这里涉及到一个问题:
假如一段明文长度是192bit,如果按每128bit一个明文块来拆分的话,第二个明文块只有64bit,不足128bit,这时候怎么办呢?就需要对明文块进行填充
NoPadding:不做任何填充,但是要求明文必须是16字节(128位)的整数倍。
PKSC5Padding(默认):如果明文块少于16个字节,在明文块莫问补足响应数量的字符,且每个字节的值等于缺少的字符数,

比如明文:{1,2,3,4,5,a,b,c,d,e},缺少6个字节,则补全为{1,2,3,4,5,a,b,c,d,e,6,6,6,6,6}

ISO10126Padding:如果明文块少于16个字节,在明文块莫问补足响应数量的字节,最后一个字符值等于缺少的字符,其他字符填充随机数。

比如明文:{1,2,3,4,5,a,b,c,d,e},缺少6个字节,则可能补全为:{1,2,3,4,5,a,b,c,d,e,5,f,g,3,#,6}

需要注意的是,如果在ASE加密的时候使用了某一种填充,解密的时候也必须采用同样的填充方式。

模式

ASE的工作模式,体现在把明文块加密成密文快的处理过程中。ASE加密算法提供了五种不同的工作模式:
ECB、CBC、CTR、CFB、OFB
模式之间的主题思想是近似的,在处理细节上有一些差别。这里只介绍各个模式的基本定义
ECB模式(默认):电码本模式 Electronic Codebook Book
CBC模式:密码分组链接模式 Cipher Block Chaining
CTR模式:计算器模式 Counter
CFB模式:密码反馈模式 Cipher FeedBack
OFB模式:输出反馈模式 Output FeedBack
同样的,如果在ASE加密的时候使用了某一种工作模式,解密的时候也必须采用同样的工作模式。

补充:
1、我们在调用封装好的ASE算法时,表面上使用的key并不是真正用于ASE加密解密的密钥,而是用于生成真正密钥的“种子”。
2、填充明文的时候,如果明文长度原本就是16字节的整数倍,那么除了NoPadding以为,其他的填充方式都会填充一组额外的16字节明文块。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值