任务五:Crypto学习

本文深入探讨了AES、DES和3DES加密算法,解释了它们的加密原理,特别是重点介绍了中间相遇攻击的概念、攻击原理及其实现。此外,还通过2018年国赛Crackmec的题目,展示了如何在代码实现中运用中间相遇攻击来破解加密问题。
摘要由CSDN通过智能技术生成

任务五:Crypto学习

内容

  • 复习AES,DES,3-DES,结合3-DES学习掌握中间相遇攻击,明白攻击原理,代码实现中间相遇攻击。
  • 题目:2018 国赛 Crackmec,完成WP


复习

AES

高级加密标准,最常见的加密算法。对称加密所使用的公钥和私钥相同,所以加密和解密的过程互为逆过程。

加密原理

AES加密为分组密码,在加密前,需要将明文分为长度为16字节的组,每次加密一组数据,直到全部加密。密钥长度有三种:128位(10轮),192位(12轮),256位(14轮)。密钥长度不同,所推荐按的加密轮数也不相同。加密主要分为四步进行:
一、字节代换操作:
(1)字节代换操作:AES定义了一个S盒和一个逆S盒。这两个盒用于输出指定的元素。状态矩阵中的元素按照字节的高四位作为行值,第四位作为列值,查找到S盒中的对应元素并且输出该元素。所以字节代换操作就是一个查表的操作。
(2)字节代换逆操作:就是查找逆S盒来变换的操作。除了查找的盒与字节代换操作不同,其他具体方式不变。
二、行移位
(1)行移位操作:是一个按照一定规则的左循环移位操作。规则:状态矩阵的第0行左移0字节,第一行左移1字节,第二行左移2字节,,,以此类推。
(2)行移位的逆变换:就是把行移位操作的左移变为右移,其移动的字节数不变。
三、列混合
(1)列混合操作:通过矩阵相乘来实现。经过移位操作后的状态矩阵与固定的矩阵相乘,得到的打散的状态矩阵。
(2)列混合逆运算:乘以与上面固定的矩阵向逆的矩阵。
四、轮密钥加:将128位轮密钥和状态矩阵中的数据逐位异或,操作后的每一位都发生改变。

DES

DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法。它利用了分组密码的两个原则,即“混淆”和“扩散”。目的是抗击解密过程中的统计分析攻击。
混淆:使密文的统计特性与密钥的取值之间的关系尽可能地复杂化,使密钥已经密文之间地依赖性对密码分析犯法来说无法实现。
扩散:扩散的作用是将每一位明文的影响尽可能迅速地作用到较多的输出密文位中,以便在大量的密文中消除明文的统计结构,并且使每一位密钥的影响尽量迅速地扩展到较多的密文位中吗,以防对密钥进行逐段破译。
算法密钥:DES算法的输入密钥长度为64位,但只有其中的56位有效。将64位密钥置于8×8矩阵中,每行的第8位被忽略,被忽略的8位数字被用来奇偶效验。所以DH密钥交换需要传输的密钥长度为64位。
算法步骤
一、初始置换:功能是把输入的64位数据块按位重新组合,并把输出分为L0和R0两部分,每部分各长3位,按照置换规则置换相应的位:第58位置换第1位,第50位置换第2位,,,以此类推。L1和R1是换位输出后的两部分,L1是输出的左3位,R1是输出的右32位。置换规则如下表:
58,50,42,34,26,18,10,2,
60,52,44,36,28,20,12,4,
62,54,46,38,30,22,14,6,
64,56,48,40,32,24,16,8,
57,49,41,33,25,17,9,1,
59,51,43,35,27,19,11,3,
61,53,45,37,29,21,13,5,
63,55,47,39,31,23,15,7,
此过程需要循环十六次。
二,逆置换:经过十六次迭代运算后,得到L16和R16,并将此作为输入,进行逆置换。逆置换是初始置换的逆运算,运算后就能得到密文输出。
DES算法是对称加密算法的代表,在计算机网络系统中广泛使用。

3DES
  • 3DES是DES向AES过度的加密算法。使用三条56位的密钥对数据进行三次加密,所以3DES比起传统的DES更为安全。
  • 3DES以DES位基本模块,通过组合分组方法设计出分组加密算法。</
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值