文章目录

  • 前言
  • 一:一眼就解密 base64 SElTX1NUUklOR30=
  • 二:看我回旋踢 synt{:凯撒密码
  • 三:password
  • 四:变异凯撒 ASCII
  • 五:Quoted-printable =E9=82=A3
  • 六 Rabbit加密 U2FsdGVkX1/
  • 七:篱笆墙的影子:栅栏加密
  • 八:RSA
  • 九:丢失的MD5 unicode
  • 十:Alice与Bob素数分解 使用yafu工具,md5
  • 十一:rsarsa
  • 十二:凯撒大帝
  • 十三:windows系统密码 md5加密 :::
  • 十四:信息化时代下的步伐 数字转中文
  • 十五:传统知识+古典密码 栅栏密码与凯撒密码 辛卯,癸巳,丙戌,辛未,庚辰,癸酉,己卯,癸巳。
  • 十六:凯撒?替换?呵呵 暴力破解网站
  • 十七 猪圈密码
  • 十八:RSA1
    • 欧拉函数
    • 欧拉定理
    • 模反元素
    • RSA算法
  • 十九:old fashion 爆破工具
  • 二十 js表情包转换
  • 二十一:Cipher
  • 二十二:摩斯密码01版
  • 二十三 HEX密码 666c61677b57336c63306d655f54305f4354467d
  • 二十四 base family
  • 二十三 HEX密码 666c61677b57336c63306d655f54305f4354467d
  • 二十四 base family

前言

并非完全的原创,有些是参考了网上的wp,在这里做个整理,如果侵权可以私信联系。

一:一眼就解密 base64 SElTX1NUUklOR30=

ZmxhZ3tUSEVfRkxBR19PRl9USElTX1NUUklOR30=

有等于号是bace64的特征

CTF在线工具-在线base编码|在线base解码|base16编码|base32编码|base64编码 (hiencode.com)

二:看我回旋踢 synt{:凯撒密码

密码:synt{5pq1004q-86n5-46q8-o720-oro5on0417r1}

此为凯撒密码,网址为:

凯撒密码在线计算-ME2在线工具 (metools.info)

为什么加密位移为13:一个个试出来,如果显示为flag,则加密位移为13

三:password

这个题目简直有毒,但是看题解分析密码有十个,张三19900315正好十个数字

flag{zs19900315}

四:变异凯撒 ASCII

在密码学中,恺撒密码(英语:Caesar cipher),或称恺撒加密、恺撒变换、变换加密,是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。

前三个字母afZ_对应flag,而凯撒密码也意味着字母的对应是符合顺序规律的

我们查看ASCII表

a:97 f:102 Z:90 _:95

f:102 l:108 a:97 g:103

分别相差:5 6 7 8

afZ_r9VYfScOeO_UL^RWUc

写出脚本

ciphertext = 'afZ_r9VYfScOeO_UL^RWUc'
j = 5
for i in ciphertext:print(chr(ord(i) + j), end='')j += 1

最后求出flag:flag{Caesar_variation}

五:Quoted-printable =E9=82=A3

打开看到是这个样子

网络管理员在线工具 - Quoted-Printable (mxcz.net)

六 Rabbit加密 U2FsdGVkX1/

Rabbit加密-Rabbit解密-在线Rabbit加密解密工具 (jsons.cn)

七:篱笆墙的影子:栅栏加密

felhaagv{ewtehtehfilnakgw}

栅栏密码在线加密解密 - 千千秀字 (qqxiuzi.cn)

每组数字为2加密后:

flag{wethinkwehavetheflag}

暴力破解

栅栏密码(Rail-fence Cipher)就是把要加密的明文分成N个一组,然后把每组的第1个字符组合,每组第2个字符组合…每组的第N(最后一个分组可能不足N个)个字符组合,最后把他们全部连接起来就是密文,这里以2栏栅栏加密为例。

felhaagv{ewtehtehfilnakgw}

flag,f与l之间有一个字母,所以栅栏数目为2,我们直接分离后变成

flag{wethinkw

ehavetheflag}

八:RSA

此题主要了解RSA如何使用

打开RSAtools,输入的e要转换为16进制,输入R和Q并按CAL.D即可得到D

flag{125631357777427553}

九:丢失的MD5 unicode

打开来发现是python代码

我们把语法修正一下

import hashlib
for i in range(32,127):for j in range(32,127):for k in range(32,127):m=hashlib.md5()m.update('TASC'+chr(i)+'O3RJMV'+chr(j)+'WDJKX'+chr(k)+'ZM')des=m.hexdigest()if 'e9032' in des and 'da' in des and '911513' in des:print(des)

运行后发现报错

就是在使用hashing之前需要对unicode进行编码

将字符转化为utf-8即可

import hashlib
for i in range(32,127):for j in range(32,127):for k in range(32,127):m=hashlib.md5()m.update('TASC'.encode('utf-8')+chr(i).encode('utf-8')+'O3RJMV'.encode('utf-8')+chr(j).encode('utf-8')+'WDJKX'.encode('utf-8')+chr(k).encode('utf-8')+'ZM'.encode('utf-8'))des=m.hexdigest()if 'e9032' in des and 'da' in des and '911513' in des:print(des)

十:Alice与Bob素数分解 使用yafu工具,md5

题目描述

使用指令

下一步:md5的32位小写hash,意思是进行md5加密且选择32位的那一个

网站

md5在线解密破解,md5解密加密 (cmd5.com)

101999 966233

直接输入即可,不需要选择类型

十一:rsarsa

题目描述:

一般情况下都是选择十进制,rsa工具要求出D

得到D,一定要黏贴完成

56632047571190660567520341028861194862411428416862507034762587229995138605649836960220619903456392752115943299335385163216233744624623848874235303309636393446736347238627793022725260986466957974753004129210680401432377444984195145009801967391196615524488853620232925992387563270746297909112117451398527453977

给出了C,说明需要用到python的快速求幂取模运算

p=9648423029010515676590551740010426534945737639235739800643989352039852507298491399561035009163427050370107570733633350911691280297777160200625281665378483
q=11874843837980297032092405848653656852760910154543380907650040190704283358909208578251063047732443992230647903887510065547947313543299303261986053486569407
n=p*q
C=83208298995174604174773590298203639360540024871256126892889661345742403314929861939100492666605647316646576486526217457006376842280869728581726746401583705899941768214138742259689334840735633553053887641847651173776251820293087212885670180367406807406765923638973161375817392737747832762751690104423869019034
d=566320475711906605675203410288611948624114284168625070347625872299951386056498369602206199034563927521159432993353851632162337446246238488742353033096363934467363472386277930227252609864669579747530041292106804014323774449841951450098019673911966155
M=pow(C,d,n)
print(M)

最后得到

5577446633554466577768879988

十二:凯撒大帝

看题目意思是用凯撒解密将FRPHEVGL解密后会得到一个我们熟悉的单词,然后同解密的方式加密ComeChina可以得到flag

然后脑袋想想估计不会是很复杂的偏移,直接拖到网站好了

一个个解密在偏移量到13的时候出现单词SECURITY,觉得就是他了,然后把comeChina进行加密得到flag

十三:windows系统密码 md5加密 :::

Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::

密码是:与:::之间,windows密码一般是md5加密

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fmQYgJa6-1649124329248)(https://raw.githubusercontent.com/lllwky/botany/main/img/image-20220331235441007.png)]

每个密码都试一下得到flag

十四:信息化时代下的步伐 数字转中文

数字转中文使用中文电码工具

中文电码查询 Chinese Commercial Code - 标准电报码免费在线查询|姓名电码|美国签证电码 (mcdvisa.com)

十五:传统知识+古典密码 栅栏密码与凯撒密码 辛卯,癸巳,丙戌,辛未,庚辰,癸酉,己卯,癸巳。

题目描述

2830230817101630+60即每个数字都加60

88 90 83 68 77 70 76 90

两个数字对应一个字母,想到ASCII表

查表可得 X Z S D M F L Z

古典加密一般为栅栏密码与凯撒密码,都丢进去试试

不知道为什么上一个栅栏密码解答和网络上的题解不太一样

CTF在线工具-在线栅栏密码加密|在线栅栏密码解密|栅栏密码算法|Railfence Cipher (hiencode.com)

这个题目天干地支都是以2计数,所以栅栏密码为2

然后再丢到凯撒密码一个个试

flag{SHUANGYU}

记住是大写且要包上flag

十六:凯撒?替换?呵呵 暴力破解网站

这个题目与好野蛮

MTHJ{CUBCGXGUGXWREXIPOYAOEYFIGXWRXCHTKHFCOHCFDUCGTXZOHIXOEOWMEHZO}

来个暴力破解网站喽

quipqiup - cryptoquip and cryptogram solver

选择第一个去掉空格就是flag

flag{substitutioncipherdecryptionisalwayseasyjustlikeapieceofcake}

十七 猪圈密码

题目描述:

打开发现是一张图片

CTF在线工具-在线猪圈密码加密|在线猪圈密码解密|猪圈密码算法|Pigpen Cipher (hiencode.com)

真是可爱的一道题啊

十八:RSA1

RSA算法原理 - 知乎 (zhihu.com)

之前只是学会了如何使用工具,这题开始认真学会RSA算法

互质关系:如果两个正整数,除了1以外,没有其他公因子,则称他们为互质关系

欧拉函数

任意给定正整数n,在小于等于n的正整数之中,有多少个与n构成互质关系,用 φ(n)表示

若n为质数,φ(n)=n-1。

若n是指数的某一次方即n=pk,则φ(pk)=pk-p(k-1)

若n=pq(两个质数)

则φ(n)=φ(pq)=φ§φ(q)

欧拉定理

如果两个正整数a和n互质,则a的φ(n)次方-1可以被n整除。

模反元素

如果a与n互为质数,则一定可以找到整数d使得pd-1能被n整除

记作da=1(mod n)

RSA算法

1:随机选取两个不相等的质数p和q

2:计算p与q的乘积n

3:计算n的欧拉函数φ(n)

4:随机选取整数e,e与φ(n)互质

5:计算出e对于φ(n)的模反元素d

题目如下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aZoq0ceo-1649124329261)(https://raw.githubusercontent.com/lllwky/botany/main/img/image-20220401163349449.png)]

p = 8637633767257008567099653486541091171320491509433615447539162437911244175885667806398411790524083553445158113502227745206205327690939504032994699902053229
q = 12640674973996472769176047937170883420927050821480010581593137135372473880595613737337630629752577346147039284030082593490776630572584959954205336880228469
dp = 6500795702216834621109042351193261530650043841056252930930949663358625016881832840728066026150264693076109354874099841380454881716097778307268116910582929
dq = 783472263673553449019532580386470672380574033551303889137911760438881683674556098098256795673512201963002175438762767516968043599582527539160811120550041
c = 24722305403887382073567316467649080662631552905960229399079107995602154418176056335800638887527614164073530437657085079676157350205351945222989351316076486573599576041978339872265925062764318536089007310270278526159678937431903862892400747915525118983959970607934142974736675784325993445942031372107342103852import gmpy2
d = gmpy2.invert(q,p)
mp = pow(c,dp,p)
mq = pow(c,dq,q)               #求幂取模运算m = (((mp-mq)*d)%p)*q+mq       #求明文公式print(hex(m))          #转为十六进制

如果c与p互为质数,则一定可以找到整数d使得dp-1能被c整除

记作da=1(mod n)

最后的结果

再十六进制转文本

16进制转换,16进制转换文本字符串,在线16进制转换 | 在线工具 (sojson.com)

noxCTF{W31c0m3_70_Ch1n470wn}将noxCTF转换为flag{}

十九:old fashion 爆破工具

不会的统一用爆破工具吧

quipqiup - cryptoquip and cryptogram solver

二十 js表情包转换

打开文件发现

进入转换网站

aaencode - Encode any JavaScript program to Japanese style emoticons (_) (utf-8.jp)

按F12打开控制台

然后输出即可得到flag

二十一:Cipher

打开破解网站

Playfair Cipher (rumkin.com)

密钥根据题目公平的玩吧,是playfair

flag{itisqstaproblegmavefip}

(要把大写改为小写)

二十二:摩斯密码01版

这题的题目找不到了,那就直接上代码吧

s = '0010 0100 01 110 1111011 11 11111 010 000 0 001101 1010 111 100 0 001101 01111 000 001101 00 10 1 0 010 0 000 1 01111 10 11110 101011 1111101'
b=s.replace('0', '.')
print(b.replace('1','-'))

然后再用网站进行破解

二十三 HEX密码 666c61677b57336c63306d655f54305f4354467d

与base64很像但是没有=所以为hex

Hex编码/解码-在线工具 (toolbaba.cn)

二十四 base family

最后发现是base91

BASE91编码解码 - Bugku CTF

得到base64再进入base64进行解密

解密工具集合

在线工具 - Bugku CTF

int(b.replace(‘1’,‘-’))

然后再用网站进行破解

二十三 HEX密码 666c61677b57336c63306d655f54305f4354467d

与base64很像但是没有=所以为hex

Hex编码/解码-在线工具 (toolbaba.cn)

二十四 base family

最后发现是base91

BASE91编码解码 - Bugku CTF

得到base64再进入base64进行解密

解密工具集合

在线工具 - Bugku CTF

一些Crypto的基础题相关推荐

  1. 某次ctf 中crypto的基础题

    文章目录 一.题目描述 二.解题分析 1.分析过程 2.还原加密 总结 一.题目描述 打开题目链接文件,一看妥妥的python代码,最后一行print函数后面注释了一串字符串: ]$^<[< ...

  2. python代码基础题-python第一部分基础题1-80题

    各位Python的第一部分1-80道基础题已经整理好了,希望面试的时候能用的上. 1.为什么学习Python? Python是目前市面上,我个人认为是最简洁.最优雅.最有前途.最全能的编程语言,没有之 ...

  3. python代码基础题-python每日经典算法题5(基础题)+1(中难题)

    现在,越来越多的公司面试以及考验面试对算法要求都提高了一个层次,从现在,我讲每日抽出时间进行5+1算法题讲解,5是指基础题,1是指1道中等偏难.希望能够让大家熟练掌握python的语法结构已经一些高级 ...

  4. linux面试题-基础题1

    linux面试题-基础题1 第1章 基础题1 1.1 在装系统创建Linux分区时,一般至少需要创建两个分区( ) A.FAT.NTFS   B. /usr.swap    C. /boot.swap ...

  5. 思科面试题c语言,C语言面试题~总汇(基础题、嵌入式、微软、华为、思科……).doc...

    | 基本C语言基础题 1 ? .? 用预处理指令#define? 声明一个常数,用以表明1 年中有多少秒(忽略闰年问题)? #define? SECONDS_PER_YEAR ? (60 ? *? 6 ...

  6. 微型计算机最早提出于,计算机基础题1、世界上第一台电子计算机诞生于A)1943年B-查字典问答网...

    计算机基础题 1.世界上第一台电子计算机诞生于 A)1943年B)1946年 C)1945年D)1949年 2.世界上公认的第一台电子计算机的逻辑元件是 A)继电器B)晶体管 C)电子管D)集成电路 ...

  7. python基础题面试_python常见面试题

    面试自动化会遇到的面试题,分享一波,就不排版了,多多见谅. 先上几道编程题 001 求数值以内的质数,合数及个数 #质数 defzhishu(number): num=0for i in range( ...

  8. [基础题] * 9.(*)设计一个Student接口,以一维数组存储一个班级的学生姓名。

    /*[基础题]  * 9.(*)设计一个Student接口,以一维数组存储一个班级的学生姓名.  * 该接口中有一个抽象方法getStudentName().  * 设计一个类Union,该类实现接口 ...

  9. Jam's balance HDU - 5616 (01背包基础题)

    Jim has a balance and N weights. (1≤N≤20) The balance can only tell whether things on different side ...

最新文章

  1. python:自动化测试 playwright 库上传和下载
  2. 皮一皮:晚上千万千万别乱拍照...
  3. python3基础语法-Python3的一些基础语法介绍和理解
  4. 判断图有无环_【转】判断一个图是否有环 无向图 有向图
  5. MAC OS 修改环境变量
  6. 【转载】Oracle关于expdp、impdp以及rman介绍
  7. sqliteman安装错误
  8. PHP语言面对对象编程之继承
  9. cp正在写入文件导致文件内容不一致
  10. 20余年互联网沉浮史:剩者为王
  11. 练习时长两年半的Matlab
  12. 计算机考证忘记密码了怎么办,计算机忘记开机密码怎么办?
  13. 软件开发过程与项目管理
  14. 我用 140 行代码,带你看一场流星雨⭐
  15. 两位共阳极数码管c语言,89c51驱动两位共阳极数码管倒计时显示程序,60秒到30秒能实现,但从30秒到90秒不能实现,请高手帮忙!...
  16. python编写年金终值函数_财码Python管理会计小实验—投融资管理之货币时间价值...
  17. ICO和区块链的关系
  18. 【C进阶】之动态内存分配及内存操作函数
  19. 京东 ChubaoFS 分布式文件系统分析
  20. RGB转换HSL,HSV及切割车牌

热门文章

  1. Vue中如何设置在执行删除等危险操作时给用户提示(二次确认后执行对应的操作)
  2. 如何实现六轴机械臂的逆解计算?
  3. 小程序学习 - 01小程序简介+微信小程序基础
  4. vue - 练手项目:简易商城
  5. 简单的 Java 导出 Excel 表格 小例子《一抹茶CSDN》
  6. 谭浩强C程序设计(第五版)
  7. 精神病性疾患的精准精神病学框架
  8. Newman介绍与安装
  9. 【202211】国内镜像源地址
  10. php周未班培训,SEO培训周末班招生简章