LiTCTF by lingfeng - (crypto全解)

LiTCTF by lingfeng - (crypto全解)

因为这两天有事/(ㄒoㄒ)/~~,错过了litctf的比赛时间,只能现在复现一下密码题了(;´༎ຶД༎ຶ`)

梦想是红色的 (初级)

社会主义核心价值观编码

![image-20230515135058438](https://img-blog.csdnimg.cn/img_convert/35b03a9debb81101be4d9f82ad68aba1.png

Hex?Hex!(初级)

cyber一把梭

在这里插入图片描述

原来你也玩原神 (初级)

提瓦特语言对照

原学家总结的《提瓦特现行文字对照表》原学家大佬们确实有点东西_原神 | 大神

LitCTF{YUANLAINIYEWANYUANSHENWWW}

你是我的关键词(Keyworld)

在这里插入图片描述

Is this only base?

找到正确的BASE64结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NitYekB5-1684133489288)(null)]

一键解码

在这里插入图片描述

再次一键解密

成功找到Lit

在这里插入图片描述

家人们!谁懂啊,RSA签到都不会

from Crypto.Util.number import *
p = 
q = 
c = 
n=p*q
d=inverse(65537,(p-1)*(q-1))
print(long_to_bytes(pow(c,d,n)))
#b'LitCTF{it_is_easy_to_solve_question_when_you_know_p_and_q}'

factordb

factordb.com

from Crypto.Util.number import *
e = 
n = 
c = 
p = 
q = n//p
d=inverse(65537,(p-1)*(q-1))
print(long_to_bytes(pow(c,d,n)))
#b'LitCTF{factordb!!!}'

yafu

#sage
e = 
n = 
c = 
p_=factor(n)
p=[int(i)-1 for i,_ in p_]
phi=prod(p)
d=inverse_mod(e,phi)
m=pow(c,d,n)
print(bytes.fromhex(hex(m)[2:]))
#b'LitCTF{Mu1tiple_3m4ll_prim5_fac7ors_@re_uns4f5}'

我测你vva

chatgpt一把梭

在这里插入图片描述

md5的破解

MD5爆破即可

from hashlib import md5
MD5='496603d6953a15846cd7cc476f146771'
flag=b'LitCTF{md5can3derypt213thoughcrsh}'
import itertools
dir = '1234567890abcdefghijklmnopqrstuvwxyz'
dir_list = itertools.product(dir, repeat=4)
for i in dir_list:flag_=flag[:13]+''.join(i[:2]).encode()+flag[13:16]+''.join(i[2]).encode()+flag[16:31]+''.join(i[-1]).encode()+flag[31:]md5_=md5(flag_).hexdigest()if md5_== MD5:print(flag_)break#b'LitCTF{md5can123dexrypt213thoughcrpsh}'

Virginia

enc=[86, 116, 128, 80, 98, 85, 139, 122, 134, 114, 125, 136, 117, 123, 129, 127, 128, 128, 142, 130, 140, 147, 127, 132, 131, 136, 151, 134, 152, 164]
enc_=list(b'LitCTF{')#由flag格式提示
key=[i-j for i, j in zip(enc[:7],enc_[:7])]
print(key)
#[10, 11, 12, 13, 14, 15, 16]
#观察可知为变异凯撒
flag=[i-j for i, j in zip(enc,range(10,10+len(enc)))]
print(bytes(flag))

一次一密

from pwn import *
enc1='6c73d5240a948c86981bc294814d'
enc1=bytes.fromhex(enc1)
dec1=b'attack at dawn'
dec2=b'Monday or Thur'
enc2=xor(enc1,dec1,dec2).hex()
print('NSSCTF{'+enc2+'}')

P_Leak

dp泄露模板

import gmpy2
from Crypto.Util.number import *
e = 
dp= 
n= 
c= for x in range(1,e):if (dp*e-1)%x == 0:p = ((dp*e-1)//x)+1if n%p == 0:break
q = n//p
phi = (p-1)*(q-1)
d = gmpy2.invert(e,phi)
m = pow(c,d,n)
flag = long_to_bytes(m)
print(flag)
#b'LitCTF{Prim3_1s_Le@k!!!!!}'

baby_xor

from Crypto.Util.number import *
n = 
c1 = 
c2 = 
tmp=b'x'*24
flag_=b'LitCTF{'+tmp+b'}'
P_=bin(bytes_to_long(flag_)^^c1)[2:]
P=[int(P_[:-200],2),int(P_[-8:],2)]
PR.<x> = PolynomialRing(Zmod(n))
f = x*(2**8) + P[0]*(2**200)+P[1]
roots = f.monic().small_roots(X=2^200, beta=0.4)[0]
p=int(roots*(2**8) + P[0]*(2**200)+P[1])
q=n//p
e=65537
d=inverse_mod(e,(p-1)*(q-1))
m=pow(c2,d,n)
print(long_to_bytes(int(m)))
#b'LitCTF{oh!!!!coppersmith_is_fun}'

e的学问

e=
p= 
q= 
n=p*q
c= 
d=inverse(e//2,(p-1)*(q-1))
m2=pow(c,d,n)
m=gmpy2.iroot(m2,2)
if m[1]:print(long_to_bytes(m[0]))#b'LitCTF{e_1s_n0t_@_Prime}'

The same common divisor

from Crypto.Util.number import *
n1= 
n3= 
c1= 
c2= 
n2=n1^n3
e=65537
p=GCD(n2,n1)
q=n1//p
d=inverse(e,(p-1)*(q-1))
print(long_to_bytes(pow(c1,d,n1)))
#b'LitCTF{TH3_Tw0_nUmb3rs_H@v3_The_sAme_D1v1s0r!!}'

Where is P?

import gmpy2
from tqdm import *
from Crypto.Util.number import *
P=0
e=
n= 
c= 
a= 
for i in trange(0,1<<10):tmp=a+n*itmp_=gmpy2.iroot(tmp,3)if tmp_[1]:P=tmp_[0]break
P=bin(P)[2:]
assert len(P)==684
for i in trange(0,1<<20):p_=Integer(P+bin(i)[2:],2)kbits = 1024 - p_.nbits()p4 = p_ << kbitsPR.<x> = PolynomialRing(Zmod(n))f = x + p4roots = f.small_roots(X=2 ^ kbits, beta=0.4)if roots:p = int(roots[0] + p4)q=n//pd=inverse(e,(p-1)*(q-1))m=pow(c,d,n)print(long_to_bytes(int(m)))break#b'LitCTF{Y0U_hAV3_g0T_Th3_r1ghT_AnsW3r}'

babyLCG

t 0 = s 1 − s 0 t 1 = s 2 − s 1 = a ( s 1 − s 0 ) + k 1 p t 2 = s 3 − s 2 = a ( s 2 − s 1 ) + k 2 p = a 2 ( s 1 − s 0 ) + k 3 p − > t 0 t 2 ≡ t 1 2 m o d p − − − − − − − − − − − − − − − − − − − − − − − − 类比 t 1 、 t 2 、 t 3 − > t 1 t 3 ≡ t 2 2 m o d p = > G C D ( t 0 t 2 − t 1 2 , t 1 t 3 − t 2 2 ) = p t_0= s_1-s_0\\t_1=s_2-s_1=a(s_1-s_0)+k_1p\\t_2=s_3-s_2=a(s_2-s_1)+k_2p=a^2(s_1-s_0)+k_3p \\->t_0t_2\equiv t_1^2\ mod \ p \\------------------------ \\类比 t_1、t_2、t_3 \\->t_1t_3\equiv t_2^2\ mod \ p \\=>GCD(t_0t_2-t_1^2,t_1t_3-t_2^2)=p t0=s1s0t1=s2s1=a(s1s0)+k1pt2=s3s2=a(s2s1)+k2p=a2(s1s0)+k3p>t0t2t12 mod p类比t1t2t3>t1t3t22 mod p=>GCD(t0t2t12,t1t3t22)=p

解法一

#sage
from Crypto.Util.number import *
import re
result = 
t0=result[1]-result[0]
t1=result[2]-result[1]
t2=result[3]-result[2]
t3=result[4]-result[3]
p=GCD(t0*t2-t1**2,t1*t3-t2**2)
P.<m,a,b>=  PolynomialRing(Zmod(p))
f1=a*m+b-result[0]
f2=a*result[0]+b-result[1]
f3=a*result[1]+b-result[2]
G = Ideal([f1, f2, f3]).groebner_basis()
m=G[0]
flag=re.findall(r'\d+', str(m))
print(long_to_bytes(p-int(flag[0])))

解法二


from Crypto.Util.number import *
result =
t0=result[1]-result[0]
t1=result[2]-result[1]
t2=result[3]-result[2]
t3=result[4]-result[3]
p=GCD(t0*t2-t1**2,t1*t3-t2**2)
a=inverse(t0,p)*t1%p
b=(result[1]-a*result[0])%p
m=(result[0]-b)*inverse(a,p)%p
print(long_to_bytes(m))
#b'LitCTF{31fcd7832029a87f6c9f760fcf297b2f}'

Euler

c = m n − p − q + 3 m o d n 由欧拉定理知 m ( p − 1 ) ∗ ( q − 1 ) m o d n = 1 = > c = m 2 m o d n c=m^{n-p-q+3} modn \\由欧拉定理知m^{(p-1)*(q-1)}modn=1 \\=>c=m^2modn c=mnpq+3modn由欧拉定理知m(p1)(q1)modn=1=>c=m2modn

c = 
import gmpy2
from Crypto.Util.number import *
print(long_to_bytes(gmpy2.iroot(c,2)[0]))

easy_math

解法一


from Crypto.Util.number import *
e=65537
n = 
c = 
hint = 
var('p')
solve([p**8-n**5==hint*p**5],[p])
p=7321664971326604351487965655099805117568571010588695608389113791312918573783115429227542573780838065461696504325762281209452761930184231131129306271846427
q=n//p
d=inverse_mod(e,(p-1)*(q-1))
m=pow(c,d,n)
print(long_to_bytes(int(m)))
#b'LitCTF{f9fab7522253e44b48824e914d0801ba}'

在这里,在和M3thy1的讨论的中发现,如果将solve解方程的式子换成二元方程组

solve([p^3-q^5==hint,p*q==n],[p,q])

运行的结果即为

在这里插入图片描述

跑不出正确答案,对此我的理解是,由于sagemath的slove方程计算是基于计算机算法,运算能力有限,当出现数据过大,且数据出现多次幂的情况下,会有不止一个数据满足上述等式,可能会是无理数,下面是示例验证

p = getPrime(128)
q = getPrime(128)
n = p*q
hint = p**2-q

在这里插入图片描述

仅仅是在只有二次幂的情况下就会有多组数据满足此条件,证明猜想正确,一旦为多次幂且数据更大式,最好还是转为更低的一元进行求解。

解法二

p 3 > > q 5 − > h i n t ≈ p 3 高位是一样 p^3>>q^5 \\->hint\approx p^3 \\高位是一样 p3>>q5>hintp3高位是一样

import gmpy2
from Crypto.Util.number import *
e=65537
n = 
c = 
hint = 
p_=int(gmpy2.iroot(hint,3)[0])>>215
PR.<x> = PolynomialRing(Zmod(n))
f = x + p_*(2^215)
roots = f.small_roots(X=2^215, beta=0.7)[0]
p=int(roots+ p_*(2^215))
q=n//p
d=inverse_mod(e,(p-1)*(q-1))
m=pow(c,d,n)
print(long_to_bytes(int(m)))
b'LitCTF{f9fab7522253e44b48824e914d0801ba}'

此次的LitCTF题目都出的很好,师傅们都很棒(除了我,我出的题是lj题,弟弟水平还得提高(;´༎ຶД༎ຶ`) ),特外感谢探姬大大此次举办Litctf(o( ̄▽ ̄)ブ)。
有问题的地方欢迎大家一起来讨论呀

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

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

相关文章

【简单易上手】昇思MindSpore邀你定制专属Diffusion模型

昇思MindSpore首个可训练diffusion模型DDPM马上要和大家见面了&#xff0c;操作简单&#xff0c;可训练推理&#xff0c;单卡即可运行&#xff0c;欢迎广大产学研开发者使用启智社区免费Ascend NPU算力体验 最近爆火的AI绘图&#xff0c;相信大家并不陌生了。 从AI绘图软件生成…

基于segment anything model(SAM)相关性研究的各个方向论文/项目汇总

目录 简介anything项目整理AnyObjectAnyGenerationAny3DAnyModelAnyTaskAnyX 论文汇总AnyObejctAnyGenerationAnyModelAnyTask 简介 有关anything相关的主流任务: 2d检测相关&#xff08;AnyObject&#xff09;, 3d检测相关&#xff08;Any3D&#xff09;,AI生成相关&#xff…

单卡就能运行AI画画模型,小白也能看懂的教程来了,还有100万卡时免费NPU算力可用丨昇思MindSpore...

允中 发自 凹非寺量子位 | 公众号 QbitAI 昇思MindSpore首个可训练的diffusion模型DDPM马上要和大家见面了&#xff0c;操作简单&#xff0c;可训练推理&#xff0c;单卡即可运行&#xff0c;欢迎广大产学研开发者使用启智社区免费Ascend NPU算力体验。 最近爆火的AI绘图&#…

『2023北京智源大会』视觉与多模态大模型

『2023北京智源大会』视觉与多模态大模型 文章目录 一. Drag Your GAN: Interactive Point-based Manipulation on the Generative Image Manifold | 潘新钢 | 南洋理工大学1. Image Manipulation(图像编辑)背景2. Drag Your GAN 二. Machine Learning for 3D Content Creatio…

ChatGPT出现后是否还建议读计算机专业?

前言 首先&#xff0c;在多模态大模型落地应用之后&#xff0c;产业领域会迎来一次全面的技术升级&#xff0c;很多传统的人力资源岗位会被替代&#xff0c;但是同样也会增加一些新的就业岗位&#xff0c;而对于计算机专业的同学来说&#xff0c;这也是一个新的发展机会。 在…

chatgpt赋能python:Python配置Anaconda

Python配置Anaconda Python作为一个传统和流行的编程语言&#xff0c;在科学领域得到了广泛的应用。Anaconda是Python的一个流行的开源发行版&#xff0c;它提供了Python和其他相关工具的全套解决方案&#xff0c;使得科学计算和数据分析变得更为容易。在本文中&#xff0c;我…

关于图灵测试和中文屋Chinese room的理解

图灵测试与中文屋 这篇文章想分享关于人工智能的“中文屋论证”&#xff08;也叫汉字屋&#xff0c;Chinese room&#xff09;。什么是中文屋论证呢&#xff0c;我们知道图灵测试是判断是机器否是人工智能的公认标准。我先说图灵测试&#xff0c;知道了图灵测试就很好理解汉子屋…

彩票的两种分析方法

概率均值二分K线图分析法&#xff1a; 算法是取当前元素的数学平均值为基本&#xff0c;当本值大于均值则在上期数上加超过值&#xff0c;小于则在上期数上减不足值&#xff0c;即大于则阳线&#xff0c;小于则阴线。这样连线后就是K线了。 如对数进行K线方法&#xff1a;33个…

ChatGPT 飙升到搜索引擎第二梯队后,增长放缓

整理 | 陈静琳 责编 | 屠敏 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; ChatGPT 的爆火&#xff0c;是昙花一现&#xff0c;还是未来可期&#xff1f; 近日&#xff0c;网站流量分析工具 Similarweb 针对 ChatGPT 目前的数据流量现状进行了一次深度的调研…

去年精准预言AIGC爆发!今年百度又看好这十大科技趋势

萧箫 发自 凹非寺量子位 | 公众号 QbitAI 2023年&#xff0c;我们还会见证新的AI突破吗&#xff1f; 过去一年里&#xff0c;我们围观了ChatGPT的崛起&#xff0c;看见国内外多模态大模型同台竞技&#xff0c;察觉到自动驾驶公司的商业化加速落地&#xff0c;也发现以AI制药为核…

使用chatgpt画一个流程图

是的&#xff0c;ChatGPT可以直接写代码&#xff01; ChatGPT支持许多编程语言&#xff0c;包括Python&#xff0c;JavaScript和C 等。您可以在消息框中键入您的代码&#xff0c;并使用/code命令将其格式化为代码块&#xff0c;以便ChatGPT更好地理解您的请求。 <!DOCTYPE h…

快速串联 RNN / LSTM / Attention / transformer / BERT / GPT

参考&#xff1a; 李宏毅2021/2022春机器学习课程王树森 RNN & Transformer 教程Transformer 详解 文章目录 0. 背景&#xff1a;序列数据及相关任务1. 早期序列模型1.1 循环神经网络 RNN1.2 长短期记忆网络 LSTM1.3 改善 RNN/LSTM 的三个技巧1.3.1 通过堆叠扩展为深度模型…

国产开源50亿参数新模型,合成可控性、质量实现飞跃

关注并星标 从此不迷路 计算机视觉研究院 公众号ID&#xff5c;ComputerVisionGzq 学习群&#xff5c;扫码在主页获取加入方式 计算机视觉研究院专栏 作者&#xff1a;Edison_G 在 AI 绘画领域&#xff0c;很多研究者都在致力于提升 AI 绘画模型的可控性&#xff0c;即让模型生…

多模态大模型技术演进及研究框架

一、多模态预训练概述 多模态表示包含两个或两个以上事物表现形式 模态是事物的一种表现形式,多模态通常包含两个或者两个以上的模态形式,是从多个视角出发对事物进行描述。生活中常见多 模态表示,例如传感器的数据不仅仅包含文字、图像,还可以包括与之匹配的温度、深度信息…

MySQL索引为什么要用B+树实现?

首先&#xff0c;得先了解什么是B树什么是B树 什么是B树 自平衡二叉树虽然能保持查询操作的时间复杂度在O(logn)&#xff0c;但是因为它本质上是一个二叉树&#xff0c;每个节点只能有 2 个子节点&#xff0c;那么当节点个数越多的时候&#xff0c;树的高度也会相应变高&…

Altman:巨型AI模型时代结束;马斯克TruthGPT曝光|每日创新观察

今日看点&#xff1a; OpenAI CEO&#xff1a;巨型AI模型时代已结束Stable Diffusion-XL开启公测马斯克TruthGPT曝光Adobe Premiere Pro 将引入新 AI 工具OpenAI CEO&#xff1a;巨型AI模型时代已结束 参考链接 OpenAI的首席执行官山姆奥特曼&#xff08;Sam Altman&#xff…

RWKV:在Transformer时代重新定义循环神经网络

论文地址&#xff1a;https://arxiv.org/abs/2305.13048 参考&#xff1a;https://www.zhihu.com/question/602564718/answer/3041307432 RWKV: Reinventing RNNs for the Transformer Era RWKV&#xff1a;在Transformer时代重新定义循环神经网络 Abstract 摘要 Transformer已…

2023 4月份 华为硬件开发岗位实习生机考回忆

2023 4月份 华为硬件开发岗位实习生机考回忆 Proscribe &#xff01;本帖只用作学习之意&#xff0c;若违反任何要求或侵权将立马删除&#xff0c;其中答案也可能错误&#xff0c;实际的工程应用和理论也有所区别&#xff0c;仅收录部分题目和答案等&#xff0c;仅供参考。&a…

那些Edge浏览器的神仙插件

浏览器插件选的好&#xff0c;网上冲浪没烦恼 文章目录 浏览器下载插件解除网页下载限制清理浏览器缓存标签自动刷新视频速度控制广告拦截器图片助手护眼模式超级复制翻译插件音乐插件喵喵折智能AI浮图秀油猴 早在五月份的时候就发过一张关于插件的动态&#xff0c;今天再来仔细…

复试常见问题

复试常见问题 语言相关操作系统组成原理计算机网络数据结构算法设计与分析深度学习梯度消失与梯度爆炸过拟合与欠拟合---退化神经网络中有哪些正则化技术&#xff1f;激活函数的作用&#xff1f;学习率太大(太小)时会发生什么&#xff1f;如何设置学习率&#xff1f;‍什么是数…