首页 > 其他分享 >2023年SWPU NSS 秋季招新赛 (校外赛道)WP—Crypto

2023年SWPU NSS 秋季招新赛 (校外赛道)WP—Crypto

时间:2023-10-19 20:14:19浏览次数:41  
标签:赛道 bin temp list str 2023 print import NSS

一、Caesar_base

题目信息

s = "HIJKLMNOPQRSTUVWXYZABCDEFGhijklmnopqrstuvwxyzabcdefg0123456789+/"    #码表

def My_base64_encode(inputs):
	bin_str = []
	for i in inputs:
		x = str(bin(ord(i))).replace('0b', '')
		bin_str.append('{:0>8}'.format(x))
	#print(bin_str)
	outputs = ""
	nums = 0
	while bin_str:
		temp_list = bin_str[:3]
		if(len(temp_list) != 3):
			nums = 3 - len(temp_list)
			while len(temp_list) < 3:
				temp_list += ['0' * 8]
		temp_str = "".join(temp_list)
		#print(temp_str)
		temp_str_list = []
		for i in range(0,4):
			temp_str_list.append(int(temp_str[i*6:(i+1)*6],2))
		#print(temp_str_list)
		if nums:
			temp_str_list = temp_str_list[0:4 - nums]
			
		for i in temp_str_list:
			outputs += s[i]
		bin_str = bin_str[3:]
	outputs += nums * '='
	print("Encrypted String:\n%s "%outputs)

print("-------input 'ys' to encode-------")	

sr = input("Please input!\n")
if(sr == "ys"):
	input_str = input("Please enter a string that needs to be encrypted: \n") 
	My_base64_encode(input_str)            
  

根据第一行新表base64解码即可

二、EasyRSA

题目附件

import libnum  
  
p=libnum.generate_prime(1024)  
q=libnum.generate_prime(1024)  
e=65537  
m="NSSCTF{*******************}"  
m=libnum.s2n(m)  
n=p*q  
phi_n=(p-1)*(q-1)  
d=libnum.invmod(e,phi_n)  
c=pow(m,e,n)  
  
print("p=",p)  
print("q=",q)    
print ("e=",e)  
print ("c=",c)

#p= 122912801126049869009003839542545176400185213365268209105714006257803073428638629824801261702125287814910668428403367391355051987389837804474055637991864563803834741161217607848968821280710324766558457056004037592628178078680121173634128054936108782807954132605887275556228703383455969903056759874047110115433
#q= 120790113700754477830062212762518406876786376726996249661848284428829412089402183812692045970711341815805796005449714738748110749559462448861357011272792817313060401380148108517705435100103533857957024851181447994572972501120774586405811257420853542417275740953525627232008812587423053626515513859653865873671
#e= 65537
#c= 7094224488947659163318199615533819770556597977720767621640224798887506152292861133457571683713587909779712343346370719403811813233693263526316785431883833118583425528830238629831001255198236686372518770451273159769779374149881346761523688131115323441973953523582174059584087249568245044443295176738493785560215046375056269378223045128094953923926250055718405799885041115025529297362914403732661935017257507786348635366480744933193471899621592092711962814949533564454932121056035003021428158830645604347966849572981124877683317022116903132719663958775850982016292384237647664448371811915879714093710876989697939277005

基础RSA

exp:

import gmpy2
from Crypto.Util.number import long_to_bytes
p = 122912801126049869009003839542545176400185213365268209105714006257803073428638629824801261702125287814910668428403367391355051987389837804474055637991864563803834741161217607848968821280710324766558457056004037592628178078680121173634128054936108782807954132605887275556228703383455969903056759874047110115433
q = 120790113700754477830062212762518406876786376726996249661848284428829412089402183812692045970711341815805796005449714738748110749559462448861357011272792817313060401380148108517705435100103533857957024851181447994572972501120774586405811257420853542417275740953525627232008812587423053626515513859653865873671
c = 7094224488947659163318199615533819770556597977720767621640224798887506152292861133457571683713587909779712343346370719403811813233693263526316785431883833118583425528830238629831001255198236686372518770451273159769779374149881346761523688131115323441973953523582174059584087249568245044443295176738493785560215046375056269378223045128094953923926250055718405799885041115025529297362914403732661935017257507786348635366480744933193471899621592092711962814949533564454932121056035003021428158830645604347966849572981124877683317022116903132719663958775850982016292384237647664448371811915879714093710876989697939277005

phi = (p-1) * (q-1)
e = 65537
n = p * q
d = gmpy2.invert(e, phi)
m = pow(c, d, n)
print('

标签:赛道,bin,temp,list,str,2023,print,import,NSS
From: https://www.cnblogs.com/mumuhhh/p/17775484.html

相关文章

  • 以创新技术引领行业发展,建管家入选“2023建筑业数字化服务商”
     近期,中国建筑业协会中小企业与供应链分会公布了2023建筑业数字化服务商名单,经过全国征集、协会初核、专家评审、公示复核等程序,建管家成功入选,成为“2023建筑业数字化服务商”。这一荣誉标志着建管家在建筑企业数字化服务领域的实力和创新技术成果受到了官方的高度认可,也是建管......
  • 山东省实验中学 2023 秋提高级友好学校赛前联测 3 T4
    子序列(sequence)题目描述给定一个长度为\(N\)的序列\(A\)。对于一个子序列,若任意两个在子序列中相邻的元素\(A_x,A_y(x<y)\),都满足\(A_x<A_y\),且原序列的区间\([x,y)\)中不存在严格大于\(A_x\)的值,那么我们就说这个子序列是"贪心上升"的。定义一个子序列的权......
  • 山东省实验中学 2023 秋提高级友好学校赛前联测 3 T2
    琼玉牌(qiongyu)题目描述青雀正在玩「帝垣琼玉」牌。「帝垣琼玉」牌有\(3\)种不同花色的琼玉牌,青雀的桌子上有\(4\)个放牌的位置,最开始青雀的牌桌上没有琼玉牌。青雀会进行\(n\)回合的抽牌。每个回合开始时,青雀会从牌堆里立即随机抽取\(2\)次牌(牌堆里每种牌都有无......
  • 山东省实验中学 2023 秋提高级友好学校赛前联测 3 T3
    零一串(string)题目描述给定一个长度为\(n\)的01串,你需要将它划分成若干段,每一段的长度都不超过\(m\),且满足以下两种条件之一:这个段中全部为\(0\)或全部为\(1\).这个段中\(0,1\)数量之差不超过\(k\).你需要求出该01串合法的划分最少要多少段。输入格式第......
  • CSP 2023 游记
    Day-2上午模拟赛没好好打,本来T2想到拉插了没写,于是一上午荒废了。中午睡觉时候把《平凡的世界》第一部看完了。中午起床以后就开始想吐,可能是午饭宫保鸡丁里花生米搞的鬼。当时5k就发了烧了,他过了一会就去休息了,只好把HE-CSP2023贺图的事接过来,于是一下午荒废了。晚上......
  • 山东省实验中学 2023 秋提高级友好学校赛前联测 3 T1
    生成树(tree)题目描述给定一棵\(n\)个节点的树。定义这棵树的生成完全图为一个\(n\)个节点的完全图,图中两点\(u,v\)的边权为这两点在树上简单路径上的边权和。请你求出这张完全图的最小生成树和最大生成树,分别输出两种生成树的边权之和。输入格式第一行输入一个正整......
  • 2023年10月整理书单列表
       ......
  • 神策数据《2023 中国客户旅程编排(CJO)应用指南》开启预约领取
    基于对数字化转型时代触点红利与企业发展的深入洞察,神策数据围绕客户旅程编排(CustomerJourneyOrchestration,简称CJO)进行全面研究,旨在为更多企业数字化转型过程中重塑客户体验、挖掘增量机会、节省长期投入等提供科学有效的方法论指导。今日,神策数据《2023中国客户旅程编排(CJO)应......
  • Win10_22H2_2023年10月累积更新
    大版本号:22H2内部版本号:19045.3570本系统镜像纯粹日常工作中自用并共享,基于微软官方原版镜像制作,目前只集成自应答文件和常用VC库,若你有好的建议或意见可发我邮箱;下载完记得验证hash值,以防翻车!文件1.Win_10_business_22H2_19045.3570_x64_update2023.10.iso★微软官方商业版64位原......
  • 2023年东莞/深圳CPDA数据分析师认证怎么报名和备考?
    CPDA数据分析师认证是大数据方面的认证,助力数据分析人员打下扎实的数据分析基础知识功底,为入门数据分析保驾护航。帮助数据分析人员掌握系统化的数据分析思维和方法论,提升工作效率和决策能力,遇到问题能够举一反三,为大部分决策难题提供解决方案。帮助数据分析人员掌握几种通用的数据......