Blowfish加密算法

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盒用在分组密码算法中,是唯一的非线性结构)

加解密原理:

要加密

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值