2022年BlowFish加密解密算法[定 .pdf

上传人:C****o 文档编号:32100019 上传时间:2022-08-08 格式:PDF 页数:3 大小:125.76KB
返回 下载 相关 举报
2022年BlowFish加密解密算法[定 .pdf_第1页
第1页 / 共3页
2022年BlowFish加密解密算法[定 .pdf_第2页
第2页 / 共3页
点击查看更多>>
资源描述

《2022年BlowFish加密解密算法[定 .pdf》由会员分享,可在线阅读,更多相关《2022年BlowFish加密解密算法[定 .pdf(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、百科名片BlowFish 是一个容易使用的文件和文件夹加密软件,只要用鼠标把把文件或文件夹拖到加密的文档地方。算法说明1、加密信息BlowFish 算法用来加密64Bit 长度的字符串, 使用两个 “ 盒” ungignedlongpbox18 和 unsignedlongsbox4,256 。BlowFish 算法中,有一个核心加密函数:BF_En 。该函数输入64 位信息,运算后,以64 位密文的形式输出。用 BlowFish 算法加密信息,需要两个过程:1.密钥预处理2.信息加密分别说明如下:密钥预处理:BlowFish 算法的源密钥pbox 和 sbox 是固定的。我们要加密一个信息,

2、需要自己选择一个key,用这个key对 pbox 和 sbox 进行变换,得到下一步信息加密所要用的key_pbox 和 key_sbox。具体的变化算法如下:1)用 sbox 填充 key_sbox 2)用自己选择的key8 个一组地去异或pbox,用异或的结果填充key_pbox。key 可以循环使用。比如说:选的key 是abcdefghijklmn 。则异或过程为:key_pbox0=pbox0abcdefgh key_pbox1=pbox1ijklmnab 如此循环,直到key_box 填充完毕。3)用 BF_En加密一个全0 的 64 位信息,用输出的结果替换key_pbox0 和

3、 key_pbox1 。i=0 4)用 BF_En加密替换后的key_pbox,key_pboxi+1, 用输出替代key_pboxi+2 和 key_pboxi+3 5)i+2,继续第 4 步,直到key_pbox 全部被替换6)用 key_pbox16和 key_pbox17做首次输入(相当于上面的全0 的输入),用类似的方法,替换key_sbox信息加密。信息加密就是用函数 把待加密信息x 分成 32 位的两部分 :xL,xRBF_En对输入信息进行变换,BF_En函数详细过程如下:对于 i=1 至 16 xL=xLPi xR=F(xL)xR 交换 xL 和 xR(最后一轮取消该运算)

4、blowfish 算法xR=xRP17 xL=xLP18 重新合并 xL和 xR 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 3 页 - - - - - - - - - 函数 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 输出为:

5、 F(xL)=(S1,a+S2,b)MOD4294967296)s3,c)+S4,d)MOD4294967296 (2 的 32 次方 )(2 的 32 次方 ) 重新合并后输出的结果就是我们需要的密文。算法解密用 BlowFish 算法解密,同样也需要两个过程。1.密钥预处理2.信息解密密钥预处理的过程与加密时完全相同信息解密的过程就是把信息加密过程的key_pbox 逆序使用即可。可以看出,选择不同的key,用 BlowFish 算法加密同样的信息,可以得出不同的结果。要破解 BlowFish 算法,就是要得到BlowFish 算法的 key。所以,使用BlowFish 算法进行加密,最重

6、要的也就是key 的选择以及key 的保密。其中key 的选择可以使用bf_sdk 中的 _WeakKey函数进行检验。以下是该函数的说明:源文:- _WeakKey Function:TestifthegeneratedBoxesareweak Argument:none Return:AX=Status(1=weak,0=good) Affects:AX,BX,CX,DX,SI,DI,directionFlag Description:After_InitCryptyoushouldtesttheBoxeswiththisfunction. Iftheyprovideaweaknesswh

7、ichacryptoanalystcoulduseto breaktheciphera1isreturned.Inthiscaseyoushould reloadtheoriginalboxesandlettheuserchooseadifferent password. - 译文:- _WeakKey 功能:测试产生的box 是否安全名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 3 页 - - - - - - - - - 参数:无返回: AX=1不安全; AX=0安全影响: AX,BX,CX,DX,SI,DI, 方向标志描述:使用 _InitCrypt 函数产生用于加密的Boxes 后,你应该用这个函数测试产生的Boxes 是否安全,如果该key 产生的 Boxes 不安全 可以被密码分析者通过分析Boxes得到 key,那么,你应该采用另外一个key 产生一个安全的 Boxes用来加密。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 3 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁