什么是Blowfish加密算法?
Blowfish加密算法是一种对称分组密码,旨在克服DES算法速度慢且安全性不确定的缺点。Blowfish是由布鲁斯·施奈尔在1993年发明的一种基于密钥的对称加密分组密码,并已进入公有领域。
对称加密使用单个加密密钥来加密和解密信息。敏感信息和对称加密密钥在加密算法中一起使用,将敏感信息转换为密文。Blowfish包含在大量的密码套件和加密产品中,例如SplashID。
分组密码通常是一种计算机程序,它接受一定数量的明文并将其转换为编码文本或密文。它对称为块的文本块执行此例程。为了在传输的另一端解码文本,该函数还应生成一个密钥来解锁密文。
Blowfish也是公共用途中最快的分组密码之一,这使其成为SplashID等产品的理想选择,SplashID可在手机、笔记本电脑和台式电脑中发现的各种处理器上运行。
Blowfish具有64位分组大小和32位到448位的密钥长度。它是一个16轮Feistel密码,需要大型密钥相关的S盒。其结构与CAST-128相同,后者需要固定的S盒。
Blowfish算法是最流行的算法之一,但它需要大量的计算能力,某些方面使其容易受到许多攻击者的攻击。可以通过减小“S盒”的大小,并在神经网络(NN)上设计和实现它来改进。
神经网络的输入是文本(明文或密文),网络的输出是相同的文本,加密和解密中使用的密钥是神经网络的原始权重,这些权重使用反向传播网络进行训练。
Blowfish使用特定形式的密钥生成。Blowfish程序的第二个要素是一个密钥扩展,它将最多448位的单个密钥转换为大小为4168字节的子密钥表。子密钥的生成进一步提高了安全性,因为黑客必须破解的不仅仅是原始密钥。
Blowfish算法的持久性在于子密钥生成及其基本的混淆和扩散设计。Blowfish是一个对称主密码系统,依赖于Feistel网络。
布鲁斯·施奈尔介绍了该算法。它是一个64位分组大小的密码,完整版本需要16轮来完成分组密码,并使用大量子密钥,密钥长度可变,从32位到448位。