【Sword系列】第七届全国残疾人职业技能大赛样题-网络安全-AES加密

举报
剑豪 发表于 2023/06/16 20:42:39 2023/06/16
【摘要】 AES的全称是Advanced Encryption Standard,意思是高级加密标准。它的出现主要是为了取代DES加密算法的,因为我们都知道DES算法的密钥长度是56Bit,因此算法的理论安全强度是2的56次方。

前言

AES的全称是Advanced Encryption Standard,意思是高级加密标准。它的出现主要是为了取代DES加密算法的,因为我们都知道DES算法的密钥长度是56Bit,因此算法的理论安全强度是2的56次方。但二十世纪中后期正是计算机飞速发展的阶段,元器件制造工艺的进步使得计算机的处理能力越来越强,虽然出现了3DES的加密方法,但由于它的加密时间是DES算法的3倍多,64Bit的分组大小相对较小,所以还是不能满足人们对安全性的要求。于是1997年1月2号,美国国家标准技术研究所宣布希望征集高级加密标准,用以取代DES。AES也得到了全世界很多密码工作者的响应,先后有很多人提交了自己设计的算法。最终有5个候选算法进入最后一轮:Rijndael,Serpent,Twofish,RC6和MARS。最终经过安全性分析、软硬件性能评估等严格的步骤,Rijndael算法获胜。

AES算法主要分为四个步骤:密钥扩展、初始轮、重复轮和最终轮。密钥扩展将一次性密钥扩展成多个轮密钥,重复轮将轮密钥用于执行加密或解密操作,最终轮是一个特殊的加密轮,用于处理最后一个分组的加密或解密操作。

AES算法应用广泛,特别是在安全领域。例如,AES加密可以用于保护数据传输和存储过程中的机密信息,如支付信息、个人身份信息、密码等。同时,由于AES算法具有高强度、高效率、可靠性等优点,因此还适用于网络安全、金融、电子商务等领域。

一、AES加密

1.打开题目

在这里插入图片描述

2.解题

下载后发现是.xz结尾

xz -d 1.py.xz

在这里插入图片描述

#!/usr/bin/env python3
import base64
from Crypto.Cipher import AES  # pip3 install pycrypto
​
def main(data):
    c = AES.new(b'Hello, World...!')
    plain_text = bytes.fromhex(input('What is your plain text? '))
    if c.encrypt(plain_text) != b'Good Plain Text!':
        print('Bad plain text')
        exit()
​
    c2 = AES.new(plain_text[::-1], mode=AES.MODE_CBC, IV=b'1234567887654321')
​
    decrypted = c2.decrypt(data)
​
    with open('output.jpg', 'wb') as fout:
        fout.write(decrypted)
​
main(base64.b64decode('.......'))

1.第一轮密钥为b'Hello, World...!'

2.第一轮密文为b'Good Plain Text!'

3.解密即可得到plain_text

4.第二轮密钥为plain_text

5.直接解密输出图片即可

代码如下:

import base64
from Crypto.Cipher import AES
c = AES.new(b'Hello, World...!', AES.MODE_ECB)
plain_text = c.decrypt(b'Good Plain Text!')
c2 = AES.new(plain_text[::-1], mode=AES.MODE_CBC, IV=b'1234567887654321')
data = base64.b64decode(r'.......')
decrypted = c2.decrypt(data)
with open('output.jpg', 'wb') as fout:
    fout.write(decrypted)

在这里插入图片描述 得到flag:I can encrypt aes

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。