西西软件园多重安全检测下载网站、值得信赖的软件下载站!
西西首页 电脑软件 安卓软件 电脑游戏 安卓游戏 排行榜 专题合集

Blowfish 算法工具(Blowfish Tool)

V1.0 绿色版
  • Blowfish 算法工具(Blowfish Tool)V1.0 绿色版
  • 软件大小:21KB
  • 更新时间:2010-05-03 11:25
  • 软件语言:英文
  • 软件厂商:
  • 软件类别:国产软件 / 免费软件 / 加密解密
  • 软件等级:3级
  • 应用平台:WinAll, WinXP
  • 官方网站:http://www.cr173.com
  • 应用备案:
好评:50%
坏评:50%

软件介绍

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加密算法法的安全性还未受到挑战。

软件标签: Blowfish

软件截图

Blowfish 算法工具(Blowfish Tool) V1.0 绿色版

其他版本下载

最新评论查看所有(1)条评论 >

第 1 楼 上海有线通 网友 客人 发表于: 2010/10/21 16:55:36

支持( 0 ) 盖楼(回复)

发表评论

昵称:
表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
TOP
软件下载