Blowfish加密算法

Blowfish是一种64位分组的对称密钥加密算法,以其快速的加密速度和可变密钥长度著称。它基于Feistel网络,通过密钥扩展生成子密钥,然后使用子密钥进行加解密。子密钥包括P数组和4个S盒,S盒为非线性结构,对混淆密钥与密文的关系起关键作用。加解密过程中,密钥与P盒进行运算生成key-box和key-sbox,用于加密和解密操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

加解密原理:

要加密

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值