BlowFish加密算法研究
来源:互联网 发布:python 获取微秒 编辑:程序博客网 时间:2024/05/29 14:55
BlowFish加密算法研究
1.
算法由两部分组成:密钥扩展和数据加密。密钥扩展把长度可达到
448位的密钥转变成总共4168字节的几个子密钥。数据加密由一个简单函数迭代16轮,每一轮由密钥相关的置换,密钥相关和明文相关的代替组成。所有的运算都是32位字的加法和异或,仅有的另一个运算是每轮的四个查表。
BlowFish算法中,有一个核心加密函数:BF_En,该函数输入64位信息,运算后, 以64位密文的形式输出。
2.
(1)密钥预处理:
(2)信息加密:
把xL分成4个8位分组:a,b,c和d
输出为:F(xL)=((((S[1,a]+S[2,b])MOD 232)^S[3,c])+S[4,d])MOD 232
(3)
1)密钥预处理
此过程与加密时密钥初始化过程完全相同;
2)信息解密
信息解密的过程就是把信息加密过程的key_pbox逆序使用即可。
- BlowFish加密算法研究
- Blowfish加密算法
- Blowfish加密算法
- Blowfish加密算法
- 加密算法: 6、BLOWFISH算法
- 加密算法: BLOWFISH算法
- 加密算法之BLOWFISH算法
- 加密算法之BLOWFISH算法
- 加密算法之BLOWFISH算法
- 加密算法之BLOWFISH算法
- [转帖]加密算法之BLOWFISH算法
- 加密算法之BLOWFISH算法(1)
- 加密算法之BLOWFISH算法(2)
- Blowfish加密算法之Java实现
- Blowfish 加密算法 Java 版简单实现
- Blowfish
- Blowfish
- Blowfish
- Spring Web应用的最大瑕疵
- codeforce 359D 二分+ 动态规划(sparse table)
- 区分Activity的四种加载模式
- Google C++ Style Guide的总结和摘抄
- 消息队列的使用
- BlowFish加密算法研究
- linux2.6中的platform和of_platform机制B
- CentOS:安装中文输入法
- 关于<C专家编程>的笔记
- dom4j操作XML文件
- 计算一个程序的运行时间
- nginx事件模块分析(一)
- linux platform A
- 收藏的Android非常好用的组件或者框架。