BUUCTF_Crypto_异性相吸(yxxx)

该博客分享了一道BUUCTF比赛中的Crypto题目,涉及到将字符串转化为二进制并进行加法运算的解密过程。博主使用010 Editor查看key.txt和密文.txt文件的内容,并用Python实现了解密算法,最终得到flag。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:给了两个文件一个是key.txt,一个是密文.txt

这种类型的题的原理就是将所有的字符串变成二进制数,一个字符串对应8位二进制数。

再进行加法运算:1+1=0,1+0=0,0+1=0,(每个1,0相加)

key.txt:

通过010 editor打开:

密文.txt:

 

通过010 editor打开:

        

再代入到python里面:

代码:

import libnum
a = '01100001011100110110000101100100011100110110000101110011011001000110000101110011011001000110000101110011011001000110000101110011
### BUUCTF 密码学挑战及相关资源 BUUCTF 是一个提供多种信息安全领域挑战的平台,其中密码学部分涵盖了广泛的题目类型和技术难度。通过参与这些活动可以提升个人在加密算法分析、密钥管理以及破解技术方面的能力[^1]。 对于初学者来说,在 BUUCTF 上可以从基础级别的 Caesar Cipher 或 Vigenère cipher 开始尝试解决简单的问题。随着经验积累,参与者能够逐步接触更复杂的现代加密标准如 AES (Advanced Encryption Standard),RSA 等公私钥体系下的应用实例。 除了在线解题外,社区还提供了丰富的学习资料来帮助用户理解背后的工作原理: - **官方文档与教程**:包含详细的理论介绍和实践指南。 - **论坛交流区**:与其他爱好者分享心得并寻求建议的地方。 - **外部链接集合**:指向其他优质教育资源网站或书籍推荐列表。 ```python import requests def fetch_buu_ctf_challenges(): url = "https://buuoj.cn/api/challenges" response = requests.get(url) if response.status_code == 200: data = response.json() crypto_challenges = [ challenge for challenge in data['data'] if 'crypto' in challenge['category'].lower() ] return crypto_challenges raise Exception(f"Failed to retrieve challenges, status code {response.status_code}") challenges = fetch_buu_ctf_challenges() for index, item in enumerate(challenges[:5], start=1): print(f"{index}. Title: {item['name']}, Category: {item['category']}") ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值