2024年第四届“网鼎杯”网络安全比赛---朱雀组Crypto- WriteUp

2024年第四届“网鼎杯”网络安全比赛---朱雀组Crypto-WriteUp

    • Crypto:
        • Crypto-2:
        • Crypto-3:

前言:本次比赛已经结束,用于赛后复现,欢迎大家交流学习!

Crypto:

Crypto-2:

给出了p的高256位,爆破8位即可用copersmith

from Crypto.Util.number import *from tqdm import trangeimport gmpy2n = 0x00b8cb1cca99b6ac41876c18845732a5cbfc875df346ee9002ce608508b5fcf6b60a5ac7722a2d64ef74e1443a338e70a73e63a303f3ac9adf198595699f6e9f30c009d219c7d98c4ec84203610834029c79567efc08f66b4bc3f564bfb571546a06b7e48fb35bb9ccea9a2cd44349f829242078dfa64d525927bfd55d099c024fp_high = 0xe700568ff506bd5892af92592125e06cbe9bd45dfeafe931a333c13463023d4fpbits = 512e = 0x10001c = bytes_to_long(open('flag.enc','rb').read())for i in trange(2**8):p4 = p_high<<8			#这里需要先爆破8位,使得知道264位以后再恢复pp4 = p4 + ikbits = pbits - p4.nbits()p4 = p4 << kbitsR.<x> = PolynomialRing(Zmod(n))f = x + p4x = f.small_roots(X=2^kbits, beta=0.4, epsilon=0.01)if x:p = p4 + int(x[0])q = n // pd = gmpy2.invert(e,(p-1)*(q-1))m = pow(c,d,n)print(long_to_bytes(int(m)))break

在这里插入图片描述

Crypto-3:

在这里插入图片描述

from Crypto.Util.number import *import gmpy2import sysdef HGCD(a, b):if 2 * b.degree() <= a.degree() or a.degree() == 1:return 1, 0, 0, 1m = a.degree() // 2a_top, a_bot = a.quo_rem(x^m)b_top, b_bot = b.quo_rem(x^m)R00, R01, R10, R11 = HGCD(a_top, b_top)c = R00 * a + R01 * bd = R10 * a + R11 * bq, e = c.quo_rem(d)d_top, d_bot = d.quo_rem(x^(m // 2))e_top, e_bot = e.quo_rem(x^(m // 2))S00, S01, S10, S11 = HGCD(d_top, e_top)RET00 = S01 * R00 + (S00 - q * S01) * R10RET01 = S01 * R01 + (S00 - q * S01) * R11RET10 = S11 * R00 + (S10 - q * S11) * R10RET11 = S11 * R01 + (S10 - q * S11) * R11return RET00, RET01, RET10, RET11def GCD(a, b):print(a.degree(), b.degree())q, r = a.quo_rem(b)if r == 0:return bR00, R01, R10, R11 = HGCD(a, b)c = R00 * a + R01 * bd = R10 * a + R11 * bif d == 0:return c.monic()q, r = c.quo_rem(d)if r == 0:return dreturn GCD(d, r)sys.setrecursionlimit(500000)n1 = 46994335119752756509295563273644018207372437765472265663641969615870434649870172687711336119178476731707184071004952832066023502817858922050333696147278803794579361275375126259907918549399847213059844795524428354261714653121692582331027749211493858306453667935016549085360033613631067207061043880115121598962110616155562901846204247465460970460199073739292905462216078043392395114502994197819280075092818942982603177739751892161678322940701448492756420067768637842557026865307595566180909536549522253144031734977212534244571704403691638817139603787139183257554425149405808562098424603264387155486261738291201472340352391n2 = 16976940907141191524915804499951951599097024510818489668879976514721679457799770728089555354636545350649925890442528319161801605921579588526654791259724057279137519961488033020252287291656224996559845743701416369311612554321667335443418374008955791237572115480942740883337659354946753897515362968288787775973679663087549902052834470568223797434895230309683907862913802778136943295386037545850573702404179634561691835378455616724949344536695840131493043451083253876120316451193093943057146831832699116608334542232364997054535258690377988973313999659509515527448391939826560776605356310573531843676266398565276101510029n22 = 36411530853306134650264922004243230789578567724848633072235567209396268937793967740840652891507150988934473209257678404824253786278354088188390849648230052408289839466487412221995353670688546953660918964880243399052047334774328642066482644759267410757068380646549682108897462561270352289713894825761682839541110704279580406677692145731871923819604104525631319112589270885702852325198972148331330622015745319864858600319231335192994724027402115404237271512429501511126745777802735039211692592419147477615289600437180622597687832926895508311856277663498164572827860273972198929500903338268219335130382722268336214976042n3 = 21226342903519534285704039882517125493795254854398682031383220268196433752075453643793049930458409496501461364842263780716599044573472994756306842377996628221505793163345085310959982378400333469066510661862233433012101801971093682929377066833668523917150410559059871941217104903416187874137499834716703973567800989192226779852732764629767211879833127201510149229683409885749849769992849238187983773625783302822977444881786880085459631032114161881530793073480211272526557216580382426240205299262699361842634152273785508127206291906598310431383694685205902446688152373743788426712423020706959735024415865092732865293579n = 19200751218807086109753585680575754542082218941447307423137776192000278638223531900870979886440646382572944765791998502777800968087411516141316151136038574929174075944033279652394413631362165307728020601616420974300745352308691582297884104984804426129732048593928551212972068865439525515893127416831193018078920195294960658070386235303119382941397098688638535311813138494565312063872100234086554220918850216072480857287537545501163451784114917247368012496289240698205942331461841811192853876743048133216069555958862196216052716205918188818909294300568480346854813619378406414745549741993309728072933212639965842420209c1 = 12141687753092765754669783940675830448713581449163645536701718573773069294641533345315774400524395912993282498354768039945837224261487080475299072168517385713156203158247568336654731834308671872786353160933613619005116377874975161570966140277643874697751373054295698713456796119408728017676683503913534440646385085389636575390015489314292617682540872972440031779129422252433290117697330366830572038270337066299696360385868714809628744897197112890179467453713145233723691881680439517219988389546696789593902726903494192576858861380642835270848700081419409960522215088312481748912596701475019010221975400877543191195027c2 = 18671344975076988512476107719711622987157049217462407071825706570480527181436147001821738820485566989301383448587621862627034353591129052899016475842991199430712285197912470481262314752372552644754537903335502976906151622416039395240789105429194458158873730659899128044024578932624430327308839049226169398974549593196858893169326628555925601866140682257990896398722170890530721702632112280595631922141382527353635243846673957989765181865712175794172200610424145223744315723737355016529480510122584370575790398823526020995975020616450936696444211881773753140054718402336533120422812171276792369946574521223325184154908e = 2999# factor n1t1 = gmpy2.iroot(n1 // 2024,2)[0]for i in range(-100000,100000):p1 = t1 + iif n1 % p1 == 0:q1 = n1 // p1breakif p1 > q1:p1,q1 = q1,p1# factor n2p_add_q = gmpy2.iroot(n22 + 2*n2,2)[0]p_sub_q = gmpy2.iroot(n22 - 2*n2,2)[0]p2 = (p_add_q + p_sub_q) // 2q2 = n2 // p2if p2 > q2:p2,q2 = q2,p2# factor n3t3 = 2*gmpy2.iroot(n3,2)[0] + 2p_add_q = t3p_sub_q = gmpy2.iroot((p_add_q)**2 - 4*n3,2)[0]p3 = (p_add_q + p_sub_q) // 2q3 = (p_add_q - p_sub_q) // 2if p3 > q3:p3,q3 = q3,p3p1,q1 = int(p1),int(q1)p2,q2 = int(p2),int(q2)p3,q3 = int(p3),int(q3)###### Franklin-ReiterR.<x> = PolynomialRing(Zmod(n))f = (p1 * x * x + p2 * x + p3)^e - c1g = (q1 * x * x + q2 * x + q3)^e - c2res = GCD(f,g)m = -res.monic().coefficients()[0]print(m)flag = long_to_bytes(int(m))print(flag)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/468766.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【代码随想录day22】【C++复健】77. 组合;216.组合总和III; 17.电话号码的字母组合

77. 组合 这题做完之后还是有一种稀里糊涂的感觉。思考了半天什么范围合理&#xff0c;并且怎么设置才能让这个范围合理&#xff0c;然而一看答案&#xff0c;发现答案完全没考虑这些因素&#xff0c;直接暴力全遍历了。只能说确实这样能够放弃思考&#xff0c;比较省心一些.…

solidworks默认模板无效/打开step文件为空白 不显示模型

①打开step文件时如下提示&#xff1a; 是由于sw模版没有设置好 解决方法&#xff1a; 把零件和装配体模版选一下&#xff0c;gb_part和gb_assembly 再打开文件就不会有提示了。 ②打开step文件为空白 不显示模型 文件未损坏且sw版本正确情况下&#xff0c; 首先尝试按F&…

easyexcel实现自定义的策略类, 最后追加错误提示列, 自适应列宽,自动合并重复单元格, 美化表头

easyexcel实现自定义的策略类, 最后追加错误提示列, 自适应列宽,自动合并重复单元格, 美化表头 原版表头和表体字体美化自动拼接错误提示列自适应宽度自动合并单元格使用Easyexcel使用poi导出 在后台管理开发的工作中,离不开的就是导出excel了. 如果是简单的导出, 直接easyexce…

微深节能 煤码头自动化翻堆及取料集控系统 格雷母线

一、系统概述 微深节能在煤码头自动化翻堆及取料集控系统中引入了格雷母线高精度位移测量系统&#xff0c;该系统是一项重要的技术创新&#xff0c;显著提升了煤码头作业的自动化水平和精确性。它主要用于实现对斗轮堆取料机等大型机械设备的精准定位和自动化控制&#xff0c;从…

LeetCode 热题100 之 栈

1.有效的括号 思路分析&#xff1a;我们可以使用栈&#xff08;stack&#xff09;来解决这个问题。栈是一种先进后出的数据结构&#xff0c;这与括号匹配的需求非常契合。 unordered_map<char, char> bracket_map&#xff1a;这个哈希表用来存储右括号与左括号的对应关系…

yolov11-seg数据集制作训练推理流程:

文章目录 前言一、数据集制作二、模型训练推理&#xff1a; 前言 随着深度学习技术的不断发展&#xff0c;目标检测与分割技术在计算机视觉领域扮演着越来越重要的角色。YOLO&#xff08;You Only Look Once&#xff09;作为一种高效、实时的目标检测算法&#xff0c;自提出以…

基于Spring Boot的乡政府管理系统设计与实现,LW+源码+讲解

摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装乡政府管理系统软件来发挥其高效地信息处理的作用&#xf…

python的学习

0.tips 1.变量命名规则 2.变量的赋值 3.变量的类型 int&#xff0c;float&#xff0c;str&#xff08;双引号、单引号、三引号包含都可以&#xff09; 类型带来的意义 动态类型的基本特性 4.注释 5.控制台 格式化字符串f-string 输入/输出input 6.运算符 算术运算符 //&…

信息安全工程师(79)网络安全测评概况

一、定义与目的 网络安全测评是指参照一定的标准规范要求&#xff0c;通过一系列的技术、管理方法&#xff0c;获取评估对象的网络安全状况信息&#xff0c;并对其给出相应的网络安全情况综合判定。其对象主要为信息系统的组成要素或信息系统自身。网络安全测评的目的是为了提高…

【GoWeb示例】通过示例学习 Go 的 Web 编程

文章目录 你好世界HTTP 服务器路由&#xff08;使用 gorilla/mux&#xff09;连接到 MySQL 数据库MySQL 数据库简单操作模板静态资源和文件操作表单处理中间件&#xff08;基础&#xff09;中间件&#xff08;高级&#xff09;会话JSONWebsockets密码哈希 你好世界 Go语言创建…

UnixBench和Geekbench进行服务器跑分

1 概述 服务器的基准测试&#xff0c;常见的测试工具有UnixBench、Geekbench、sysbench等。本文主要介绍UnixBench和Geekbench。 1.1 UnixBench UnixBench是一款开源的测试UNIX系统基本性能的工具&#xff08;https://github.com/kdlucas/byte-unixbench&#xff09;&#x…

打造个性化时钟应用:结合视觉与听觉的创新实践

​ 在数字时代&#xff0c;虽然手机、电脑等设备已经能够非常方便地显示时间&#xff0c;但一款融合了视觉艺术和声音效果的桌面时钟仍能给我们的日常生活带来不一样的体验。本文将引导读者通过Python语言及其强大的库支持来创建一个具有整点及半点报时功能的美观时钟界面。该项…

ASMR助眠声音视频素材去哪找 吃播助眠素材网站分享

在快节奏的现代生活中&#xff0c;越来越多的人感到压力山大&#xff0c;许多人开始寻求助眠和放松的方式。而ASMR&#xff08;自发性知觉经络反应&#xff09;助眠声音视频&#xff0c;凭借其独特的声音刺激和放松效果&#xff0c;成为了睡前的“神器”。如果你是一位内容创作…

Ente: 我们的 Monorepo 经验

原文&#xff1a;manav - 2024.10.29 九个月前&#xff0c;我们切换到了 monorepo。在此&#xff0c;我将介绍我们迄今为止的切换经验。 这并不是一份规范性的建议&#xff0c;而是一个经验的分享&#xff0c;目的是希望能够帮助其他团队做出明智的决策。 与大多数岔路不同&…

css:还是语法

emmet的使用 emmet是一个插件&#xff0c;Emmet 是 Zen Coding 的升级版&#xff0c;由 Zen Coding 的原作者进行开发&#xff0c;可以快速的编写 HTML、CSS 以及实现其他的功能。很多文本编辑器都支持&#xff0c;我们只是学会使用它&#xff1a; 生成html结构 <!-- emme…

常见计算机网络知识整理(未完,整理中。。。)

TCP和UDP区别 TCP是面向连接的协议&#xff0c;发送数据前要先建立连接&#xff1b;UDP是无连接的协议&#xff0c;发送数据前不需要建立连接&#xff0c;是没有可靠性&#xff1b; TCP只支持点对点通信&#xff0c;UDP支持一对一、一对多、多对一、多对多&#xff1b; TCP是…

javascript实现国密sm4算法(支持微信小程序)

概述&#xff1a; 本人前端需要实现sm4计算的功能&#xff0c;最好是能做到分多次计算。 本文所写的代码在现有sm4的C代码&#xff0c;反复测试对比计算过程参数&#xff0c;成功改造成sm4的javascript代码&#xff0c;并成功验证好分多次计算sm4数据 测试平台&#xff1a; …

深度解读AI在数字档案馆中的创新应用:高效识别与智能档案管理

一、项目背景介绍 在信息化浪潮推动下&#xff0c;基于OCR技术的纸质档案电子化方案成为解决档案管理难题的有效途径。该方案通过先进的OCR技术&#xff0c;能够统一采集各类档案数据&#xff0c;无论是手写文件、打印文件、复古文档还是照片或扫描的历史资料&#xff0c;都能实…

C++ | Leetcode C++题解之第554题砖墙

题目&#xff1a; 题解&#xff1a; class Solution { public:int leastBricks(vector<vector<int>>& wall) {unordered_map<int, int> cnt;for (auto& widths : wall) {int n widths.size();int sum 0;for (int i 0; i < n - 1; i) {sum wi…

【机器学习】强化学习(1)——强化学习原理浅析(区分强化学习、监督学习和启发式算法)

文章目录 强化学习介绍强化学习和监督学习比较监督学习强化学习 强化学习的数学和过程表达动作空间序列决策策略&#xff08;policy&#xff09;价值函数&#xff08;value function&#xff09;模型&#xff08;model&#xff09; 强化学习和启发式算法比较强化学习步骤代码走…