攻防世界GFSJ1202 了不起的盖茨比

AES加密解密及MTP攻击原理分析

题目编号:GFSJ1202

附件下载后是一个python文件:

1. 分析代码,已添加详细注释

from Crypto.Cipher import AES                        # 导入AES对称加密算法模块
from Crypto.Util.strxor import strxor as xor         # 导入按位异或函数,并重命名为xor
from Crypto.Util.Padding import pad                  # 导入填充函数,用于将数据填充到指定块大小
from random import *                                 # 导入随机数生成模块的所有函数
from base64 import *                                 # 导入Base64编码解码模块的所有函数
from copy import copy                                # 导入copy模块,用于复制对象
from secret import data                              # 从名为secret的模块中导入变量data(明文数据)

# 生成一个随机的16字节初始向量(IV)
iv = bytes([randint(0, 2**8 - 1) for i in range(16)]) 
iva = copy(iv)  # 复制一份IV,可能在后续中备用

# 生成一个随机的16字节AES密钥
key = bytes([randint(0, 2**8 - 1) for i in range(16)])

# 使用生成的密钥创建一个AES ECB模式的密码对象
cipher = AES.new(key, mode=AES.MODE_ECB)

# 对明文数据进行填充,使其长度为16的倍数(AES的块大小)
data = pad(data, 16)

c = b""  # 初始化密文为一个空的字节串

# 对明文数据进行分块处理,每次处理16字节(一个块)
for i in range(0, len(data), 16):
    # 取出当前的16字节块,如果不足16字节,用换行符补齐(虽然已经填充过了,这里是双重确保)
    s = data[i:i+16].ljust(16, b"\n")
    
    # 将当前的明文块s与IV进行按位异或,结果作为AES加密的输入
    # 这一步引入了前一个块的加密结果,形成某种类似于反馈的模式
    c += cipher.encrypt(xor(s, iv))
    
    # 更新IV为当前的明文块s与刚刚生成的密文块c[-16:](最新的16字节密文)之间的异或结果
    # 这样下一个块的加密会受到当前块的影响,增加了密文的复杂性
    iv = xor(s, c[-16:])

# 将密钥进行Base64编码,便于以文本形式输出或存储
key = b64encode(key)

# 将密文进行Base64编码,同样是为了便于输出或存储
c = b64encode(c)

# 输出Base64编码后的密钥和密文
print(key)
print(c)

'''
key_b64 = b'+0zkhmid1PFjVdxSP09zSw=='
c_b64=b'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
【数据驱动】【航空航天结构的高效损伤检测技术】一种数据驱动的结构健康监测(SHM)方法,用于进行原位评估结构健康状态,即损伤位置和程度,在其中利用了选定位置的引导式兰姆波响应(Matlab代码实现)内容概要:本文介绍了一种基于数据驱动的结构健康监测(SHM)方法,利用选定位置的引导式兰姆波响应对航空航天等领域的结构进行原位损伤检测,实现对损伤位置与程度的精确评估,相关方法通过Matlab代码实现,具有较强的工程应用价值。文中还提到了该技术在无人机、水下机器人、太阳能系统、四轴飞行器等多个工程领域的交叉应用,展示了其在复杂系统状态监测与故障诊断中的广泛适用性。此外,文档列举了大量基于Matlab/Simulink的科研仿真资源,涵盖信号处理、路径规划、机器学习、电力系统优化等多个方向,构成一个综合性科研技术支持体系。; 适合人群:具备一定Matlab编程基础,从事航空航天、结构工程、智能制造、自动化等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于航空航天结构、无人机机体等关键部件的实时健康监测与早期损伤识别;②结合兰姆波信号分析与数据驱动模型,提升复杂工程系统的故障诊断精度与可靠性;③为科研项目提供Matlab仿真支持,加速算法验证与系统开发。; 阅读建议:建议读者结合文档提供的Matlab代码实例,深入理解兰姆波信号处理与损伤识别算法的实现流程,同时可参考文中列出的多种技术案例进行横向拓展学习,强化综合科研能力。
【无人机论文复现】空地多无人平台协同路径规划技术研究(Matlab代码实现)内容概要:本文围绕“空地多无人平台协同路径规划技术”的研究展开,重点在于通过Matlab代码实现对该技术的论文复现。文中详细探讨了多无人平台(如无人机与地面车辆)在复杂环境下的协同路径规划问题,涉及三维空间路径规划、动态避障、任务分配与协同控制等关键技术,结合智能优化算法(如改进粒子群算法、遗传算法、RRT等)进行路径求解与优化,旨在提升多平台系统的协作效率与任务执行能力。同时,文档列举了大量相关研究主题,涵盖无人机控制、路径规划、多智能体协同、信号处理、电力系统等多个交叉领域,展示了该方向的技术广度与深度。; 适合人群:具备一定Matlab编程基础和路径规划背景的研究生、科研人员及从事无人机、智能交通、自动化等相关领域的工程技术人员。; 使用场景及目标:①用于学术论文复现,帮助理解空地协同路径规划的核心算法与实现细节;②支撑科研项目开发,提供多平台协同控制与路径优化的技术参考;③作为教学案例,辅助讲授智能优化算法在无人系统中的实际应用。; 阅读建议:建议结合提供的Matlab代码进行实践操作,重点关注算法实现流程与参数设置,同时可参照文中列出的其他相关研究方向拓展技术视野,建议按目录顺序系统学习,并充分利用网盘资源进行仿真验证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

铭记北宸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值