![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
buuctf
文章平均质量分 96
咸鱼壹号
这个作者很懒,什么都没留下…
展开
-
[buuctf] crypto全解——121-146(不建议直接抄flag)
[BJDCTF2020]编码与调制查看题目 曼彻斯特6进制024A447B4469664D616E63686573746572636F64657D通过解码16进制即可得到flag{DifManchestercode}[网鼎杯 2020 青龙组]you_raise_me_up查看题目#!/usr/bin/env python# -*- coding: utf-8 -*-from Crypto.Util.number import *import randomn = 2 ** 512m原创 2021-01-13 18:04:55 · 12684 阅读 · 1 评论 -
rsa
rsa数学基础同余平方剩余欧拉定理费马定理中国剩余定理扩展RSA加密系统简单例题一道简单的小问题公式一把梭n = 33e = 3解是26-------------------------答案是多少import gmpy2q = 11p = 3c=26n=33e=3phin = (p-1)*(q-1)'''根据欧拉函数n=pqpq是素数p!=qn=pq=(p-1)*(q-1)'''d=gmpy2.invert(e,phi原创 2020-12-08 17:09:18 · 213 阅读 · 0 评论 -
buu [HDCTF2019]bbbbbbrsa
查看题目#!/usr/bin/env python# -*- coding:utf-8 -*-from base64 import b64encode as b32encodefrom base64 import b64decodefrom gmpy2 import invert, gcd, irootfrom Crypto.Util.number import * p = 177077389675257695042507998165006460849n = 3742182950988原创 2020-12-01 10:57:13 · 1256 阅读 · 0 评论 -
buu [NCTF2019]childRSA
查看题目恩总结不会,愉快的找wp去这一道RSA打开加密算法乍一看感觉没有问题,N特别大,除了p和q的生成算法啥都没给,查了一下 Crypto.Util.number 中的sieve_base,发现这是前10000个素数的生成列表,我们再去查一下第10000个素数的值为104729不过就算我们知道了这个值的大小似乎还是得不到结果,从这个p,q的生成算法中,我们可以知道其是由小于104729的素数随机组合生成的.为小于p的任何数的倍数,即我们可以将这10000个素数乘起来就为p-1的倍数,于是尝试用原创 2020-12-01 10:56:16 · 1919 阅读 · 0 评论 -
buu [BJDCTF 2nd]rsa1
查看题目,kali nc链接脚本求p,qfrom sympy import *from sympy.abc import p,qnn=17323413532004053714068816075742268058616114466140569559344588640398810828466780482901165553192437213460413557016135604931227209062350210662255395211465042592633383300160923568070829原创 2020-12-01 10:55:45 · 243 阅读 · 0 评论 -
buu [NCTF2019]Keyboard
查看题目提示是键盘,然后发现这些字母是26键盘的第一行,上面有对应数字,并且位数在1到4位,说明是九键键盘,刚好和题目意思对上了,这种题写法就是比如o,对应9,就在九键键盘上9的位置,看o有多少位,3位的话,就是9那个位置字符串的第三个字符。我懒得写脚本,就直接手写了主要是不多youaresosmartthatthisisjustapieceofcake然后又在网上帮你们找了一个脚本cipher="ooo yyy ii w uuu ee uuuu yyy uuuu y w uuu i i原创 2020-12-01 10:55:15 · 2141 阅读 · 1 评论 -
buu [BJDCTF 2020]这是base??
查看题目这里给了一个来源给了一个关于base64的dict字典,查一下base64的标准字典这应该是替换加密,那么直接脚本import base64dict={0: 'J', 1: 'K', 2: 'L', 3: 'M', 4: 'N', 5: 'O', 6: 'x', 7: 'y', 8: 'U', 9: 'V', 10: 'z', 11: 'A', 12: 'B', 13: 'C', 14: 'D', 15: 'E', 16: 'F', 17: 'G', 18: 'H', 19: '7',原创 2020-12-01 10:54:44 · 1491 阅读 · 0 评论 -
buu 这是什么
查看题目下载好了以后,把后缀改成txt我也不知道这些都是什么东西我在网上找了一下JSfuck编码,解码工具Run This 得到flagflag{a0448fd730b62c13ca80200c4529daa2}注意右下角那还有一个 我一开始就是没看到还以为是我找错了...原创 2020-12-01 10:54:14 · 1551 阅读 · 0 评论 -
buu rot
看题目题目名字叫rotROT是一种古典密码,左边移某位,或者右边移某位,凯撒算是ROT的一种。Rot13 加密,用python脚本将每个数字减去13后,转ASCLL字符,得到a = [83,89,78,84,45,86,96,45,115,121,110,116,136,132,132,132,108,128,117,118,134,110,123,111,110,127,108,112,124,122,108,118,128,108,131,114,127,134,108,116,124,124原创 2020-12-01 10:53:44 · 832 阅读 · 0 评论 -
buu 密码学的心声
图片中的线索很明显ASCLL码 八进制数字三个一组,转换就行了s = '111 114 157 166 145 123 145 143 165 162 151 164 171 126 145 162 171 115 165 143 150'tmp = [s.split(' ')[i] for i in range(len(s.split(' ')))]cipher = ''for i in tmp: cipher += chr(int(i,8))flag = "flag{"+ciphe.原创 2020-12-01 10:53:21 · 2612 阅读 · 0 评论 -
buu [GUET-CTF2019]BabyRSA
查看题目观察题目给的条件,给了p+q,(p+1)(q+1),e,d,以及密文C.RSA的解密公式:M=C^d mod n所以我们只要求出n即可。(n = pq)n = (p+1)(q+1) - (p+q) - 1求M的值,已知C,d,n后 用函数pow(),即可求出import libnuma = 0x1232fecb92adead91613e7d9ae5e36fe6bb765317d6ed38ad890b4073539a6231a6620584cea5730b5af83a3e80cf30原创 2020-12-01 10:52:41 · 1280 阅读 · 0 评论 -
buu 传感器
说实话我也是一点头绪没有 直接找大佬的wp大佬说这是曼彻斯特编码然后我找了一下这个编码编码原理发现啥也不是,抄脚本吧cipher='5555555595555A65556AA696AA6666666955'def iee(cipher): tmp='' for i in range(len(cipher)): a=bin(eval('0x'+cipher[i]))[2:].zfill(4) tmp=tmp+a[1]+a[3] pr.原创 2020-12-01 10:52:04 · 635 阅读 · 0 评论 -
buu RSA5
看题目m = xxxxxxxxe = 65537========== n c ==========n = 2047491889405177853330526234560188092808828447112182375404972535407247715587377884805507384334582069788664108684261248654125018396596600159134203156295356179333234164133430284799610841746636068813986原创 2020-11-30 08:47:38 · 458 阅读 · 0 评论 -
buu [GXYCTF2019]CheckIn
查看题目刚开始我以为是base64,结果解密出来一堆乱码然后又试了一下凯撒也不行那就只有试一下ROT-N了为rot -47加密:flag{Y0u_kNow_much_about_Rot}原创 2020-11-30 08:46:29 · 1402 阅读 · 0 评论 -
buu [BJDCTF 2nd]rsa0
查看题目这个很明显需要nc一下打开kali这个直接写一个简单python的脚本就好了import gmpy2a = 17864794979971570785662379545162618804766262787343692042702758269883889880586532847627739497710377379133808960631449783320988646048192570215912044938749524b = -136211411695969353402663153409原创 2020-11-30 08:45:59 · 275 阅读 · 0 评论 -
buu ras2
查看题目公开的轮子求d 这里要将破解脚本和rsa-wiener-attack的py文件放在同一个目录下import RSAwienerHackern = 10199180977755325347027675139926474013115768232925267350179215450700615843443200914199536724196252570595004625340018888465826249653470643879151507188586089755273665689956691原创 2020-11-30 08:45:29 · 274 阅读 · 0 评论 -
buu 达芬奇密码
查看题目当时第一想法这都什么东西。果断google,找到大佬的wp,发现在电影简介中会提到——斐波那契数列。达芬奇隐藏在蒙娜丽莎中的数字列:1 233 3 2584 1346269 144 5 196418 21 1597 610 377 10946 89 514229 987 8 55 6765 2178309 121393 317811 46368 4181 1 832040 2 28657 75025 34 13 17711 记录在达芬奇窗台口的神秘数字串:369688538821167255原创 2020-11-30 08:44:59 · 1772 阅读 · 0 评论 -
buu [HDCTF2019]basic rsa
下载得到一个py类型:n+e+c+p+q= m注释中就是该脚本生成的c使用脚本RSA各题型脚本\n+e+c+p+q= m直接套用脚本import randomfrom binascii import a2b_hex,b2a_hexp = 262248800182277040650192055439906580479q = 262854994239322828547925595487519915551n = p * qdef multiplicative_inversr(a,b):原创 2020-11-30 08:44:26 · 1408 阅读 · 1 评论 -
buu [AFCTF2018]Morse
查看题目很明显的一个摩斯密码,摩斯密码在线解密。得到这些东西,我是先提交了一下发现错误然后直接根据 十六进制转换文本得到afctf{1s’t_s0_345y}题目上说的很明白要flag{}提交所以最后的flag就是 flag{1s’t_s0_345y}...原创 2020-11-30 08:43:55 · 2398 阅读 · 0 评论 -
buu Cipher
查看题目这道题我也一点思路没有,看了大佬的wp知道了playfair也是一个加密方式,嗯然后找了一个在线解密playfair在线解密再把得到的这个转换为小写即可提交。原创 2020-11-30 08:43:25 · 584 阅读 · 0 评论 -
buu Dangerous RSA
查看题目类型:低加密指数攻击 e很小 n很大又不好分解脚本:RSA各题型脚本\e=2-低加密指数攻击\低加密指数攻击.py低加密指数攻击:所谓低加密指数指的就是e非常小的情况下,通常为3。这种题目通常有两种类型,一种直接爆破,另外一种是低指数广播攻击。先介绍比较简单的情况。假设e=3, e很小,但是n很大。回顾RSA加密公式: C=M^e % n (C密文,M明文)'''当M^e < n 时, C = M^e ,所以对C开方就能得到M'''from gmpy2 import原创 2020-11-30 08:42:54 · 926 阅读 · 0 评论 -
buu Unencode
查看题目UUencode在线解密直接提交即可原创 2020-11-30 08:42:23 · 432 阅读 · 0 评论 -
buu RSAroll
查看题目类型:n+e+c+p+q= m + n分解在线分解质因数分解920139713然后直接上代码import gmpy2N,p,q,e=920139713,18443,49891,19d=gmpy2.invert(e,(p-1)*(q-1))result=[]with open("D:\\pycharm\\venv\\mima\\RSAroll.txt","r") as f: for line in f.readlines(): line=line.strip原创 2020-11-27 10:00:33 · 446 阅读 · 0 评论 -
buu robomunication
查看题目一个音频文件,直接就是用Audacity听发现是摩斯密码,听完整理一下就是… . .-… .-… — .-- … .- - … … - … . -.- . -.-- … - … … -… — --- .–. -… . . .–.摩斯密码解密即可得到本明显了boopbeep是flag小写提交不行,转换大写提交。...原创 2020-11-27 10:00:03 · 801 阅读 · 0 评论 -
buu [GKCTF2020]汉字的秘密
下载后得到word,查看得到这些字符王壮 夫工 王中 王夫 由由井 井人 夫中 夫夫 井王 土土 夫由 土夫 井中 士夫 王工 王人 土由 由口夫很明显是当铺密码上脚本dh = '田口由中人工大土士王夫井羊壮'ds = '00123455567899'cip = '王壮 夫工 王中 王夫 由由井 井人 夫中 夫夫 井王 土土 夫由 土夫 井中 士夫 王工 王人 土由 由口夫's = ''for i in cip: if i in dh: s += ds[dh.index(i)] e原创 2020-11-27 09:59:32 · 850 阅读 · 0 评论 -
buu 还原大师
查看题目这个就是md5爆破python爆破脚本:# -*- coding: utf-8 -*-#!/usr/bin/env pythonimport hashlib#print hashlib.md5(s).hexdigest().upper()k = 'TASC?O3RJMV?WDJKX?ZM' #要还原的明文for i in range(26): temp1 = k.replace('?',str(chr(65+i)),1) for j in原创 2020-11-27 09:59:02 · 676 阅读 · 0 评论 -
buu RSA
查看题目类型:n+e+c+p+q= m + 公钥提取把两个文件后缀都改成txt(我是把第一个文件改成了flagenc.txt)明显pub.txt是一个公钥解析再用分解N得到q,p明显q,p是十进制的得到D写脚本import rsae= 65537n= 86934482296048119190666062003494800588905656017203025617216654058378322103517p= 285960468890451637935629440372639原创 2020-11-27 09:58:31 · 1586 阅读 · 0 评论 -
buu 异性相吸
查看题目把这两个用010打开a = '0110000101110011011000010110010001110011011000010111001101100100011000010111001101100100011000010111001101100100011000010111001101100100011000010111001101100100011000010111001101100100011000010111001101100100011000010111001101100100原创 2020-11-27 09:58:00 · 769 阅读 · 0 评论 -
buu 世上无难事
查看题目老规矩直接爆破KEY IS 640E11012805F211B0AB24FF02A1ED09flag{640E11012805F211B0AB24FF02A1ED09}原创 2020-11-27 09:57:29 · 400 阅读 · 0 评论 -
buu [BJDCTF 2nd]Y1nglish-y1ng
查看题目老规矩直接爆破BJD{pyth0n_Brut3_f0rc3_oR_quipquip_AI_Cr4cy}把最后一个字母改成kBJD{pyth0n_Brut3_f0rc3_oR_quipquip_AI_Cr4ck}原创 2020-11-27 09:57:06 · 171 阅读 · 0 评论 -
buu RSA2
查看题目类型:dp+n+e+c = m dp泄露RSA各题型脚本\dp+n+e+c = mimport gmpy2 as gpe = 65537n = 2482540078515262411777215266989018029858327661762216096122588773716205800604331015383280303052199186976436198142009306796121098855338013353484450237516704784370730555447242原创 2020-11-27 09:56:26 · 913 阅读 · 0 评论 -
buu RSA3
查看题目类型:共模n攻击from gmpy2 import invert# 欧几里得算法def egcd(a, b): if a == 0: return (b, 0, 1) else: g, y, x = egcd(b % a, a) return (g, x - (b // a) * y, y)def main(): n = 22708078815885011462462049064339185898712439277226831073457888403原创 2020-11-27 09:55:56 · 932 阅读 · 1 评论 -
buu 萌萌哒的八戒
查看题目猪圈密码对着解密即可原创 2020-11-26 19:02:26 · 254 阅读 · 0 评论 -
buu 权限获得第一步
查看题目直接md5在线解密即可得到flag原创 2020-11-26 19:01:53 · 512 阅读 · 0 评论 -
buu [BJDCTF 2nd]灵能精通-y1ng
老规矩,没后缀跟着前面加就是得到一张图片看着像是猪圈,就在网上找了找。这是猪圈加密的变形圣堂武士密码翻译即可得到flag原创 2020-11-26 19:01:20 · 160 阅读 · 0 评论 -
buu old-fashion
查看题目跟上一道题一样直接强行爆破原创 2020-11-26 19:00:49 · 324 阅读 · 0 评论 -
buu 凯撒?替换?呵呵!
MTHJ{CUBCGXGUGXWREXIPOYAOEYFIGXWRXCHTKHFCOHCFDUCGTXZOHIXOEOWMEHZO}强行爆破FLAG{ SUBSTITUTION CIPHER DECRYPTION IS ALWAYS EASY JUST LIKE A PIECE OF CAKE}得到结果即为flag,大写还是小写忘了,这是大小写转换的在线网页原创 2020-11-26 19:00:19 · 536 阅读 · 0 评论 -
buu RSA1
查看题目类型:dp+dq+p+q+c = m 已知dp dq泄露使用脚本dp+dq+p+q+c = m这个就用python来写即可p = 8637633767257008567099653486541091171320491509433615447539162437911244175885667806398411790524083553445158113502227745206205327690939504032994699902053229q = 1264067497399647276917原创 2020-11-26 18:59:24 · 1884 阅读 · 0 评论 -
buu 信息化时代的步伐
查看题目中文电码在线查询很明显了flag就是 计算机要从娃娃抓起原创 2020-11-26 18:58:54 · 356 阅读 · 0 评论 -
buu [GKCTF2020]小学生的密码学
查看题目仿射密码的代码实现 破解代码#include <iostream>#include<math.h>#include<string.h>using namespace std;//模的取逆int dx, y, q;void extend_Eulid(int aa, int bb){ if (bb == 0) { dx = 1; y = 0; q = aa; } else { extend_Eulid(bb, aa % bb);原创 2020-11-26 18:58:24 · 402 阅读 · 0 评论