首页 > 其他分享 >“技能兴鲁”职业技能大赛-网络安全赛项-学生组初赛 Crypto WP

“技能兴鲁”职业技能大赛-网络安全赛项-学生组初赛 Crypto WP

时间:2023-11-17 10:46:06浏览次数:41  
标签:gmpy2 赛项 初赛 flag WP print import e1 e2

babyRSA

查看代码
from gmpy2 import *
from Crypto.Util.number import *
 
flag  = 'flag{I\'m not gonna tell you the FLAG}' # 这个肯定不是FLAG了,不要交这个咯

p = getPrime(2048)
q = getPrime(2048)
m1 = bytes_to_long(bytes(flag.encode()))


e1 = 3247473589
e2 = 3698409173

n = p*q

flag1 = pow(m1,e1,n)
flag2 = pow(m1,e2,n)
print('flag1= '+str(flag1))
print('flag2= '+str(flag2))
print('n= '+str(n))


# flag1= 295658788074157816670393593671184451782123605135184996662528766686642109492132533952160456440919197939935742027629210419312032730004032666912404179229952394343569590488768472800784830058534578639706805456277578757250365834591813481786084959844340418320620440636997732915872346619679993987903742079972676425404864295283955565746004124045155664762158516005326368384488346997494926539295740248007606864906884407198601326915643000764477435205579583836917598642053869541648731754384026407310786288997756775232852732033054591953078116290088267188296560877481534143707414153749140670404213262630122369941889862912426176115220410931992046973925991075473656781794097329513119548617920256625579072719981729556158392454956362838720993254919638177786730004086883044525967823454986241038123671907279715773848673713008902432841449556980494600938989397567019338970200872333713986608537678650318511128703055185979834233315117153115613952940778789222515375743186066883492596068186378372611075958909412662251913621375996518671118244409393829141365207153662416265238312206577474940661548038715230313608405518108581922154335405303862701783678336161505643508831482409054761542959278392940037561736468155509922530420964726953308604138731805543997557197893
# flag2= 219454357017359138238563345020257296433275019950745269658921329153689267055871241202626317639487122341365759606018366576305678949982408366815977617307888894995289951707241009621444691307275542686770303994110416384086739599181934011812163156338859395115724413628620575935425221522079154607411877822646179457455118804970038865452163833416447505142114976758532806787419762250921421272492466133659234602794242531776209324085944417173098820895755851386042954303555790085402616519592065446023510096773546730662074307900123349548340507067971393642039476326402523930789953483843698593104578179169624886357604650615249286150367204109726460230037005175927865466199600272190112483494387929732049738312695796015009178606906549093365261114132002222704510637261038978031857378729856467918978246977163353146981239215886053379980533235786905270211605457443266127512667882149285155542735532327780898540341696557860555884277608448996773250847560675650046440569736010800155992053362696097992699863059686881689842065077997427372972290872427656847223849769329713841670853267584161386494525686204330028142217737052411422895042170169703550774908415280261731967511925122636118468176645781785352430657090024109246103061415446942211482659025722233229083093876
# n= 549785700554963543393222974982211136067042846536450239199968863551137077564447156832697813202963334596948298760762991663065504535035143397250208506445202607659676332816610122258862787906629525548439909792727593939957178783466989816894454522630301104349317697612174888605090061231211194974337772507249418567229560145454791075929946332668360553910328900103264562348881791004831033587660163923517440406942993348972589262051083908075790422096042338651001937740085414301019827335549437397656318095919875053213333008551761167437683250592542156348138055482054331330609375930693247365749085041596578748797801601289693449629548744535914348450016287545136436964138806081283470239420969311905998245715160353982174880912315601876305613349276824998688275587308133069178764001924866079232824850209407236694426779262951463035278887804883917516580169051530590466082511045503107508117656821592538792566264160105940730326929474477787053681516844548383814388361089499629312831727731267796167205124844987064389097138747938870221504684958713047985374714612321540288239995935347905120710583169131356970267386562665138437631517802641426575996558648777831102462652517305151412695166331935115971277205305816897886952646432233312318756155702046584205507027737

考点:共模攻击

EXP

e1 = 3247473589
e2 = 3698409173
c1 = 295658788074157816670393593671184451782123605135184996662528766686642109492132533952160456440919197939935742027629210419312032730004032666912404179229952394343569590488768472800784830058534578639706805456277578757250365834591813481786084959844340418320620440636997732915872346619679993987903742079972676425404864295283955565746004124045155664762158516005326368384488346997494926539295740248007606864906884407198601326915643000764477435205579583836917598642053869541648731754384026407310786288997756775232852732033054591953078116290088267188296560877481534143707414153749140670404213262630122369941889862912426176115220410931992046973925991075473656781794097329513119548617920256625579072719981729556158392454956362838720993254919638177786730004086883044525967823454986241038123671907279715773848673713008902432841449556980494600938989397567019338970200872333713986608537678650318511128703055185979834233315117153115613952940778789222515375743186066883492596068186378372611075958909412662251913621375996518671118244409393829141365207153662416265238312206577474940661548038715230313608405518108581922154335405303862701783678336161505643508831482409054761542959278392940037561736468155509922530420964726953308604138731805543997557197893
c2 = 219454357017359138238563345020257296433275019950745269658921329153689267055871241202626317639487122341365759606018366576305678949982408366815977617307888894995289951707241009621444691307275542686770303994110416384086739599181934011812163156338859395115724413628620575935425221522079154607411877822646179457455118804970038865452163833416447505142114976758532806787419762250921421272492466133659234602794242531776209324085944417173098820895755851386042954303555790085402616519592065446023510096773546730662074307900123349548340507067971393642039476326402523930789953483843698593104578179169624886357604650615249286150367204109726460230037005175927865466199600272190112483494387929732049738312695796015009178606906549093365261114132002222704510637261038978031857378729856467918978246977163353146981239215886053379980533235786905270211605457443266127512667882149285155542735532327780898540341696557860555884277608448996773250847560675650046440569736010800155992053362696097992699863059686881689842065077997427372972290872427656847223849769329713841670853267584161386494525686204330028142217737052411422895042170169703550774908415280261731967511925122636118468176645781785352430657090024109246103061415446942211482659025722233229083093876
n = 549785700554963543393222974982211136067042846536450239199968863551137077564447156832697813202963334596948298760762991663065504535035143397250208506445202607659676332816610122258862787906629525548439909792727593939957178783466989816894454522630301104349317697612174888605090061231211194974337772507249418567229560145454791075929946332668360553910328900103264562348881791004831033587660163923517440406942993348972589262051083908075790422096042338651001937740085414301019827335549437397656318095919875053213333008551761167437683250592542156348138055482054331330609375930693247365749085041596578748797801601289693449629548744535914348450016287545136436964138806081283470239420969311905998245715160353982174880912315601876305613349276824998688275587308133069178764001924866079232824850209407236694426779262951463035278887804883917516580169051530590466082511045503107508117656821592538792566264160105940730326929474477787053681516844548383814388361089499629312831727731267796167205124844987064389097138747938870221504684958713047985374714612321540288239995935347905120710583169131356970267386562665138437631517802641426575996558648777831102462652517305151412695166331935115971277205305816897886952646432233312318756155702046584205507027737
# 已知两者n相同,e不同,共模攻击

import gmpy2
from Crypto.Util.number import isPrime, sieve_base as primes, long_to_bytes


def egcd(a, b):
    if b == 0:
        return a, 0;
    else:
        x, y = egcd(b, a % b)
        return y, x - (a // b) * y  # 扩展欧几里得算法


s = egcd(e1, e2)
s1 = s[0]
s2 = s[1]
print(s[0], s[1])
m = gmpy2.powmod(c1, s1, n) * gmpy2.powmod(c2, s2, n) % n

print(long_to_bytes(m))
#flag{baby_r3a_sierting_2023}

EasyRSA

关注微信公众号“中学生CTF”,回复“开始游戏”
按要求回复相关内容分别获取公钥  密文 提示 私钥

公钥

-----BEGIN RSA PUBLIC KEY-----MIGJAoGBAKOSX8AR8/CsqasPfC7VL5aJzic8W9KFI1920SHhEhmcWd7yp5Dl9UfXgzLHIIZJExd7D1CwIxAMHANHV6qF/7FEedwEMHusBxbAWsjXQUGFeEMmzo+SUVbbRnDSw/jZwCNoofQfukVO7+5CBzV5S/N5WDTk+8bvwfrDDA9AHdW5AgMBAAE=-----END RSA PUBLIC KEY-----

密文

QhS9n7TkavmU8E4CFa872ZzqIq/NG/agtCkxQBzB0/E1PDZRv6otOYxBLsxwd/7h0fPkYYMCpPt4nXqYBGQ/n8/F3q3spV94+IFs7+CjyybUvAQg8MXLgSTzVt+ua0Ub0/et5/7Q1xAcgzT3/jWHwjklEAykdpSYMAqv5PQrhT4=

提示

回答个问题吧,回答正确了就给你提示。
求小于100的所有正整数中,与10互质的数有多少个?

私钥

-----BEGIN RSA PRIVATE KEY-----
MIICWwIBAAKBgQCjkl/AEfPwrKmrD3wu1S+Wic4nPFvShSNfdtEh4RIZnFne8qeQ5fVH14MyxyCGSRMXew9QsCMQDBwDR1eqhf+xRHncBDB7rAcWwFrI10FBhXhDJs6PklFW20Zw0sP42cAjaKH0H7pFTu/uQgc1eUvzeVg05PvG78H6wwwPQB3VuQIDAQABAoGADZ61jFeyWTr3UcATVg74TG+jE89J0gi1/k/1b/2+tRU4woCwBTewqc+/I+5Cvgu9pDnh95UDBmYLuxYorZFEzgrSa3rZ5y7OFQZl9nXapt2LttBXoQaWf3jtyslsGmfNi/VuNgKaiiVwINhVG8NeIFzzAB3AqNDitHlKDalkKZECQQDN1lZKV8bximZNDVL9CajmdE6f3DobYgGNvOXsOS4Qkzx+/3LvAbqSiiiel5V08pBIG18DRIpxBRN57z8fbJxlAkEAy28zeeMeb3ZFL7/iyosQ8RWrz3/BxlUtREh9GSplRa7EJtjm852IQCk98lg2HR++tuugmdtVAS0lxd/UVDXMxQJAFaVwtai9dzFCyN+Z1pppdLLOgek7Ax4vY6R12X255mxVdFWQ1Kmt4TM+Sk9OnFnV6n9WYpWWqYQLJEuQq9FUMQJAe6Vt+yJhCEwxRxFw7bxSosWSNL8o7rwslDke1+HdxdmwXRAuZ1mTS7QFc7vLwC3gQ9u5NGqMIvfm4nrl2f0NJQJAJrOQDrZX/KpYAnFmW8IGXxkcJrtdB2Xi9VN1WdC9r4QGz28X5ScH0o9mcYVxaDxzNU7A9DPiRL28fAltiGdJLg==
-----END RSA PRIVATE KEY-----

EXP

from Crypto.PublicKey.RSA import *
from Crypto.Util.number import *
import base64

public_key = import_key(open("public.key",'r').read())
private_key = import_key(open("private.key",'r').read())

n = public_key.n
e = public_key.e
d= private_key.d
print(n)
print(e)
print(d)
#114864005600760124838174934732628945771197525122577449698180987907555509977220273809012289162440034753668860191597948487281937550290955666534978238528737698867225755114183434424049013863339206741345416420486014167422554873961537017311941003144357959859755664375427985133288233616542634414959239033111688631737
#65537
#9564259556637441464240362220363400172016187719820943024596390603957007765776447414068084623333922359137143446687367515984825872590105514019277297521267703827548523495448118280175047000329349517690519761635586269753143571880892429512325066602573013334276333137196243465703673185061627918861278124492072429969

c = "QhS9n7TkavmU8E4CFa872ZzqIq/NG/agtCkxQBzB0/E1PDZRv6otOYxBLsxwd/7h0fPkYYMCpPt4nXqYBGQ/n8/F3q3spV94+IFs7+CjyybUvAQg8MXLgSTzVt+ua0Ub0/et5/7Q1xAcgzT3/jWHwjklEAykdpSYMAqv5PQrhT4="
c = bytes_to_long(base64.b64decode(c))

m = pow(c,d,n)
print(long_to_bytes(m))
# flag{c2915ff0a0ca8ffd50af20cd27682ff2}

ezPython

查看代码
 import time
from tqdm import tqdm
from qsnctf import *

flag = "flag{}"
flag = caesar_encrypt(flag, 8)
for i in tqdm(range(21)):
    flag = string_reverse(flag)
flag = atbash_cipher(flag)
for i in tqdm(range(20)):
    flag = base64_encode(flag)
flag = base100_encode(flag)
print(flag)

# flag = "emoji emoji"
""" 

标签:gmpy2,赛项,初赛,flag,WP,print,import,e1,e2
From: https://www.cnblogs.com/mumuhhh/p/17838113.html

相关文章

  • WPF --- TextBox的输入校验
    引言在WPF应用程序开发中,数据校验是确保用户输入数据的正确性和完整性的重要一环。之前在做一些参数配置功能时,最是头疼各种参数校验,查阅一些资料后,我总结了数据校验方式有两种:ValidationRuleIDataErrorInfo接下来分别介绍这两种校验方式。ValidationRuleValidationRule......
  • 使用MVVM Toolkit简化WPF开发
    最近.NET8的WPF推出了WPFFileDialog改进,这样无需再引用Win32命名空间就可以实现文件夹的选择与存储了,算是一个很方便的改进了。顺手写了一个小的WPF程序,在使用Model-View-ViewModel(MVVM)模式的时候,我不想使用Prism等重量级的框架,找了一个轻量级的MVVMCommunity......
  • [WPF]标记扩展(Markup Extension)
    XAML是基于XML的语言,其遵循并扩展了XML的语法规则。其中一项扩展就是标记扩展(MarkupExtension),比如我们经常使用的绑定Binding和x:Type。什么是标记扩展标记扩展允许在XAML标记中使用特殊的语法来动态地为特性(Attribute)赋值或执行其他操作。简单来说,在XAML中,所有为XAML元素特......
  • CTFshow Reverse 36D杯 BBBigEqSet wp
    用ida打开程序,一点点看汇编,发现似乎是机器生成的,先是输入0x80长的flag,然后有0x80段运算,运算的内容是每一个字符乘一个系数相加后与一个数比较。查看代码.text:0000000000001175pushrbp.text:0000000000001176movrbp,rsp.text:00......
  • WPF中设置RichTextBox的行间距
    可以通过设置Paragraph的LineHeight属性来达到设置行间距的效果。privatevoidUpdateTranslate(RichTextBoxtbx,IEnumerable<BaiduTranslateInfo>items){tbx.Document.Blocks.Clear();if(items.IsNullOrEmpty())return;Paragraphpara=newPara......
  • WPS word制作不同样式水平线的快捷方法
    shift键+~键插入三个【~】符号,然后按下键盘上的回车键,之后就会显示出一条波浪线。输入三个【=】符号,之后再按下键盘上的enter键,一条粗的直线。输入三个【*】符号,并且用同样的操作方法,按下回车键,就会得到一个小黑点的水平线线条。输入三个【---】符号,按下回车键,得到一条细直线......
  • WPF动画之移动淡出淡入
    publicvoidShowAnimation(){//动画时间varduration=newDuration(TimeSpan.FromSeconds(0.3)); //移入vardoubleAnimation=newDoubleAnimation{Duration=duration,To=0......
  • 直播平台制作,ViewPager自动轮播,手指按住停止轮播
    直播平台制作,ViewPager自动轮播,手指按住停止轮播对viewpager做一个触摸监听即可。然后判断下up和down事件 //通过监听onTouch事件,设置一个标签isLoop;手指按下时isLoop=false,手指抬起后isLoop=true;    mViewPager.setOnTouchListener(newView.OnTouchListener(......
  • WPF TextBox 允许输入数字及字母的工具类
    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Text.RegularExpressions;usingSystem.Windows.Controls;usingSystem.Windows.Input;namespace命名空间{///<summary>///TextBox输入控制///&......
  • 01 WPF-HelloWorld
    01HelloWorld简介WPF全称:WindowsPresentationFoundationWindows用户界面框架,统一的编程模型、语言和框架,做到了界面设计与后端开发分离。特点:呈现效果不受分辨率的影响基于DirectX3d技术,可以做出炫酷的界面提供UI框架,集成了矢量图形、流动文字支持、3d视觉效果和控件......