BlowFish加密算法
软件的加密方式有RSA、ElGamal、DSA以及Blowfish等加密算法,BlowFish算法用来加密64Bit长度的字符串,它使用两个“盒”——Ungigned Long Pbox[18]和Unsigned Long Sbox[4,256]。BlowFish算法中,有一个核心加密函数BF_En,该函数输入64位信息,运算后,以64位密文的形式输出,用BlowFish算法加密信息,需要密钥预处理和信息加密两个过程,信息加密就是用函数把待加密信息x分成32位的两部分:xL,xR BF_En对输入信息进行变换,我们要加密一个信息,需要自己选择一个Key,用这个Key对Pbox和Sbox进行变换,得到下一步信息加密所要用的Key_pbox和Key_sbox,信息解密的过程就是把信息加密过程的Key_pbox逆序使用即可。
从以上可以看出,选择不同的Key,用BlowFish算法加密同样的信息,可以得出不同的结果,要破解BlowFish算法,就要得到BlowFish算法的Key。所以,使用BlowFish算法进行加密,最重要的也就是Key的选择以及Key的保密,其中key的选择可以使用Bf_sdk中的_WeakKey函数进行检验。
CryptaPix 2.24功能介绍
CryptaPix 2.24可以浏览我们常用的图片格式,还支持图片打印输出、支持数码相机、DV机以及摄像头直接拍摄图片进行加密,当然它最大的特点还是采用了Blowfish 加密技术,经过加密后的图片,如果没解密密码,就无法查看加密的图片。
对图片进行加密
首先我们来进行基本参数优化设置,进入软件“Options”菜单的“Prefereces”选项(如图1),