BUUCTF Alice与Bob 1

news/2024/11/30 5:57:19/

题目描述:
密码学历史中,有两位知名的杰出人物,Alice和Bob。他们的爱情经过置换和轮加密也难以混淆,即使是没有身份认证也可以知根知底。就像在数学王国中的素数一样,孤傲又热情。下面是一个大整数:98554799767,请分解为两个素数,分解后,小的放前面,大的放后面,合成一个新的数字,进行md5的32位小写哈希,提交答案。

解题过程:
1、将大整数98554799767,分解为两个素数。
请执行以下python代码:

from random import randint
from math import gcddef PollardRho(n, f):x, y = randint(1, n-1), 1while True:x = f(x, n)y = f(f(y, n), n)d = gcd(abs(x-y), n)if d != 1:return delif x == y:return ndef factorize(n):if n == 1:return []elif is_prime(n):return [n]else:f = PollardRho(n, lambda x, n: (x**2 + 1) % n)return factorize(f) + factorize(n // f)def is_prime(n):if n <= 1:return Falseelif n <= 3:return Trueelif n % 2 == 0 or n % 3 == 0:return Falsei = 5while i**2 <= n:if n % i == 0 or n % (i+2) == 0:return Falsei += 6return Truen = 98554799767
print(factorize(n))

得到结果:
在这里插入图片描述
2、小的放前面,大的放后面,合成一个新的数字。

[101999, 966233]
10999966233

3、对这个新数字,进行md5的32位小写哈希加密。
在线解密网站:在线16位和32位大小写MD5加密
在这里插入图片描述
得到结果

d450209323a847c8d01c6be47c81811a

结束


http://www.ppmy.cn/news/343184.html

相关文章

【JavaWeb】IDEA专业版和社区版创建Servlet项目

文章目录 1. 什么是Servlet2. 创建项目3. 引入依赖3.1 在pom.xml中引入依赖3.2 下载jar包引入依赖 4. 创建目录5. 编写代码验证6.总结 1. 什么是Servlet Servlet 是一种实现动态页面的技术. 是一组 Tomcat 提供给程序猿的 API, 帮助程序猿简单高效的开发一个 web app.&#xf…

盛元广通生物化学重点实验室化学品信息化安全管理系统

生物化学重点实验室是国家基础研究和高技术研究的重要基地&#xff0c;是培养和造就高层次创新型人才的重要基地。为保障实验室化学品安全使用&#xff0c;实验人员可通过现场或移动端管理系统实现化学品安全使用与存储。盛元广通生物化学重点实验室化学品信息化安全管理系统具…

洗地机和吸尘器哪个实用,洗地机优点和缺点

很多人都有一个疑问&#xff0c;洗地机跟吸尘器到底有什么区别&#xff0c;其实十分容易理解&#xff0c;吸尘器只能处理干垃圾&#xff0c;对于液态垃圾、固态垃圾都难以清洁&#xff0c;所以在日常适用当中&#xff0c;吸尘器可以支持使用场景有限&#xff0c;洗地机能够清除…

家用洗地机哪种好用?洗地机分享

洗地机边吸尘边拖洗&#xff0c;干湿垃圾一步搞定&#xff0c;一定程度上满足了很多家庭的日常清洁需求。作为重新定义家庭清洁生活的便利产品&#xff0c;不仅大大减轻了日常清洁的工作量&#xff0c;深受年轻消费群体喜爱&#xff0c;被不少消费者列入购物清单。大家在购买洗…

华为OD机试真题 JavaScript 实现【记票统计】【牛客练习题】

一、题目描述 请实现一个计票统计系统。你会收到很多投票&#xff0c;其中有合法的也有不合法的&#xff0c;请统计每个候选人得票的数量以及不合法的票数。 &#xff08;注&#xff1a;不合法的投票指的是投票的名字不存在n个候选人的名字中&#xff01;&#xff01;&#x…

删除链表的倒数第N个节点

目录 题目描述 运行代码 执行示例 最终提交 题目描述 运行代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* Li…

实现无间断的自动化:Jenkins与GitLab的定时任务工作流程

简介&#xff1a; Jenkins是一个流行的开源自动化服务器&#xff0c;而GitLab是一个强大的代码托管和协作平台。通过结合Jenkins和GitLab&#xff0c;我们可以建立一个强大的定时任务自动化工作流程&#xff0c;实现代码拉取、构建、测试和部署的自动化。本篇博客将介绍如何使…

骨传导蓝牙耳机排行榜10强,介绍几款不错的户外骨传导耳机

随着骨传导技术的不断发展&#xff0c;骨传导耳机的性能也得到了很大的提升&#xff0c;特别是在音质和佩戴舒适性上&#xff0c;都有了很大的提升。很多人在听音乐的时候&#xff0c;都会佩戴骨传导耳机&#xff0c;因为骨传导耳机具有开放双耳的特点&#xff0c;长时间佩戴也…