一、Aria加密算法介绍
- ARIA加密/解密算法是一种可逆的对称加密算法,这类算法在加密和解密时使用相同的密钥,或是使用两个可以简单地相互推算的密钥,一般用于服务端对服务端之间对数据进行加密/解密。Aria加密/解密算法是一大群韩国研究人员于2003年设计的分组密码 ,2004年韩国技术与标准局将其选为标准密码技术。
1.1、Aria加密算法特点
- Aria加密/解密算法使用基于AES的替换-置换网络结构。该接口与 AES 相同:128 位块大小,密钥大小为 128、192 或 256 位。轮数为 12、14 或 16,具体取决于密钥大小。ARIA 在交替循环中使用两个 8×8 位S-box及其逆,其中之一是Rijndael S-box。
二、Aria加密/解密在线工具使用须知
- 首先,设置Aria加密参数,然后,上传或输入要加密的原始文本,最后,点击开始Aria加密即可。
- Aria加密/解密工具,主要用于在线Aria加密文本和Aria解密文本,支持设置多种Aria工作模式、Aria填充模式和Aria密钥长度。Aria加密和Aria解密参数需要完全一致才能成功,该在线工具加密解密文本使用Base64编码的字符串。
2.1、Aria工作模式
- Aria加密算法常见的工作模式为:ECB,CBC,OFB,CFB,CFB1,CFB8,CTR,CCM,GCM等,除了ECB工作模式无须设置初始化向量IV而不安全之外,其它的Aria工作模式都必须设置向量IV。
2.2、Aria填充模式
块密码只能对确定长度的数据块进行处理,而消息的长度通常是可变的,因此需要选择填充模式。当您选择NONE不填充时,则要保证加密文本长度为8的倍数,否则出现Aria解密/加密异常。
- 填充区别:在 ECB、CBC工作模式下最后一块要在加密前进行填充,其它不用选择填充模式;
- 填充模式:Aria支持的填充模式为PKCS7和NONE不填充。其中PKCS7标准是主流加密算法都遵循的数据填充算法。Aria标准规定的区块长度为固定值128Bit,对应的字节长度为16位,推荐PKCS7。
2.3、Aria加密密钥和密钥长度
- Aria密钥长度只有三个值,128Bit、192Bit、256Bit,对应的字节长度为16位、24位和32位,Aria加密标准规定区块长度只有一个值,固定为128Bit,对应的字节长度为16位。Aria加密密钥KEY用于加密解密数据,不能公开传输,例如16位的加密密钥KEY:1234567812345678。
2.4、Aria加密向量
- Aria加密向量可以公开,用于将加密随机化,同样的明文被多次加密也会产生不同的密文。
- 在实际的使用场景中,它不能像加密密钥那样直接保存在配置文件中,一般在加密端将向量IV设置为一个16位的随机值(其中CCM模式为12位的随机值),然后和加密文本一起返给解密端。
2.5、Aria附加消息
Aria附加消息为CCM/GCM工作模式下的专用参数,由Aria加密解密双端共同使用,可以为空。
- 初始向量IV:参数向量IV的值相当于CCM/GCM工作模式使用的Nonce;
- 消息认证码:CCM/GCM加密后生成的消息认证码TAG,CCM/GCM工作模式下专用。