Blowfish加密和解密的小工具,前些天分析了一个用Blowfish加密算法进行注册验证的程序,通过学习《加密与解密》中的相关文章,自己参照原程序写了个Blowfish加密和解密的小工具,以方便大家使用.建议input/output/key都能以文件为载体.毕竟结果很多都是非ascii的.
blowfish加密算法原理:
blowfish加密算法是一种对称的分组加密算法,每次加密一个64位分组,使用32位~448位的可变长度密钥,应用于内部加密。加密过程分为两个阶段:密钥预处理和信息加密。
blowfish加密算法中使用两个盒key—pbox[18]和key—sbox[4][256],以及一个核心的加密函数blowfish—encrypt()。这两个盒所占存储空间为(18×32+4×256×32)字节,即4186字节。加密函数blowfish—encrypt()输入64位明文,输出64位密文。
一、密钥预处理
blowfish加密算法的原密钥pbox和sbox是固定的,初始化方法是用π的小数部分,按每32位一次分配给pbox和sbox,即:
pbox[0]一0x243f6a88;
pbox[1]一0x85a308d3;
…
sbox[3][254]一0x578fdfe3;
sbox[3][255]一0x3ac372e6;
当加密一个信息时,需要自己选择一个key(64~448位),用这个key变换sbox和pbox,得到加密信息所用的key_pbox和key_sbox。
二、信息加密
信息加密采用加密函数blowfish—encrypt()。blowfish加密算法是一个16层的feistel网,加密一个64位分组需要16次的迭代,在迭代中使用key_pbox和key_sbox,最后得出64位的密文。由于计算中仅使用模232加、“异或”以及用key_sbox替代等操作,因此实现起来速度非常快。blowfish加密算法中有以下两个基本运算:
加法:字的模232相加,记为“+”。
按位“异或”:记为“⊕”。
三、信息解密
用blowfish加密算法解密,同样也需要两个过程:
1、密钥预处理,与加密时相同;
2、信息解密,把信息加密过程中的key_pbox逆序使用即可。
值得注意的是:与大多数分组密码不同,blowfish中解密顺序和加密顺序是相同的,而不能倒过来。
解密过程伪代码如下(i表示迭代次数):
对于i=1至16
xl=xl—p^[i]
xr=f(xl)^xr
交换xl和xr(最后一轮取消交换运算)
xr=xr^p[17]
xl=xr^p[18]
重新合并xl和xr,得到64位的明文。
blowfish加密算法性能分析:
blowfish设计的基本原理既容易理解又实现简单。与其他算法不同,子密钥的生成都是由加密函数blowfish—encrypt()完成,每个子密钥都会受到密钥位的影响,这 使得密钥和数据完全混合在一起,对密钥的分析显得十分困难。其中的f函数给fesistel网络一个很好的雪崩效应。
blowfish加密算法的另一个特点是在每一轮中同时对两部分文件加密,增加了密码的强度。blowfish加密算法用c语言和汇编实现起来都很方便,每个操作均为xor、mov、add。schneier将该算法与其他算法的执行时间进行比较。到目前为止,blowfish加密算法法的安全性还未受到挑战。





















Advanced PDF Password Recovery Pro5.0.5 汉化纯净安装版
winrar密码破解(RAR Password Recovery Magic)v6.1.1.263 中文绿色版
RAR Password UnlockerV5.0.0.0 特别版
PDF Password Remover(所有者密码清除)v3.1 汉化绿色版
zip密码破解(ZIP Password Recovery Magic)v6.1.1.175 中文绿色版
BIOS密码清除器绿色版
DVD decrypter(DVD解密软件)v3.5.4.0中文绿色版
office系列软件密码恢复(Office Password Recovery Magic)v6.1.1 简体中文绿色版
SDisk个人密盘V6.0绿色中文特别版
异或加解密工具特别版
RAR Password Enumerator(解加密的RAR文件的工具)V1.3.4.2中文绿色免费版
著名开源数据加密工具发布TrueCryptv7.0 多语绿色版
Facebook帐户密码取回工具(FacebookPasswordDecryptor)1.6 绿色版
PGP Desktop Professionalv9.9
Ashampoo Magical Security 2V2.02 中文注册版
中原文件夹加密v3.1 绿色特别版
小小Access密码查看器V1.1简体中文绿色免费版