下载此文档

BlowFish 加密解密算法.doc


文档分类:IT计算机 | 页数:约3页 举报非法文档有奖
1/3
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/3 下载此文档
文档列表 文档介绍
百科名片 BlowFish 是一个容易使用的文件和文件夹加密软件,只要用鼠标把把文件或文件夹拖到加密的文档地方。算法说明 1、加密信息 BlowFis h 算法用来加密 64Bi t 长度的字符串, 使用两个“盒”—— ungignedlongpbox[18] 和 unsignedlongsbox[4,256] 。 BlowFish 算法中,有一个核心加密函数:BF_En 。该函数输入 64 位信息,运算后,以 64 位密文的形式输出。用 BlowFish 算法加密信息,需要两个过程: 1. 密钥预处理 2. 信息加密分别说明如下: 密钥预处理: BlowFish 算法的源密钥—— pbox 和 sbox 是固定的。我们要加密一个信息,需要自己选择一个 key ,用这个 key 对 pbox 和 sbox 进行变换,得到下一步信息加密所要用的 key_pbox 和 key_sbox 。具体的变化算法如下: 1)用 sbox 填充 key_sbox 2) 用自己选择的 key8 个一组地去异或 pbox ,用异或的结果填充 key_pbox 。 key 可以循环使用。比如说:选的 key 是"abcdefghijklmn" 。则异或过程为: key_pbox[0]=pbox[0]^abcdefgh key_pbox[1]=pbox[1]^ijklmnab ……………………如此循环,直到 key_box 填充完毕。 3)用 BF_En 加密一个全 0的 64 位信息,用输出的结果替换 key_pbox[0] 和 key_pbox[1] 。 i=0 4)用 BF_En 加密替换后的 key_pbox,key_pbox[i+1], 用输出替代 key_pbox[i+2] 和 key_pbox[i+3] 5)i+2 ,继续第 4 步,直到 key_pbox 全部被替换 6)用 key_pbox[16] 和 key_pbox[17] 做首次输入( 相当于上面的全 0 的输入), 用类似的方法, 替换 key_sbox 信息加密。信息加密就是用函数把待加密信息 x 分成 32 位的两部分:xL,xRBF_En 对输入信息进行变换, BF_En 函数详细过程如下: 对于 i=1 至 16 xL=xL^Pi xR=F(xL)^xR 交换 xL和 xR( 最后一轮取消该运算) blowfish 算法 xR=xR^P17 xL=xL^P18 重新合并 xL和 xR 函数 F 见下图:8位 32位|-----------S 盒 1----------- ||加|8位 32位|---- |-----------S 盒 2-----------| || || 异或---- 32位-||| |8位 32位|| |-----------S 盒 3---------------| 加||-----------------32 位|| || |8位 32位| |-----------S 盒 4----------------------- 把 xL 分成 4个8 位分组:a,b,c 和d 输出为: F(xL)=((((S[1,a]+S[2,b])MOD4294967296)^s[3,c])+S[4,d])MOD4294967296 (2的 32 次方)(2 的 32 次方) 重新合并后

BlowFish 加密解密算法 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数3
  • 收藏数0 收藏
  • 顶次数0
  • 上传人ffy51856fy
  • 文件大小0 KB
  • 时间2016-03-07