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

Twofish加密/解密工具,在线Twofish加密文本和Twofish解密文本,支持设置多种Twofish工作模式、填充模式和密钥长度。

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

一、Twofish加密算法介绍

  • Twofish(双鱼)是布鲁斯·施奈尔带领的项目组于1998年研发的分组密码算法。美国国家标准技术研究所(NIST)公开招募的高级加密标准(AES)决赛算法之一。Twofish的标志性特点是它采用了和密钥相关的替换盒(S盒)。密钥输入位的一半被用于“真正的”加密流程进行编排并作为Feistel的轮密钥使用,而另一半用于修改算法所使用的S盒。


1.1、Twofish加密算法特点

  • Twofish加密算法是一种可逆的对称加密算法,这类算法在加密和解密时使用相同的密钥,或是使用两个可以简单地相互推算的密钥,一般用于服务端对服务端之间对数据进行加密/解密。作为可逆且对称的块加密,Twofish加密算法的速度比公钥加密等加密算法快很多,但是要求加密端和解密端双方都使用相同的密钥是Twofish算法的主要缺点之一。


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

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


2.1、Twofish工作模式

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


2.2、Twofish填充模式

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

  • 填充区别:在ECB、CBC工作模式下最后一块要在加密前进行填充,其它不用选择填充模式;
  • 填充模式:Twofish支持的填充模式为PKCS7和NONE不填充。其中PKCS7标准是主流加密算法都遵循的数据填充算法。Twofish标准规定的区块长度为固定值128Bit,对应的字节长度为16位,这明显和PKCS5标准规定使用得固定值8位不符,虽然有些框架特殊处理后可以通用PKCS5,但是从长远和兼容性考虑,推荐PKCS7。


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

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


2.4、Twofish加密向量

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


2.5、Twofish附加消息

Twofish附加消息为GCM工作模式下的专用参数,由Twofish加密解密双端共同使用,可以为空。

  • 初始向量IV:参数向量IV的值相当于GCM工作模式使用的Nonce;
  • 消息认证码:GCM加密后生成的消息认证码TAG,GCM工作模式下专用。