一、Camellia加密/解密在线工具文档
1.1、Camellia加密/解密介绍
Camellia数据加密算法是一种可逆的对称加密算法,在密码学中,Camellia是一种为许多组织所推崇的块密码(block cipher),包括欧盟的NESSIE项目(作为选定算法)和日本的CRYPTREC项目(作为推荐算法),该算法由三菱和日本电信电话(NTT)在2000年共同发明。
1.2、Camellia加密/解密安全
Camellia加密/解密算法每块的的长度(block size)为128位,密钥长度则可以使用128、192或256位。Camellia加密/解密算法具有与AES同等级的安全强度以及运算量。
二、Camellia加密/解密在线工具使用须知
2.1、Camellia的填充模式
块密码只能对确定长度的数据块进行处理,而消息的长度通常是可变的,因此需要选择填充模式。
- 填充区别:在ECB、CBC工作模式下最后一块要在加密前进行填充,其它不用选择填充模式;
- 填充模式:Camellia支持的填充模式为PKCS7和NONE不填充。
2.2、Camellia密钥KEY和初始化向量IV
初始化向量IV可以有效提升安全性,但是在实际的使用场景中,它不能像密钥KEY那样直接保存在配置文件或固定写死在代码中,一般正确的处理方式为:在加密端将IV设置为一个16位的随机值,然后和加密文本一起返给解密端即可。
- 区块长度:Camellia规定区块长度只有一个值,固定为128Bit,对应的字节为16字节;
- 密钥长度:Camellia规定密钥长度只有三个值,128、192和256Bit,对应16、24和32字节;
- 密钥KEY:该密钥KEY字段不能公开传输,用于在线加密和解密数据;
- 初始化向量IV:该字段可以公开,用于将加密随机化。同样的明文被多次加密也会产生不同的密文,避免了较慢的重新产生密钥的过程,初始化向量与密钥相比有不同的安全性需求,因此IV通常无须保密。然而在大多数情况中,不应当在使用同一密钥的情况下两次使用同一个IV。
三、Camellia加密/解密在线工具使用方式
- 场景一:使用Camellia密钥加密文本,您可以手动或使用默认值进行Camellia加密;
- 场景二:使用Camellia密钥解密文本,主要用于在线解密Camellia字符串。