Blowfish加密算法概述
Blowfish算法是一个64位分组及可变密钥长度的对称密钥分组密码算法,可用来加密64比特长度的字符串。32位处理器诞生后,Blowfish算法因其在加密速度上超越了DES而引起人们的关注。Blowfish算法具有加密速度快、紧凑、密钥长度可变、可免费使用等特点,已被广泛使用于众多加密软件。
百度百科链接:https://baike.baidu.com/item/Blowfish算法/2685972?fr=aladdin(狗头保命)
听我bb
Blowfish是一种对称加密算法同时也是分组加密算法,算法基于Feistel网络
算法有俩部分组成:密钥扩展部和数据加密
算法核心在于子密钥生成,算法中使用了大量的子密钥,而子密钥又依赖于用户密钥。
密钥扩展部分将最长最长为448位的密钥转化成共4168字节长度的子密钥数组
原理
子密钥扩展
子密钥在算法加密后产生,…等等。。。(请勿当真)
子密钥在算法加密前就被计算出来了,子密钥是什么东西呢?
好吃的.。。。。肯定不是
子密钥即p数组和s盒
例如:P1、P2、P3直到P18
4个1024个32bit的s盒
(S盒的作用是淆密钥与密文之间的关系,其直接决定了密码算法的好坏。S盒用在分组密码算法中,是唯一的非线性结构)
加解密原理:
要加密一个信息,想要自己选择一个key,用这个key对pbox和sbox做负距离接触(变换),得下一步到key-box及key-sbox
简单说是用P1和密钥的前32位进行与运算,P2和后32位进行与运算,依此类推直到密钥的所有位
解密也是差不多,在解密方使用key后生成一队key-box及key-sbox后对同一条密文进行解密。
其他链接
哔哩哔哩
会同步该博客发一些自制视频
微博
用的比较少
Github
一些源代码
知乎
不懂的我一般会在上面提问
简书
同步该博客内容相同
个人联系方式
QQ:2446264712
微信:X15019749137
邮箱:xiaoyangaichibaozi@yeah.net
有意添加请备注 啊啊啊啊
Blowfish是一种64位分组的对称密钥加密算法,以其快速的加密速度和可变密钥长度著称。它基于Feistel网络,通过密钥扩展生成子密钥,然后使用子密钥进行加解密。子密钥包括P数组和4个S盒,S盒为非线性结构,对混淆密钥与密文的关系起关键作用。加解密过程中,密钥与P盒进行运算生成key-box和key-sbox,用于加密和解密操作。

2316

被折叠的 条评论
为什么被折叠?



