西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
西西首頁(yè) 電腦軟件 安卓軟件 電腦游戲 安卓游戲 排行榜 專題合集

Blowfish 算法工具(Blowfish Tool)

V1.0 綠色版
  • Blowfish 算法工具(Blowfish Tool)V1.0 綠色版
  • 軟件大小:21KB
  • 更新時(shí)間:2010-05-03 11:25
  • 軟件語(yǔ)言:英文
  • 軟件廠商:
  • 軟件類別:國(guó)產(chǎn)軟件 / 免費(fèi)軟件 / 加密解密
  • 軟件等級(jí):3級(jí)
  • 應(yīng)用平臺(tái):WinAll, WinXP
  • 官方網(wǎng)站:http://www.innovatechautomation.com
  • 應(yīng)用備案:
好評(píng):50%
壞評(píng):50%

軟件介紹

Blowfish加密和解密的小工具,前些天分析了一個(gè)用Blowfish加密算法進(jìn)行注冊(cè)驗(yàn)證的程序,通過學(xué)習(xí)《加密與解密》中的相關(guān)文章,自己參照原程序?qū)懥藗(gè)Blowfish加密和解密的小工具,以方便大家使用.建議input/output/key都能以文件為載體.畢竟結(jié)果很多都是非ascii的. 

blowfish加密算法原理:

blowfish加密算法是一種對(duì)稱的分組加密算法,每次加密一個(gè)64位分組,使用32位~448位的可變長(zhǎng)度密鑰,應(yīng)用于內(nèi)部加密。加密過程分為兩個(gè)階段:密鑰預(yù)處理和信息加密。

blowfish加密算法中使用兩個(gè)盒key—pbox[18]和key—sbox[4][256],以及一個(gè)核心的加密函數(shù)blowfish—encrypt()。這兩個(gè)盒所占存儲(chǔ)空間為(18×32+4×256×32)字節(jié),即4186字節(jié)。加密函數(shù)blowfish—encrypt()輸入64位明文,輸出64位密文。

一、密鑰預(yù)處理

blowfish加密算法的原密鑰pbox和sbox是固定的,初始化方法是用π的小數(shù)部分,按每32位一次分配給pbox和sbox,即:

pbox[0]一0x243f6a88;

pbox[1]一0x85a308d3;

sbox[3][254]一0x578fdfe3;

sbox[3][255]一0x3ac372e6;

當(dāng)加密一個(gè)信息時(shí),需要自己選擇一個(gè)key(64~448位),用這個(gè)key變換sbox和pbox,得到加密信息所用的key_pbox和key_sbox。

二、信息加密

信息加密采用加密函數(shù)blowfish—encrypt()。blowfish加密算法是一個(gè)16層的feistel網(wǎng),加密一個(gè)64位分組需要16次的迭代,在迭代中使用key_pbox和key_sbox,最后得出64位的密文。由于計(jì)算中僅使用模232加、“異或”以及用key_sbox替代等操作,因此實(shí)現(xiàn)起來速度非常快。blowfish加密算法中有以下兩個(gè)基本運(yùn)算:

加法:字的模232相加,記為“+”。

按位“異或”:記為“⊕”。

三、信息解密

用blowfish加密算法解密,同樣也需要兩個(gè)過程:

1、密鑰預(yù)處理,與加密時(shí)相同;

2、信息解密,把信息加密過程中的key_pbox逆序使用即可。

值得注意的是:與大多數(shù)分組密碼不同,blowfish中解密順序和加密順序是相同的,而不能倒過來。

解密過程偽代碼如下(i表示迭代次數(shù)):

對(duì)于i=1至16

xl=xl—p^[i]

xr=f(xl)^xr

交換xl和xr(最后一輪取消交換運(yùn)算)

xr=xr^p[17]

xl=xr^p[18]

重新合并xl和xr,得到64位的明文。

blowfish加密算法性能分析:

blowfish設(shè)計(jì)的基本原理既容易理解又實(shí)現(xiàn)簡(jiǎn)單。與其他算法不同,子密鑰的生成都是由加密函數(shù)blowfish—encrypt()完成,每個(gè)子密鑰都會(huì)受到密鑰位的影響,這 使得密鑰和數(shù)據(jù)完全混合在一起,對(duì)密鑰的分析顯得十分困難。其中的f函數(shù)給fesistel網(wǎng)絡(luò)一個(gè)很好的雪崩效應(yīng)。

blowfish加密算法的另一個(gè)特點(diǎn)是在每一輪中同時(shí)對(duì)兩部分文件加密,增加了密碼的強(qiáng)度。blowfish加密算法用c語(yǔ)言和匯編實(shí)現(xiàn)起來都很方便,每個(gè)操作均為xor、mov、add。schneier將該算法與其他算法的執(zhí)行時(shí)間進(jìn)行比較。到目前為止,blowfish加密算法法的安全性還未受到挑戰(zhàn)。

軟件標(biāo)簽: Blowfish

其他版本下載

最新評(píng)論查看所有(1)條評(píng)論 >

第 1 樓 上海有線通 網(wǎng)友 客人 2010/10/21 16:55:36

支持( 0 ) 蓋樓(回復(fù))

發(fā)表評(píng)論

昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
查看所有(1)條評(píng)論 > 字?jǐn)?shù): 0/500

TOP
軟件下載