趣味隐写术与密码术(现代密码学教程)

实验吧密码学WriteUp三)

大家好,又见面了,我是你们的朋友全栈君。

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               
       

1.兔子你好(http://www.shiyanbar.com/ctf/1815
兔子即为rabbit,按照提示rabbit解码即可

2.凯撒和某某加密 (http://www.shiyanbar.com/ctf/1822
凯撒的话平时碰到的都是跟着字母表移位的,这里也没有多少字母,自然想到根据ascii来移位,可是移几位呢,要知道最后的格式中一定有{,},f,l,a,g等,于是就试着看看移动多少位能得到这些,或者也可以用pyhton跑,脚本如下:

– coding:utf-8 –

import string

def foo():
    s=”aZZg/x\ZbavpZiEZp+n)o+”
    #ascii码表中可打印的字符
    a=string.maketrans(”, ”)[33:127]
    for n in xrange(0,26):
        b=a[n:]+a[:n]
        table=string.maketrans(a,b)
        print string.translate(s,table)
    pass

if name == ‘main‘:
    foo()
    print ‘ok’
得到了其中最像的结果:f__l4}a_gf{u_nJ_u0s.t0 
用脚指头想想都知道是栅栏加密
解密即可

3.一串奇怪的数(http://www.shiyanbar.com/ctf/1824
(引用pcat,侵删)
 这题有提供加密程序,其实看懂后,最关键的是加密密码,如果不知道,就坑爹了,除非暴力破解匹配结果是否存在密钥的格式,鉴于这题密码为空,我就提供下面的python代码(如果觉得非要暴力破密码,自己加个循环读取密码字典之类,再判断结果是否符合密钥格式即可),程序理解不难,我就不赘述了。题目给出的密文解出来是4组密钥(附带4个\n),提交最后一组密钥即可。

– coding: utf8 –

import hashlib

def md5(s):
    return hashlib.md5(s).hexdigest()

def evalCrossTotal(strMd5):
    r = 0
    for i in strMd5:
        r += int(“0x%s” % i, 16)
    return r

def encryptString(strString, strPasswd):
    strPasswdMd5 = md5(strPasswd)
    intMd5       = evalCrossTotal(strPasswdMd5)
    r = []
    for i in range(len(strString)):
        r.append(ord(strString[i]) + int(“0x%s” % strPasswdMd5[i%32], 16) – intMd5)
        intMd5 = evalCrossTotal(md5(strString[:(i+1)])[:16] + md5(str(intMd5))[:16])
    return ” “.join(map(lambda x: str(x), r))

以下就是自己写的

def decryptString(nList,strPasswd):
    strPasswdMd5 = md5(strPasswd)
    intMd5       = evalCrossTotal(strPasswdMd5)
    r = “”
    for i in range(len(nList)):
        r+=chr(nList[i] – int(“0x%s” % strPasswdMd5[i%32], 16) + intMd5)
        intMd5 = evalCrossTotal(md5(r[:(i+1)])[:16] + md5(str(intMd5))[:16])
    return r

def foo():
    s=”-149 -234 -157 -132 -187 -140 -157 -241 -158 -177 -85 -215 -180 -187 -173 -218 -161 -183 -133 -226 -136 -171 -126 -169 -155 -96 -169 -240 -163 -153 -137 -111 -123 -191 -151 -213 -151 -142 -152 -208 -118 -137 -136 -244 -157 -168 -187 -201 -170 -176 -192 -209 -205 -174 -163 -189 -126 -133 -148 -194 -145 -212 -170 -155 -148 -165 -167 -206 -171 -177 -88 -173 -125 -129 -129 -235 -121 -190 -161 -165”
    nList=eval(‘[%s]’ %s.replace(’ ‘,’,’))
    strPasswd=” #密码为空
    print decryptString(nList,strPasswd)

if name == ‘main‘:
    foo()
    print “ok”
    pass

4.Play(http://www.shiyanbar.com/ctf/1825

play的加密方式,百度可得playfair,依照百科中playfair的定义,先构造5*5密码表,

s   n   f   m   t
h   b   g   o   u
i   c   j   p   v
y   d   k   q   w
a   e   l   r   x
如何构造?
先填充给出的密钥,后面再填充其他没出现过的字符,最后丢弃频率低的(一般是z)

把密文KQSAMFPAOPMFPA两两分组

kq sa mf pa op mf pa

按照playfair的解密方法,得到结果

5.RSA实践(http://www.shiyanbar.com/ctf/1828
工具RSA-Tool 2 by tE!

这里写图片描述

6.Decode(http://www.shiyanbar.com/ctf/1831
Decode,肯定是运用各种编码解码

0x标识表明这是十六进制编码,解码得到一串百分号打头的编码:

这是URL编码,解码,得到:

.xCjEwOQoxMDEKMTE2CjExMQoxMTUKMTA0CjEwNQoxMjEKOTcKMTEwCjk4Cjk3CjExNA==

串尾后面的==号很明显地暴露了这是Base64,再次解码一系列数字,这是ASCII码,解码得到flag
加上flag格式后就可以提交了ctf{welc??????????????}

7.敌军情报(http://www.shiyanbar.com/ctf/1858
数字联想到奥ASCII码值对应成字符,得到“-.-. – ..-. .- ”

解密摩斯电码即可

8.奇妙的音乐(http://www.shiyanbar.com/ctf/1862
海伦凯勒可以猜到图片下方是盲文,解码得到.zip的解压密码
将音频拖入Audicity,可以看到波形是摩斯
解密即可

9.困在栅栏里的凯撒(http://www.shiyanbar.com/ctf/1867
 题目提示,那肯定涉及到栅栏密码和凯撒密码,

栅栏:首先分栏
12位只能是2*6或6*2,根据题意6,所以分6栏,结果为NEQ{etIYdsf}

然后用凯撒解密即可

10.古典密码(http://www.shiyanbar.com/ctf/1870
将Ascii码转换为字母,得到OCU{CFTELXOUYDECTNGAHOHRNFIENM}IOTA
再尝试栅栏(准确说,是类似栅栏的思想)
35=7*5
OCU{CFT
ELXOUYD
ECTNGAH
OHRNFIE
NM}IOTA
根据flag的格式CTF..来调整
得到
CTF{COU
LDYOUEX
CHANGET
HEINFOR
MATION}

CTF{COULDYOUEXCHANGETHEINFORMATION}

           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

这里写图片描述
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/129653.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mac录屏怎么减小文件大小_血小板体积低怎么回事

    mac录屏怎么减小文件大小_血小板体积低怎么回事有Mac录屏的需求,Mac自带的录屏软件挺好用的。就是默认帧率高达60fps,文件体积比较大。文件是.mov格式不通用。我平时录屏的内容就是演示一些软件的基本操作发送给客户,通常是临时录制(非正式),能看就行了,不需要过高的帧率。录屏文件过大反而影响qq发送。解决方案:全屏录制用EV录屏选区录制用Mac自带的QuickTimePlayer录制,录制完进行格式转换EV录屏https://www.ieway.cn/evcapture.html这个软件挺好用的,我在Windows下就

    2022年9月25日
    4
  • declare-styleable使用

    declare-styleable使用declare-styleable是给自定义控件添加自定义属性用的attr中在attrs.xml中设置declare-styleable,name是PersonAttr<?xmlversion=”1.0″encoding=”utf-8″?><resources><declare-styleablename=”PersonAttr”><attrname=”name”format=”reference”/&gt

    2022年7月13日
    15
  • MT5和MT4交易软件有什么区别?

    MT5和MT4交易软件有什么区别?很多人说MT5从字面上看是MT4的升级版,但实际上MT5并不是MT4的升级版,各是各。(这是他们官方说的不是升级版。)MT4与MT5的系统区别1、最大的区别在于,MT5无锁仓功能,而MT4有锁仓功能2、MT4和MT5的指标脚本EA,依然兼容性很差,可以理解为2个独立的东西,只是语法上有很多类似的3、MT5增加了更多的周期,满足更多不同的需要4、历史数据加载不同:MT4采用hst,每个周期…

    2022年5月7日
    144
  • 永恒之蓝病毒win7解决方法_win10永恒之蓝漏洞补丁

    永恒之蓝病毒win7解决方法_win10永恒之蓝漏洞补丁简介:NSA武器库的公开被称为是网络世界“核弹危机”,其中有十款影响Windows个人用户的黑客工具,包括永恒之蓝、永恒王者、永恒浪漫、永恒协作、翡翠纤维、古怪地鼠、爱斯基摩卷、文雅学者、日食之翼和尊重审查。这些工具能够远程攻破全球约70%的Windows系统,无需用户任何操作,只要联网就可以入侵电脑,就像冲击波、震荡波等著名蠕虫一样可以瞬间血洗互联网,木马黑产很可能改造NSA的武器…

    2022年10月16日
    2
  • rcnn算法详解_rcnn目标检测

    rcnn算法详解_rcnn目标检测这是一篇比较早的ObjectDetection算法,发表在2014年的CVPR,也是R-CNN系列算法的开山之作,网上可以搜到很多相关的博客讲解,本篇博文没有按论文顺序来讲述,而是结合自己经验来看这个算法,希望给初学者一个直观的感受,细节方面不需要太纠结,因为很多部分在后来的算法中都改进了。论文:Richfeaturehierarchiesforaccurateobjectdetect

    2022年9月8日
    3
  • 带有机器人框架的.NET自己主动化測试

    带有机器人框架的.NET自己主动化測试

    2021年12月9日
    44

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号