2024网络与信息安全管理员职工职业技能竞赛crypto解密脚本

一、赛项描述
全国职工职业技能大赛网络与信息安全管理员赛项参赛对象为从事
网络安全工作的职工。鉴于参赛选手日常工作的主要职责是保障信息系
统安全稳定运行,大赛将从政策法规标准和网络安全风险评估、安全应
急响应技术、数据安全、人工智能、国产信创等全方位考核从业职工的
网络安全综合能力。
二、竞赛形式
本赛项为个人赛,赛事共计三场,采用线下集中模式进行。
第一场比赛时间为第一天上午8:30-12:30,总分1000分,占总成绩
40%,包括理论考核(30%)和实操闯关赛(70%),试题根据选手ID
从系统题库中随机生成。理论考点主要包括网络安全和数据安全的政策
法规标准以及技术知识点;实操闯关赛知识点主要包括Web安全、数据
加解密、数据脱敏、数据算法、应急响应、物联网安全、逆向分析、
PWN、人工智能安全、量子密码、区块链等。
第二场比赛时间为第一天下午2:00-6:00,共计4小时,总分1000
分,占总成绩40%,模式为数字攻防综合挑战赛,虚拟仿真企事业单位
真实网络环境和业务场景,模拟网络安全和数据安全攻击事件,分别从
黑客攻击视角和安全防护视角进行综合攻击与研判分析。涉及的知识点
有:网络攻防、数据安全、应急响应、物联网安全、逆向分析、恶意代
码、数据恢复取证、人工智能安全等。
第三场比赛时间为第二天的8:30-12:30,共计4小时,比赛提供全国
产化环境,参赛选手对给出的产品或场景进行漏洞挖掘,专家裁判根据
选手实际挖出的漏洞评分,最终根据每个选手挖出的漏洞总分进行排
名。第三场竞赛以最高分为满分基准1000,该场成绩占总成绩的20%。
涉及的知识点有:应用安全、操作系统安全、数据库安全、密码应用、
— 1 —
中间件安全、逆向、PWN、人工智能安全、量子密码等。
三、竞赛规则
竞赛具体规则如下:
■第一场:
采用竞赛系统在线答题,理论考核题型包括单选题、多选题、判断
题,参赛选手需根据题目描述,选择合适选项进行作答,选手需逐题点
击提交,提交之后无法修改答案;实操闯关赛设置多道关卡,每道关卡
预设指定答案标识,通过各种技术手段分析获取答案,将答案提交至平
台输入框即可,答对加分,答错不扣分,系统实时统计分数并进行成绩
展示。
■第二场:
采用竞赛系统在线答题,竞赛平台将展示各参赛选手的IP地址段,
考生需自己识别考题的网络拓扑结构,以便根据实际的场景进行题目作
答,选手根据竞赛平台提供的题干描述以及提示进行答题,通过各种技
术手段分析获取答案,将答案提交至平台输入框即可,每道题限制为五
次答题机会,系统实时统计分数并进行成绩展示。
■第三场:
第三场采用竞赛系统在线答题,参赛选手实时提交漏洞类型和漏洞
利用报告,裁判进行现场审核确认答题有效,必要时要求选手现场还原
测试方法。专家组对漏洞进行定级并确定相应分值后,由系统进行计分
并展示。
最终排名根据三场比赛总分进行排名,如果总分相同情况下,分别
依次参照第二场、第一场、第三场的成绩进行排名。
四、竞赛样题
————————————————

题目1:

from secret import flag
from Crypto.Util.number import *
import sympy
 
flag = bytes_to_long(flag)
 
flag = flag ^ flag<<32 & 83746827
 
p = getPrime(1024)
q = sympy.nextprime(p ^ ((1<<1024)-1))
n = p*q
e = 65537
 
print("n:{}".format(n))
print("c:{}".format(pow(flag, e, n)))
 
 
# n:5301397598972247313288332496850350716475485201818176955980458785089381574707191944210831459471919268438547016348517878358341850949122832113070247666993006831115364157417862077449453871831496138911957539167293062864005991063696506379253018606534889826983926875281844458278449190215690887758990065486680816431850022695167802229820332079535914813299959461500637336404925209325721343283089517761175011779007681851011863336544965183375219315895402677151071508014559155505903769839446062037040053310622160951350294055710901827003095846137713980848067052032823563903878691757143326022681734259282855347145001850989000828133
# c:1079288169014101061321928206355744925300551220969419075641876262832726487371819994124377608732112547670099114798464745107564003379099865464351619430318916570130366696160364613680416188212506373427854192842804149927749326167345000668560759743411422188762280329222458147559243918808548354718982167094307668515490808028452844301339928770240602408940910104884669929203404701141421299411411547161351395152357207772777307588700851461027931764790951229634521962317240153809080025163705506953575215528712852173457740427501614871042355672720961319392637949157078224852976478262095339770667897824328595526557318622869976192919
培训、环境、资料、考证
公众号:Geek极安云科
网络安全群:624032112
网络系统管理群:223627079 
网络建设与运维群:870959784 

极安云科专注于技能提升,赋能
2024年广东省高校的技能提升,受赋能的客户院校均获奖!
2024年江苏省赛一二等奖前13名中,我们赋能客户占五支队伍!
2024年湖南省赛赋能三所院校均获奖!
2024年山东省赛赋能两所院校均获奖!
2024年湖北省赛赋能参赛院校九支队伍,共计斩获一等奖2项、三等奖7项!

解密脚本1:

n=5301397598972247313288332496850350716475485201818176955980458785089381574707191944210831459471919268438547016348517878358341850949122832113070247666993006831115364157417862077449453871831496138911957539167293062864005991063696506379253018606534889826983926875281844458278449190215690887758990065486680816431850022695167802229820332079535914813299959461500637336404925209325721343283089517761175011779007681851011863336544965183375219315895402677151071508014559155505903769839446062037040053310622160951350294055710901827003095846137713980848067052032823563903878691757143326022681734259282855347145001850989000828133
c=1079288169014101061321928206355744925300551220969419075641876262832726487371819994124377608732112547670099114798464745107564003379099865464351619430318916570130366696160364613680416188212506373427854192842804149927749326167345000668560759743411422188762280329222458147559243918808548354718982167094307668515490808028452844301339928770240602408940910104884669929203404701141421299411411547161351395152357207772777307588700851461027931764790951229634521962317240153809080025163705506953575215528712852173457740427501614871042355672720961319392637949157078224852976478262095339770667897824328595526557318622869976192919
 
# import gmpy2
# for x in range(1,300000):
#     p_q=((1<<1023)+(1<<1023)-1+x)**2-4*n
#     if gmpy2.iroot(p_q,2)[1]:
#         print(gmpy2.iroot(p_q,2)[0],x)
        # x=219
p_q=105410700004420889186496259108749251920778765617415681990211998361600730553646403796503457355311462431935327320062632134535853204714359072475912190141393504439441517749299432170039459868994968125729957675160790584921715698316154839968439048762174263674743854488357011762992177170884379894249536884701702270268
print(p_q.bit_length())
x=219
pplusq=2**1023+(1<<1023)-1+x
 
q=(pplusq+p_q)//2
p=n//q
assert p*q==n
print(p,q)
 
p=37179306740905350793217129985076610720509466138407487641609041398065972625927279668102509983548036794592393279904380611561468282050028775008467620249040309969163187837783026553131379866125562996861562638462107591958217492013154020752737030889326486744303328098114643238477534383797668205292909722461260933583
q=142590006745326239979713389093825862641288231755823169631821039759666703179573683464605967338859499226527720599967012746097321486764387847484379810390433814408604705587082458723170839735120531122591520313622898176879933190329308860721176079651500750419047182586471655001469711554682048099542446607162963203851
 
phi=(p-1)*(q-1)
d=inverse(e,phi)
m=pow(c,d,n)
print(long_to_bytes(m),m.bit_length())

题目2:

from gmpy2 import *
from Crypto.Util.number import *
from flag import flag
import random
 
# p = getPrime(512)
# q = next_prime(p)
 
n = p*q
g = n + 1
print('n = ' + str(n))
 
r = random.randint(1, n)
assert gcd(r, n) == 1
m = bytes_to_long(flag)
c = (pow(g, m, n*n) * pow(r, n, n*n)) % (n*n)
print('c = ' + str(c))
"""
n = 46196962498972200877758855796872924749844819186626267986927999914182846501730972721014969969101028180625069444974916707989493549745289482550182810861083804677086083424474633448338430837207988351317047771850002977958285942909458579486110472678901311489011660668018040529894352263005948429503462851895869692483
c = 561112313847591646210432155974924416554516215722699464136024810057930163709979335167588946307305023717611789224251564456129337252445423681235116520510753838599006302408405973785072436615253594911056897556016561298642511653370651170814854004436130539049536612507887036508496475200608417744704336863238099651023048528401510071460441511916555279099900129011771281691800420826172236841768991140085782960278815819538210341535165771116022539236882409010456161955143511760480090358241369289697119073668844993429339297945407929761274315997729564517684810244024606264629730413911803767301739399199070960364496887440190129883
"""

解密脚本2:

n = 46196962498972200877758855796872924749844819186626267986927999914182846501730972721014969969101028180625069444974916707989493549745289482550182810861083804677086083424474633448338430837207988351317047771850002977958285942909458579486110472678901311489011660668018040529894352263005948429503462851895869692483
c = 561112313847591646210432155974924416554516215722699464136024810057930163709979335167588946307305023717611789224251564456129337252445423681235116520510753838599006302408405973785072436615253594911056897556016561298642511653370651170814854004436130539049536612507887036508496475200608417744704336863238099651023048528401510071460441511916555279099900129011771281691800420826172236841768991140085782960278815819538210341535165771116022539236882409010456161955143511760480090358241369289697119073668844993429339297945407929761274315997729564517684810244024606264629730413911803767301739399199070960364496887440190129883
p=6796834741184472912192350855742263953393867402035977259907028842736195216387952144322994792123309530801862588918154635235208755535590050434483745133552371
q=6796834741184472912192350855742263953393867402035977259907028842736195216387952144322994792123309530801862588918154635235208755535590050434483745133551473
phi=(p-1)*(q-1)
m=((pow(c,phi,n**2)-1)*inverse(phi,n**2))%n**2//n

print(m,long_to_bytes(m))
  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值