展开

关键词

BlowFish加解密原理与代码实现

目录BlowFish加解密原理与代码实现一丶简介二丶原理与代码介绍2.1 BlowFish算法流程2.2 子密钥生成2.3 加密原理2.4 BlowFish的解密2.5.完成代码BlowFish加解密原理与代码实现一丶简介​ BlowFish 是一个对称加密的加密算法。 八个字节BlowFish 密钥采用32-448位BlowFish是由一个16轮循环的Feistel结构进行加密的。 二丶原理与代码介绍2.1 BlowFish算法流程BlowFish 算法流程是由两部分组成 分别是密钥扩展以及数据加密在数据加密中是一个16轮循环的Feistel网络。 先说一下BlowFish需要的子密钥。BlowFish在加密或者初始化的过程中会使用两个盒来进行加密分别是PBOX 以及SBOXPBOX是 由18个32位的字的子密钥组成的。

26810

密码学系列之:blowfish对称密钥分组算法

简介Blowfish是由Bruce Schneier在1993年发明的对称密钥分组加密算法,类似的DES和AES都是分组加密算法,Blowfish是用来替代DES算法出现的,并且Blowfish是没有商用限制的 blowfish详解blowfish和DES一样,使用的是feistel密码来进行分组加密。blowfish的分组块大小是64bits,可变密钥长度可以从32bits到448bits不等。 blowfish需要进行16轮的feistel加密操作,我们先从下图大致感受一下blowfish算法的加密流程:? blowfish认为这样还不够安全,不够随机。我们还需要进行一些操作来生成最终的K数组。首先我们取一个全为0的64bits,然后K数组和S-box,应用blowfish算法,生成一个64bits。 blowfish有了最终的K数组和S-box,我们就可以真正的对要加密的文件进行加密操作了。

19120
  • 广告
    关闭

    腾讯云前端性能优化大赛

    首屏耗时优化比拼,赢千元大奖

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    密码学系列之:blowfish对称密钥分组算法

    简介Blowfish是由Bruce Schneier在1993年发明的对称密钥分组加密算法,类似的DES和AES都是分组加密算法,Blowfish是用来替代DES算法出现的,并且Blowfish是没有商用限制的 blowfish详解blowfish和DES一样,使用的是feistel密码来进行分组加密。blowfish的分组块大小是64bits,可变密钥长度可以从32bits到448bits不等。 blowfish需要进行16轮的feistel加密操作,我们先从下图大致感受一下blowfish算法的加密流程:大概的流程就是将P(原始数据)分成左右两部分,先拿左边的部分和Kr 做异或操作,得出的结果调用 blowfish认为这样还不够安全,不够随机。我们还需要进行一些操作来生成最终的K数组。首先我们取一个全为0的64bits,然后K数组和S-box,应用blowfish算法,生成一个64bits。 blowfish有了最终的K数组和S-box,我们就可以真正的对要加密的文件进行加密操作了。

    7620

    密码学系列之:bcrypt加密算法详解

    bcrypt的工作原理我们先回顾一下Blowfish的加密原理。 blowfish首先需要生成用于加密使用的K数组和S-box, blowfish在生成最终的K数组和S-box需要耗费一定的时间,每个新的密钥都需要进行大概4 KB文本的预处理,和其他分组密码算法相比, 而对于恶意攻击者来说,每次尝试新的密钥都需要进行漫长的预处理,所以对攻击者来说要破解blowfish算法是非常不划算的。所以blowfish是可以抵御字典攻击的。 他们为Blowfish开发了一种新的密钥设置算法,将由此产生的密码称为 “Eksblowfish”(”expensive key schedule Blowfish”)。 这是对Blowfish的改进算法,在bcrypt的初始密钥设置中,salt 和 password 都被用来设置子密钥。

    11040

    密码学系列之:bcrypt加密算法详解

    bcrypt的工作原理我们先回顾一下Blowfish的加密原理。 blowfish首先需要生成用于加密使用的K数组和S-box, blowfish在生成最终的K数组和S-box需要耗费一定的时间,每个新的密钥都需要进行大概4 KB文本的预处理,和其他分组密码算法相比, 而对于恶意攻击者来说,每次尝试新的密钥都需要进行漫长的预处理,所以对攻击者来说要破解blowfish算法是非常不划算的。所以blowfish是可以抵御字典攻击的。 他们为Blowfish开发了一种新的密钥设置算法,将由此产生的密码称为 “Eksblowfish”(”expensive key schedule Blowfish”)。 这是对Blowfish的改进算法,在bcrypt的初始密钥设置中,salt 和 password 都被用来设置子密钥。

    15110

    密码学系列之:twofish对称密钥分组算法

    简介之前的文章我们讲到blowfish算法因为每次加密的块比较小只有64bits,所以不建议使用blowfish加密超过4G的文件。同时因为加密块小还会导致生日攻击等。 所以才有了blowfish的继承者twofish。今天我们一起来揭秘一下twofish这个加密算法。twofish的起源twofish和blowfish一样,也是一种对称加密算法。 twofish和Blowfish一样也是免费的。twofish的原理twofish是由blowfish演化来的。我们先看下twofish的工作图:?

    11010

    密码学系列之:twofish对称密钥分组算法

    简介之前的文章我们讲到blowfish算法因为每次加密的块比较小只有64bits,所以不建议使用blowfish加密超过4G的文件。同时因为加密块小还会导致生日攻击等。 所以才有了blowfish的继承者twofish。今天我们一起来揭秘一下twofish这个加密算法。twofish的起源twofish和blowfish一样,也是一种对称加密算法。 twofish和Blowfish一样也是免费的。twofish的原理twofish是由blowfish演化来的。

    10520

    如何PWN掉西门子工控设备

    其中用于测试的64位大小的密码表明利用DES或Blowfish作为加密算法。另外值得注意的是,管理员帐户有两个密码。 密码加密分析我们可以找到单词“password”的函数引用或找到任何类似加密的函数调用,重点放在blowfish或des加密上。 在“clieditpasswordset”函数中标识了blowfish函数调用,证明使用了可逆加密。 blowfish测试函数是使用特定的常数来识别的,这些常数可以在网上搜索到,这样就可以识别所使用的确切blowfish库,该库可以从github下载。? 可以通过标识传递给寄存器r1的值来跟踪用于blowfish的加密密钥。寄存器r0将包含“ctx”变量,r1将包含密钥,r2将包含密钥的长度。

    40800

    你如何在PHP中使用bcrypt来哈希密码

    PHP不提供任何这样的功能,维基百科关于文件加密实用程序的喋喋不休,Web搜索只是揭示了几种不同语言的Blowfish实现。 现在Blowfish也可以通过PHP获得mcrypt,但这对于存储密码有什么帮助?河豚是一种通用密码,它有两种工作方式。如果它可以被加密,它可以被解密。密码需要单向散列函数。什么是解释? 虽然Eksblowfish和Blowfish的加密阶段完全相同,但Eksblowfish的关键调度阶段确保任何后续状态都依赖salt和key(用户密码),并且在没有两者都知道的情况下不能预先计算状态。

    30530

    PHP crypt()函数的用法讲解

    PHP crypt() 函数定义和用法crypt() 函数返回使用 DES、Blowfish 或 MD5 算法加密的字符串。在不同的操作系统上,该函数的行为不同,某些操作系统支持一种以上的算法类型。 – Blowfish 加密有一个以 2a、2x 或 2y 开始的 salt,一个两位数的 cost 参数 “”,以及来自字母表 “.0-9A-Za-z” 中的 22 个字符。 参数是以 2 为底的基于 Blowfish 散列算法的迭代次数的对数,必须在 04-31 范围内。在该范围以外的值将引发函数失败。 – SHA-256 加密有 16 个字符的 salt,以 5 开始。

    19240

    服务器ssh链接安全漏洞修复

    查阅资料 更改配置之前,检查加密算法 #分别执行这两条命令 ssh -vv -oMACs=hmac-md5 server-ip ssh -vv -oCiphers=aes128-cbc,3des-cbc,blowfish-cbc 这样就完全修改完成了 再次重复上面的操作 #分别执行这两条命令 ssh -vv -oMACs=hmac-md5 server-ip ssh -vv -oCiphers=aes128-cbc,3des-cbc,blowfish-cbc

    79100

    Linux系列 | scp 两台主机之间加密传送文件

    $ scp -c blowfish some_file your_username@remotehost.edu:~ 上面代码指定加密算法为blowfish。 $ scp -c blowfish -C local_file your_username@remotehost.edu:~ (3)-F-F参数用来指定 ssh_config 文件,供 ssh 使用。

    19720

    PHP程序员:6年前都告诉过你md5密码不安全,直到今天你还在犯错

    首先举例说明一下 password_hash 的用法:$options = ;echo password_hash(rasmuslerdorf, PASSWORD_BCRYPT, $options).n;还有使用 BLOWFISH 算法的 crypt 密码生成:if (CRYPT_BLOWFISH == 1) { echo Blowfish: . crypt(rasmuslerdorf, $2a$07$usesomesillystringforsalt

    18010

    centos ipsec tunnel 配置

    sainfo anonymous{        pfs_group 2;        lifetime time 1 hour ;        encryption_algorithm 3des, blowfish

    75740

    PHP常见加密函数用法示例【crypt与md5】

    分享给大家供大家参考,具体如下:1.crypt()函数crypt()函数用于返回使用DES、Blowfish或MD5算法加密过后的字符串,crypt(str,salt)接受2个参数,第1个为需要加密的字符串

    25121

    VBS转化为exe可执行文件

    我来介绍两个工具吧ScriptCryptor获取地址: https:pan.baidu.coms1GlsJfJPdLuJe3Dbqf0EvpQ 提取码: 7bdb 特点:Blowfish 加密算法,不容易被第三方工具破解

    15020

    2018-10-11 对称加密、非对称加密、Hash算法看完这篇文章加解密就别蒙了散列函数加密算法

    常用算法有:MD5、SHA1 加密算法 对称加密常用算法有:DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES 非对称加密常用算法有:RSA、ECC(移动设备用)、Diffie-Hellman 常见的对称加密算法有DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES 非对称加密 指加密和解密使用不同密钥的加密算法,也称为公私钥加密。

    73630

    Linux中利用Vim对文件进行密码保护的方法详解

    *blowfish* blowfish 河豚加密方式。 中级强度加密方法但有实现上 的瑕疵。需要 Vim 7.3 及以上版本,用它加密的文件不 能被 Vim 7.2 及更老版本读取。

    10831

    swoole fatal error: opensslssl.h file not found

    21 13:30:00 2020 UTCplatform: darwin64-x86_64-ccoptions: bn(64,64) rc4(16x,int) des(int) idea(int) blowfish

    25430

    PHP的Mcrypt加密扩展知识了解

    rijndael-128 => twofish => arcfour => cast-256 => loki97 => rijndael-192 => saferplus => wake => blowfish-compat => des => rijndael-256 => serpent => xtea => blowfish => enigma => rc2 => tripledes ) $modes

    24620

    相关产品

    • 云服务器

      云服务器

      腾讯云服务器(CVM)为您提供安全可靠的弹性云计算服务。只需几分钟,您就可以在云端获取和启用云服务器,并实时扩展或缩减云计算资源。云服务器 支持按实际使用的资源计费,可以为您节约计算成本。

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭

      扫码关注云+社区

      领取腾讯云代金券