Serpent加密/解密工具 - 在线Serpent加密和解密文本

Serpent加密/解密工具,用于在线Serpent加密文本和Serpent解密文本,支持设置多种Serpent工作模式、Serpent填充模式。

场景一:使用Serpent密钥加密文本。
1.1、请设置Serpent加密参数,可选多种工作模式、填充模式等数据加密参数。
1.2、请上传或输入要加密的原始文本:
场景二:使用Serpent密钥解密文本。
2.1、请设置Serpent解密参数,可选多种工作模式、填充模式等数据解密参数。
2.2、请上传或输入解密文本:
  操作文档

一、Serpent加密算法介绍

  • Serpent是一种对称密钥加密区块算法,曾入围高级加密标准 (AES) 竞赛,在该竞赛中排名第二,仅次于Rijndael,Serpent加密算法由Ross Anderson、Eli Biham和Lars Knudsen设计。


1.1、Serpent安全性

  • Serpent对安全采取了保守的方法,选择了较大的安全余量:设计者认为16轮足以抵御已知类型的攻击,但指定32轮作为未来的安全保险。在高级加密标准 (AES) 竞赛最终投票中,Serpent安全性最好,其在决赛入围者中获得的反对票最少,但总体排名第二,因为Rijndael获得了更多的赞成票,决定因素是Rijndael允许更高效的软件实施。


二、Serpent加密/解密工具操作方式

  • 首先,设置Serpent加密参数,然后,上传或输入要加密的原始文本,最后,点击开始Serpent加密即可。
  • Serpent加密/解密工具,支持设置多种Serpent工作模式、Serpent填充模式。Serpent加密和Serpent解密参数需要完全一致才能成功,该在线工具加密解密文本使用Base64编码的字符串。


2.1、Serpent工作模式

  • Serpent加密算法常见的工作模式为:ECB,CBC,OFB,CFB,CTR等,除了ECB工作模式无须设置初始化向量IV而不安全之外,其它的Serpent工作模式都必须设置向量IV。


2.2、Serpent填充模式

块密码只能对确定长度的数据块进行处理,而消息的长度通常是可变的,因此需要选择填充模式。当您选择NONE不填充时,则要保证加密文本长度为16的倍数,否则出现Serpent解密/加密异常。

  • 填充区别:在 ECB、CBC工作模式下最后一块要在加密前进行填充,其它不用选择填充模式;
  • 填充模式:Serpent支持的填充模式为PKCS7和NONE不填充。其中PKCS7标准是主流加密算法都遵循的数据填充算法。Serpent标准规定的区块长度为固定值128Bit,推荐PKCS7。


2.3、Serpent加密密钥和密钥长度

  • Serpent密钥长度只有三个值,128Bit、192Bit、256Bit,对应的字节长度为16位、24位和32位,但是Serpent加密标准规定区块长度只有一个值,固定为128Bit,对应的字节长度为16位。Serpent加密密钥KEY用于加密解密数据,不能公开传输,例如16位的加密密钥KEY:1234567812345678。


2.4、Serpent加密向量

  • Serpent加密向量可以公开,用于将加密随机化,同样的明文被多次加密也会产生不同的密文。
  • 在实际的使用场景中,它不能像加密密钥那样直接保存在配置文件中,一般在加密端将向量IV设置为一个16位的随机值,然后和加密文本一起返给解密端。