
Blowfish是由布鲁斯·施奈尔于1993年设计的对称加密块算法,采用64位分组加密机制,通过动态生成key_pbox和key_sbox实现数据加解密,支持密钥长度可变且免费开放使用 。该算法在Oracle Security Developer Tools Crypto FIPS库中作为BlockCipher类的子类实现,包含加密块、解密块方法和PKCS5填充模式 。
Blowfish加密过程分为密钥扩展和数据加解密两部分:密钥扩展将原始密钥转换为4168位的字密钥序列,涉及18个32位P数组和4个256入口的S盒;数据加密包含16轮位操作,每轮使用函数F进行S盒查表与模运算,解密过程则逆序使用P数组。其安全性基于16轮抗差分攻击特性,存在理论弱密钥但实际尚未发现有效破解方法 。
该算法衍生出BlowfishAdvancedCS加密工具,整合文件加密、数据擦除和压缩功能,加密文件可通过随机命名或bfa扩展名隐藏特征,需原软件配合密钥解密。研究人员聂廷远曾在新加坡TENCON和ICBECS会议上发表相关算法性能评估研究成果 。
想要了解更多“BLOWFISH”的信息,请点击:BLOWFISH百科
