密码学实验教程(科学实验课)

实验吧密码学WriteUp一)

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

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

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

               
       

这个系列的文章会将简单的题目放在一起介绍,稍难的题目会单独拿出来写,现在开始。
1.js(题目连接:http://www.shiyanbar.com/ctf/1779
打开网页查看源码,复制源码至Chrome的console,将代码中的eval改为console.log,回车后显示
这里写图片描述
一看就知道是unicode编码,找网站在线解码即可
这里写图片描述

2.NSCTF crypto200(连接:http://www.shiyanbar.com/ctf/1768
保存图片至本地,使用stegsolve打开
这里写图片描述
变换后得到
这里写图片描述
很像二维码是吧?不过这个二维码的黑白颜色完全相反,是扫不出来的,可以使用光影魔术手或者其他软件的反色功能,得到如下二维码,然后扫描即可得到flag
这里写图片描述

3.NSCTF crypto50(链接:http://www.shiyanbar.com/ctf/1758
题目做多了就有感觉了一看就知道是AES加密,故在线AES解密

这里写图片描述
直接提交,答案错误
仔细观察,感觉可能用了凯撒移位
前5个字母按照flag的规律应是NSCTF,由此得到移位数
手工破解即可flag{NSCTF_Rot_EnCryption}

4.黑客叔叔(雨袭团)内部交流题(第一季1.0.2)(题目链接:http://www.shiyanbar.com/ctf/1744
先将字符放在同一行,因为编码里很少会出现汉字,故尝试将“等等”变化为”==”,汉字变化为“/”
使用TripleDes解密
这里写图片描述
接着Rabbit解密
这里写图片描述
(我也不知道为什么是这两个算法,多尝试几次看答案像的就是了,常见加密算法有AES DES RC4 Rabbit TripleDes 等等)

5.simple algorithm(题目链接:http://www.shiyanbar.com/ctf/737
题目给了一个py脚本和一个密文文件,阅读源码可知:py脚本将明文转换为密文,现在需要将密文文件中的密文解密得到明文。 很明显加密流程为将明文转换为16进制编码,在转化为10进制数,将每两位数字构成的数进行FAN函数运算,再拼接起来得到密文。 
因此解密流程为:将0~99利用FAN函数求得加密值,建立加密值到原数的字典,在明文中查字典拼接得到10进制数,转化为16进制数,再求取字符串。 
按照要求用python脚本跑即可

– coding: utf8 –

原代码中的FAN()

def FAN(n, m):
    i = 0
    z = []
    s = 0
    while n > 0:
        if n % 2 != 0:
            z.append(2 – (n % 4))
        else:
            z.append(0)
        n = (n – z[i])/2
        i = i + 1
    z = z[::-1]
    l = len(z)
    for i in range(0, l):
        s += z[i] * m ** (l – 1 – i)
    return s

def foo():
    #读取密文
    s=open(“enc.txt”).read().strip()

#构造0~99对应的FAN()的值的字典dct={}for n in xrange(0,100):    #key为FAN()的结果,value为n(位数补足到2位)    dct[str((FAN(n,m=3)))]="%02d"%nlst=[]offset=0while offset<len(s):    #先从4个字符匹配直至1个字符    for i in xrange(4,0,-1):        tmp=s[offset:offset+i]        if tmp in dct:            lst.append(dct[tmp])            offset+=i            breakflag="".join(lst)#python中s[i:i+2]不一定取到2个字符,#如s="pcat",s[3:4]和s[3:5],甚至s[3:100]都是"t"#此题中最后得到"09",但也可能是"9",故做下面的判断if len(hex(long(flag))[2:-1])%2!=0:    flag=flag[:-2]+flag[-1]flag=hex(long(flag))[2:-1].decode('hex')print flagpass
  
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

if name == ‘main‘:
    foo()
    print ‘ok’

flag:SIS{a9ab115c488a311896dac4e8bc20a6d7}

6.密文 rot13(连接:http://www.shiyanbar.com/ctf/728
直接rot13解码就行
这里写图片描述

7.keyboard(链接:http://www.shiyanbar.com/ctf/61
提示键盘了,按照给出的字母顺序在键盘上画出字母的形状,就是答案

8.凯撒是罗马共和国杰出的军事统帅(连接:http://www.shiyanbar.com/ctf/40
按照提示,直接诶凯撒解密即可

9.摩擦摩擦(链接:http://www.shiyanbar.com/ctf/39
直接摩斯解密

10.最近听说刘翔离婚了(链接:http://www.shiyanbar.com/ctf/38
栅栏密码
其实写多了,套路就知道了
肯定是keyis{simplexue}

           

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

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/129691.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • SD卡 MMC卡 MS卡 TF卡

    SD卡 MMC卡 MS卡 TF卡SD卡(SecureDigitalMemoryCard)中文翻译为安全数码卡,是一种基于半导体快闪记忆器的新一代记忆设备。SD卡由日本松下、东芝及美国SanDisk公司于1999年8月共同开发研制。SD卡在24mm×32mm×2.1mm的体积内结合了SanDisk快闪记忆卡控制与MLC(MultilevelCell)技术和Toshiba(东芝)0.16u及0.13u的NAND技术,通过9针…

  • Oracle partitions 简介

    Oracle partitions 简介基于Oracle11.2.04分区表的概念当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。表进行分区后,逻辑上仍然是一张完整的表,只是将表中的数据在物理上存放到多个表空间(物理文件上),这样查询数据时,不至于每次都扫描整张表。分区表的优点改善查询性能:对分区对象的查询可以公搜索自己关心的分区,提高检索速度。增强可用性:如果表的某个分区…

  • 国密sm4加密算法

    国密sm4加密算法国密sm4加解密算法工具类,可用于生产环境packagecom.example.demo.endecryption.utils;importorg.apache.commons.codec.binary.Base64;importorg.bouncycastle.jce.provider.BouncyCastleProvider;importjavax.crypto.BadPa…

  • 【DeepLearning学习笔记】Neurons神经元

    【DeepLearning学习笔记】Neurons神经元今天找到一个比较好的deeplearning的教材:NeuralNetworksandDeepLearning对神经网络有详细的讲解,鉴于自己青年痴呆,还是总结下笔记吧=。=Perceptr

  • Python——极客战记codecombat关卡代码

    kithgard地牢地牢深藏的宝石幽灵守卫真实姓名高举之剑焰中舞动KITHMAZE二度历险老对手名称大师矮人之乱KITHMAZE最终历险KithGard之门边地森林平原森林保卫战羊肠小道林地小屋if的盛宴背靠背森林劈斩者边地僵局测距仪发狂的矮人跃火林中乡村漫游者边地之叉交给劈斩者友人和敌人巫师之门未知的距离金币屑返回荆棘农场…

  • 44h11资料_acwing是什么

    44h11资料_acwing是什么原题链接给定 N 个正整数 A1,A2,…,AN,从中选出若干个数,使它们的和为 M,求有多少种选择方案。输入格式第一行包含两个整数 N 和 M。第二行包含 N 个整数,表示 A1,A2,…,AN。输出格式包含一个整数,表示可选方案数。数据范围1≤N≤100,1≤M≤10000,1≤Ai≤1000输入样例:4 41 1 2 2输出样例:3#include<bits/stdc++.h>using namespace std;const int M = 1e4

发表回复

您的电子邮箱地址不会被公开。

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