Problem: [tangcuxiaojkuai]easy_MTP1
[[toc]]
思路
本题对消息 进行 2024 次 OTP 加密,这 2024 个密钥由同一 mask 序列进行随机位数的循环移位得到。
对于其中两个密钥 ,可以通过对 循环移位 位得到 ,因此有
由加密过程
可得
根据以上两个 的关系式,假设我们还知道:
- 和 之间的偏移值()
- 的某位(如第 位)
便可通过如下流程恢复出完整密钥(位数为 下):
- 由式(2),恢复 的第 位
- 由式(1),恢复 的第 位
- 由式(2),恢复 的第 位
- 由式(1),恢复 的第 位
- 由式(2),恢复 的第 位
- 由式(1),恢复 的第 位
……
要使得长度为 的密钥的每一位都被遍历到,需要满足互质条件:。当我们不知道具体的 值时互质条件不能保证,不过题目给了足够多的密文,随机选取其中的两个,总能取到满足该互质条件的一对。
因此,穷举假设中我们未知的两个条件的所有可能值,尝试进行以上恢复,检查输出即可。
EXP
- None
总结
- None
