[WUSTCTF2020]大数计算

题目

flag等于 wctf2020{Part1-Part2-Part3-Part4} 每一Part都为数的十六进制形式(不需要0x),并用 '-' 连接
Part1 = 2020*2019*2018* ... *3*2*1 的前8位
Part2 = 520^1314 + 2333^666 的前8位
Part3 = 宇宙终极问题的答案 x,y,z绝对值和的前8位
Part4 = 见图片附件,计算结果乘上1314

解题
第一部分

s=1
for i in range(1,2021):s=s*i
print(s)

得到前八位为:38609695
十六进制:24d231f

第二部分

print(pow(520,1314)+pow(2333,666))

前八位:67358675
十六进制:403cfd3

第三部分

宇宙终极问题答案
42=(-805387388120759743 + 804357581458175153 + 126021232973356313

所以,

print(80538738812075974+80435758145817515+12602123297335631)

前八位:17357662
十六进制:108db5e

第四部分

print((22*22+36)*1314)

得到:683280
十六进制:a6d10

答案
flag{24d231f-403cfd3-108db5e-a6d10}

坏蛋是雷宾

标题

老牌刺客之王混进了女王的住所。一天,女王得到了一个匿名举报,说她的侍卫里有一个刺客,叫做Rabin,而他的信息就在一份文件里,文件中有附带一个Pk,是523798549,密文是162853095,校验码二进制值是110001,根据说明是放在明文后一起加密的,明文与密文长度相同。加密算法和这位老牌刺客同名。快拯救女王,答案是求得的明文,进行32位md5小写哈希字符串,提交即可。

解题

Rabin加密(整理来源)

Rabin加密是一种基于模平方和模平方根的非对称加密算法。

1、加密过程
设私钥p q为两个素数,公钥n=p*q,对于明文m和密文c,定义一下加密过程:c=m2 mod n

2、解密过程
根据以下公式计算出mp和mq:
mp = c((1/4)(p+1)) mod p
mq = c((1/4)(q+1)) mod q
根据以下公式推导出一个可用的yp和yq:
yp * p + yq * q = 1
根据以下公式计算最终结果:
r = (yp * p * mq + yq * q * mp) mod n
-r = n - r
s = (yp * p * mq - yq * q * mp) mod n
-s = n - s

可以证明每一个密文对应四个原文,而真正的原文一般需要根据验证码来对应。

已知n和c,分解n得到p和q

import gmpy2n = 523798549
c = 162853095
p = 10663
q = 49123mp = pow(c,(p+1)//4,p)
mq = pow(c,(q+1)//4,q)
yq = gmpy2.invert(q, p)
yp = gmpy2.invert(p, q)
r = (yp * p * mq + yq * q * mp) % n
_r = n - r
s = (yp * p * mq - yq * q * mp) % n
_s = n-s
print(bin(r)[2:],bin(_r)[2:],bin(s)[2:],bin(_s)[2:])

得到

10010011100100100101010110001
1100110001100011110101100100
110111001100000100101111001
11000010100100111111010011100

校验码为:110001
所以明文为:10010011100100100101010
转十进制:4835626
MD5:ca5cec442b2734735406d78c88e90f35

答案

flag{ca5cec442b2734735406d78c88e90f35}

[HDCTF2019]together

题目

myflag1

R3Noy6r3WLItytAmb4FmHEygoilucEEZbO9ZYXx5JN03HNpBLDx7fXd2fl+UL5+11RCs/y0qlTGURWWDtG66eNLzGwNpAKiVj6I7RtUJl2Pcm3NvFeAFwI9UsVREyh7zIV6sI9ZP8l/2GVDorLAz5ULW+f0OINGhJmZm8FL/aDnlfTElhQ87LPicWpXYoMtyr6WrxjK6Ontn8BqCt0EjQ7TeXZhxIH9VTPWjDmFdmOqaqdVIT+LZemTgLNESwM5nn4g5S3aFDFwj1YiDYl0/+8etvKfOrfoKOwR0CxsRHagwdUUTES8EcHLmMGCxCkDZn3SzmmA6Nb3lgLeSgG8P1A==

myflag2

O+rRCXI3aTB6P1rYIOPUdalUp6ujpwEq4I20CoWA+HIL8xxGtqY6N5gpr0guZv9ZgOEAMFnBxOqMdVNnB9GgnhmXtt1ZWydPqIcHvlfwpd/Lyd0XSjXnjaz3P3vOQvR71cD/uXyBA0XPzmnTIMgEhuGJVFm8min0L/2qI7wg/Z7w1+4mOmi655JIXeCiG23ukDv6l9bZuqfGvWCa1KKXWDP31nLbp0ZN2obUs6jEAa1qVTaX6M4My+sks+0VvHATrAUuCrmMwVEivqIJ/nS6ymGVERN6Ohnzyr168knEBKOVj0FAOx3YLfppMM+XbOGHeqdKJRLpMvqFXDMGQInT3w==

pubkey1.pem

-----BEGIN PUBLIC KEY-----
MIIBITANBgkqhkiG9w0BAQEFAAOCAQ4AMIIBCQKCAQB1qLiqKtKVDprtS+NGGN++
q7jLqDJoXMlPRRczMBAGJIRsz5Dzwtt1ulr0s5yu8RdaufiYeU6sYIKk92b3yygL
FvaYCzjdqBF2EyTWGVE7PL5lh3rPUfxwQFqDR8EhIH5x+Ob8rjlkftIjHTBt1ThJ
JXvDBumXpQKGcBIknRaR9dwR1q8GU58/gIk5ND3eCTAadhrhLByWkHbFArxalx4Q
q8s2ZUe8lDc/N6V93EOFjbKbqqqtDmhniF6jdXQDAIwWTpx6+jmzxlCJoVHd2MBs
ZCcQhvklWtuKz4IYL4+iUpMKGHlhY1vCqFx2EzD4XIljFLP9rk7+9+CoyTuIVL/D
AgMACR0=
-----END PUBLIC KEY-----

pubkey2.pem

-----BEGIN PUBLIC KEY-----
MIIBIDANBgkqhkiG9w0BAQEFAAOCAQ0AMIIBCAKCAQB1qLiqKtKVDprtS+NGGN++
q7jLqDJoXMlPRRczMBAGJIRsz5Dzwtt1ulr0s5yu8RdaufiYeU6sYIKk92b3yygL
FvaYCzjdqBF2EyTWGVE7PL5lh3rPUfxwQFqDR8EhIH5x+Ob8rjlkftIjHTBt1ThJ
JXvDBumXpQKGcBIknRaR9dwR1q8GU58/gIk5ND3eCTAadhrhLByWkHbFArxalx4Q
q8s2ZUe8lDc/N6V93EOFjbKbqqqtDmhniF6jdXQDAIwWTpx6+jmzxlCJoVHd2MBs
ZCcQhvklWtuKz4IYL4+iUpMKGHlhY1vCqFx2EzD4XIljFLP9rk7+9+CoyTuIVL/D
AgJbJQ==
-----END PUBLIC KEY-----

解题
公钥解析
1:

e=2333
n=14853081277902411240991719582265437298941606850989432655928075747449227799832389574251190347654658701773951599098366248661597113015221566041305501996451638624389417055956926238595947885740084994809382932733556986107653499144588614105694518150594105711438983069306254763078820574239989253573144558449346681620784979079971559976102366527270867527423001083169127402157598183442923364480383742653117285643026319914244072975557200353546060352744263637867557162046429886176035616570590229646013789737629785488326501654202429466891022723268768841320111152381619260637023031430545168618446134188815113100443559425057634959299

2:

e=23333
n=14853081277902411240991719582265437298941606850989432655928075747449227799832389574251190347654658701773951599098366248661597113015221566041305501996451638624389417055956926238595947885740084994809382932733556986107653499144588614105694518150594105711438983069306254763078820574239989253573144558449346681620784979079971559976102366527270867527423001083169127402157598183442923364480383742653117285643026319914244072975557200353546060352744263637867557162046429886176035616570590229646013789737629785488326501654202429466891022723268768841320111152381619260637023031430545168618446134188815113100443559425057634959299
import gmpy2
from base64 import b64decode
from Crypto.Util.number import long_to_bytes
from Crypto.Cipher import PKCS1_OAEP
from Crypto.PublicKey import RSAc1 ='R3Noy6r3WLItytAmb4FmHEygoilucEEZbO9ZYXx5JN03HNpBLDx7fXd2fl+UL5+11RCs/y0qlTGURWWDtG66eNLzGwNpAKiVj6I7RtUJl2Pcm3NvFeAFwI9UsVREyh7zIV6sI9ZP8l/2GVDorLAz5ULW+f0OINGhJmZm8FL/aDnlfTElhQ87LPicWpXYoMtyr6WrxjK6Ontn8BqCt0EjQ7TeXZhxIH9VTPWjDmFdmOqaqdVIT+LZemTgLNESwM5nn4g5S3aFDFwj1YiDYl0/+8etvKfOrfoKOwR0CxsRHagwdUUTES8EcHLmMGCxCkDZn3SzmmA6Nb3lgLeSgG8P1A=='
c2 ='O+rRCXI3aTB6P1rYIOPUdalUp6ujpwEq4I20CoWA+HIL8xxGtqY6N5gpr0guZv9ZgOEAMFnBxOqMdVNnB9GgnhmXtt1ZWydPqIcHvlfwpd/Lyd0XSjXnjaz3P3vOQvR71cD/uXyBA0XPzmnTIMgEhuGJVFm8min0L/2qI7wg/Z7w1+4mOmi655JIXeCiG23ukDv6l9bZuqfGvWCa1KKXWDP31nLbp0ZN2obUs6jEAa1qVTaX6M4My+sks+0VvHATrAUuCrmMwVEivqIJ/nS6ymGVERN6Ohnzyr168knEBKOVj0FAOx3YLfppMM+XbOGHeqdKJRLpMvqFXDMGQInT3w=='
e1=2333
n=14853081277902411240991719582265437298941606850989432655928075747449227799832389574251190347654658701773951599098366248661597113015221566041305501996451638624389417055956926238595947885740084994809382932733556986107653499144588614105694518150594105711438983069306254763078820574239989253573144558449346681620784979079971559976102366527270867527423001083169127402157598183442923364480383742653117285643026319914244072975557200353546060352744263637867557162046429886176035616570590229646013789737629785488326501654202429466891022723268768841320111152381619260637023031430545168618446134188815113100443559425057634959299
e2=23333c1 =int.from_bytes(b64decode(c1), byteorder='big', signed=False)
c2 =int.from_bytes(b64decode(c2), byteorder='big', signed=False)
_, r, s = gmpy2.gcdext(e1, e2)m = pow(c1, r, n) * pow(c2, s, n) % n
print(long_to_bytes(m))

答案
flag{23re_SDxF_y78hu_5rFgS}

2021-07-09相关推荐

  1. 项目实训2021.07.09

    编写测试用例: 由于未和函数组完成交接,没能进行集成测试,所以只简单设计了测试用例,包括字符串输入.文件输入.小文本输入.大文本输入,并根据后续测试情况继续添加用例. 用例编号 项目名称 用例名称 测 ...

  2. 战略思维浅谈笔记 | 2021.07.09

    目录 一.战略是什么? 我们所说的很多战略,其实算不上真正的战略. 二.战略迷失 1.第一大误区:战略迷失在微观要素中 2.第二大误区:战略传说在伟大神话中 三.京东战略:欲望和逻辑 四.乔布斯:重新 ...

  3. 哔哩哔哩“2021.07.13 我们是这样崩的”报告的学习-1

    哔哩哔哩"2021.07.13 我们是这样崩的"报告的学习-1 这份报告是我学计算机两年来第一次真实看到大厂的员工到底在干什么.出现了很多专有名词,以及当前最先进的互联网企业的应用 ...

  4. 2021.07.22禾赛提前批一面面经

    2021.07.22禾赛提前批一面面经 1.LUTRAM的意思 2.LUTRAM和block RAM的区别 3.时序约束和时序优化 4.跨时钟域 5.为什么不能多bit采用同步寄存器打两拍(就这个问题 ...

  5. 【Google Play】APK 扩展包 ( 2021年09月 最新处理方案 | 文件准备 | 拷贝文件至内置存储 | 解压及使用扩展文件 )

    文章目录 前言 一.文件准备 二.拷贝文件至内置存储 三.解压及使用扩展文件 四.博客资源 前言 在上一篇博客 [Google Play]APK 扩展包 ( 2021年09月02日最新处理方案 | 内 ...

  6. 2021.07.07 宇信科技

    2021.07.07 宇信科技 宇信科技          晚上电话面 问了一堆java基础,离谱,jd上也没要求java:简历筛选扣工资! java小白,凭借c语言基础简单回答了一哈,面试官估计在电 ...

  7. 2021.08.09【普及组】模拟赛C组比赛总结

    文章目录 2021.08.09[普及组]模拟赛C组比赛总结 写在前面: T1 :[普及模拟]生产武器 题目大意: 正解: T2 :[普及模拟]城市连接 题目大意: 正解: T3 :[普及模拟]抢救文件 ...

  8. Doris Weekly FAQ】2021.07.19~2021.08.01

    观众朋友们: 晚上好! 欢迎收看[ Doris 近日要闻]~本次为您带来的是 2021年07月19日 - 2021年08月01日 的双周总结. Doris 社区周报每期会包含 FAQ 环节.我们会在社 ...

  9. 【Doris Weekly FAQ】2021.07.05~2021.07.18

    观众朋友们: 晚上好! 欢迎收看[ Doris 近日要闻]~本次为您带来的是 2021年07月15日 - 2021年07月18日 的双周总结. Doris 社区周报每期会包含 FAQ 环节.我们会在社 ...

  10. Ubuntu下载安装EDB1.3.0 2021.07

    Ubuntu16.04x64下载安装EDB1.3.0 2021.07 1.更新gcc和g++ > 7 $ sudo add-apt-repository ppa:ubuntu-toolchain ...

最新文章

  1. linux python matplotlib 使用,关于Linux:如何在Python的matplotlib中设置“后端”?
  2. linux进程--exec详解(四)
  3. 几个容易引起误会的英文短语
  4. 我的一次被骗去培训班狗血的经历
  5. Kafka解析之topic创建(3)——合法性验证
  6. 2013递归求解单链表中的结点个数(C++,附递归函数思路讲解与手绘图)
  7. DataBseDesign工作笔记002---数据库表设计
  8. linux 截取列_Linux 常用命令汇总
  9. php对html加密解密,PHP Mcrypt和HTML5加密API加密/解密
  10. 2017蓝桥杯B组:承压计算(扩大倍数)
  11. 三维空间点到直线的距离C++实现
  12. java poi 合并单元格
  13. 腾讯云带宽收费标准价格表
  14. malloc函数及用法
  15. 基于js管理大文件上传以及断点续传
  16. python数据可视化案例 淘宝粽子_Python可视化对比分析淘宝低价人群和匿名用户的淘宝连衣裙数据...
  17. UI设计VIP课程开放20个试听名额啦(先到先得)
  18. 安卓毕业设计- 基于Android的旅游计划APP
  19. 哪些实时翻译的软件好用?分享这三款好用的软件
  20. 基于句法分析的评论观点提取技术

热门文章

  1. DayDayUp:大学英语六级考试简介、应试分析、题型内容((Writing/Listening/Reading/Translation)、解答经验步骤、解题技巧之最强攻略(建议收藏)
  2. AI:2020年6月21日北京智源大会演讲分享之20:00-21:00邱锡鹏教授《如何学习深度学习》
  3. ML之xgboost:利用xgboost算法(自带,特征重要性可视化+且作为阈值训练模型)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测)
  4. Keras之ML~P:基于Keras中建立的简单的二分类问题的神经网络模型(根据200个数据样本预测新的5个样本)——概率预测
  5. 成功解决ValueError: Invalid format string
  6. ML之Anaconda:关于Anaconda集成平台简介、安装、使用方法的详细攻略
  7. 成功解决Python中出现的TypeError: object of type 'zip' has no len()
  8. Several ports (8005, 80, 8009) required by Tomcat v6.0 Server at localhost are already in use
  9. Net.Core导入EXCel文件里的数据
  10. Appium移动自动化测试(三)--安装Android模拟器(转)