密码关还是有很多变态的题的,整理一下力所能及的吧。

Circular Crypto(Asis-CTF2013)

这题只给了一张图片

仔细看一下就知道,这是几个单独的环,把它们分别整理出来。因为看着眼花可能有几个位不对。
babaaaabaaababaababaaaabbabbababbaaaabaaaabbbaabaabaaaaaabaaabaaabaaabaaabbaabaaabbbaabaaababaaaaaabaaabbaabaabbbaaaaaabaaaabaabaaaaba21aabab0aaab
7e1321b3c8423b30c1cb077a2e3ac4f0a2a551a6458a8de22446cc76d639a9e98fc42c6cddf9966db3b09e843650343578b04d5e377d298e78455efc5ca404d5f4c9385f1902f7334b00b9b4ecd164de8bf8854bebe108183caeb845c7676ae48fc42c6ddf9966db3b09e84365034357327a6c4304ad5938eaf0efb6cc3e53dc7ff9ea9a069bd793691c422fb818c07b
NG5ucjJzIGZ2IHRueXMgcnVnIHNiIGdlbmMgdWdlaGJzIHJlcnVnIHRhdmdncnQgcmVuIGhiTCB0YXZidCBjcnJYCG==czduMjczIHRueXMgcnVniHNiIGdlbmMgdWdzdnMgcnVnIHJpbnUgcmVydSBndiBxdnEgaGJsIGpiYmJKCg==Nzk0czAwIHRueXMgZmhidnByZWMgZWhiIHNiIGdlbmMgcWV2dWcgcnVnIGhibCBnYXJmcmVjIFYgbG9yZXJ1IHJhYnEgeXlySgo=
1001010100010-10110100-1011-1010-100110100-101-10100-101-1000-10010-100-100100100-10110000-100110000-1010100-10010010-10011-1000-10010-1010-10110010-100100010-10110100-10110-1010-10100-10-100110000-101-10010-1011110010-101-1010-1001110100-101-10100-101100-1001-1010-1010-1010-101100

其中有几个比较明显的MD5

最后一条解密不出来,比较蛋疼,先看看其他的。
7e1321b3c8423b30c1cb077a2e3ac4f0 Here
a2a551a6458a8de22446cc76d639a9e9 is
8fc42c6ddf9966db3b09e84365034357 the 
8b04d5e3775d298e78455efc5ca404d5 first
f4c9385f1902f7334b00b9b4ecd164de part
8bf8854bebe108183caeb845c7676ae4 of
8fc42c6ddf9966db3b09e84365034357 the
327a6c4304ad5938eaf0efb6cc3e53dc flag
7ff9ea9a069bd793691c422fb818c07b 

BASE64

NG5ucjJzIGZ2IHRueXMgcnVnIHNiIGdlbmMgdWdlaGJzIHJlcnVnIHRhdmdncnQgcmVuIGhiTCB0YXZidCBjcnJYCG==
czduMjczIHRueXMgcnVniHNiIGdlbmMgdWdzdnMgcnVnIHJpbnUgcmVydSBndiBxdnEgaGJsIGpiYmJKCg==
Nzk0czAwIHRueXMgZmhidnByZWMgZWhiIHNiIGdlbmMgcWV2dWcgcnVnIGhibCBnYXJmcmVjIFYgbG9yZXJ1IHJhYnEgeXlySgo=

解码出来是这样,简单的词频字频统计了一下,发现句子是反过来的

4nnr2s fv tnys rug sb genc ugehbs rerug tavggrt ren hbL tavbt crrX
s7n273 tnys rug sb genc ugsvs rug rinu reru gv qvq hbl jbbbJ
794s00 tnys fhbvprec ehb sb genc qevug rug hbl garfrec V loreru rabq yyrJ

好吧··我们把它翻过来,这样就可以开始解密了,因为英文不太好,最怕猜单词了,看了眼提示说是凯撒加密,这就好办多了。

Xrrc tbvat Lbh ner trggvat gurer sbhegu cneg bs gur synt vf s2rnn4
Jbbbj lbh qvq vg urer unir gur svsgu cneg bs gur synt 372n7s
Jryy qbar urerol V cerfrag lbh gur guveq cneg bs bhe cerpvbhf synt 00s497

写了个小程序把密码解出来

Keep going You are getting there fourth part of the flag is f2eaa4
Wooow you did it here have the fifth part of the flag 372a7f
Well done hereby I present you the third part of our precious flag 00f497

程序代码

#include <iostream>

using namespace std;

int main()
{
string s,ss;
int t;
getline(cin,s);
for (int x=0;x<26;x++){
ss="";
for (int i=0;i<s.length();i++){
if ('a'<=s[i] && s[i]<='z')
t=(s[i] - 'a' + x) % 26 + 'a';
else if ('A'<=s[i] && s[i]<='Z')
t=(s[i] - 'A' + x) % 26 + 'A';
else
t = s[i];
ss+=char(t);
}
cout<<ss<<endl;
}
}

再来看那一串abab的字符串,根据提示是培根密码,这就好办多了,照例写个小程序解开。

这个题目比较阴险的地方在于,他没有用常规的加密表而是用了这样的一个加密表

i和j编码相同  u和v编码相同
a AAAAA g AABBA n ABBAA t BAABA
b AAAAB h AABBB o ABBAB u-v BAABB
c AAABA i-j ABAAA p ABBBA w BABAA
d AAABB k ABAAB q ABBBB x BABAB
e AABAA l ABABA r BAAAA y BABBA
f AABAB m ABABB s BAAAB z BABBB

小程序

#include <iostream>

using namespace std;

int main()
{
string s,os;
char c;
int num,t,i,j,k,l; getline(cin,s);
i=0;
os="";
while (i<s.length()){
num=0;
t=1;
for (j=4;0<=j;j--){
k = (i+j) % s.length();
if (s[k]=='b')
num+=t;
t*=2;
}
if (8<=num && num<=19) num++;
else if (19<=num) num+=2;
os+=char(97+num);
i+=5; cout<<num<<endl;
}
cout<<os<<endl;
return 0;
}

得到明文,这里密文的结尾和开头共用一个字母。

WELL DONE HERE IS THE LAST PART c21f0d 

这样的话一共得到了这些信息,最后那个加密我也不知道咋解,writeup也没说


WELL DONE HERE IS THE LAST PART c21f0d
Keep going You are getting there fourth part of the flag is f2eaa4
Wooow you did it here have the fifth part of the flag 372a7f
Well done hereby I present you the third part of our precious flag 00f497
Here is the first part of the flag 7ff9ea9a069bd793691c422fb818c07b

根据其他几段每段6个字母的规律,开头应该是ASIS_??,写程序尝试一下得出ASIS_a9

import md5
for a in "abcdef0123456789":
for b in "abcdef0123456789":
if "7ff9ea9a069bd793691c422fb818c07b" == md5.md5('ASIS_' + a + b).hexdigest():
print 'ASIS_' + a + b
This gives us the first part of the flag: ASIS_a9!

之后wirteup使用暴力的办法,猜出了剩下的6位密码,对最后一种加密方式这里我也就不深究了。

Rookie Agent(Asis-CTF2013)

这题直接给了一大串密文,典型的频率分析加硬猜的题,做这个题的时候我的出发点错了,应该是吧空格和换行删掉再做分析,代表某个单词的字符串长度不一。

这里就不写了,写着也蛋疼。
6di16 ovhtm nzsls xqcjo 8fkdm tyrbn
g4bg9 pwu9g lefmr k4bg9 ahmfm tyr4b
g9htm 7ejcn zsbng 492cj olsxq 9glef
mrk4b g9ahm fmtyr lsxq7 ejccj o9gle
9gle8 fkdls xq8fk dhtmn zs7ej c8fkd
szxbn g4bg9 pwu7e jccjo 9gle9 gle8f
kdlsx q8fkd htmnz s6dii pufmr kipul
sxqmt yrmty ripug nslip u9gle 7ejc8
fkdgn sllsx qmtyr krwpo v4bg9 lsxq8
fkdmt yr16g nsl8f kdlsx q8fkd 6dinz
s4bg9 htmah mffmr k8fkd mtyr1 6gnsl
8fkd8 fkdpw u8fkd htmfm rkcjo elqj8
fkdnz slsxq cjo4b g9htm ahmff mrk8f
kd7ej c8fkd htmnz sbng8 fkdls xq8fk
dlsxq mtyrs zxgns l5ha1 6fmrk cjo6d
i9gle fmrk4 bg9ah mfmty rfmrk cjoel
qj8fk dnzsb ng8fk d6dib ng8fk d6die
lqj8f kdlsx q8fkd 7ejc9 glefm rk4bg
9ahmf 9gle1 6lsxq mtyrc joahm fhtm4
bg9fm rkcjo htmah mfnzs bng8f kd8fk
dhtm7 ejc16 9gle4 bg9ls xq4bg 96di8
fkd16 lsxqq xvbng cjonz s8fkd 9glef
mrk4b g9ahm fipu9 glejq vo8fk d4bg9
6di8f kd5ha ovnzs 4bg9f mrkfm rk7ej
ccjot y9gle 4bg96 dinzs mtyr4 bg9ls
xq8fk dcjol sxqls xq8fk dfmrk 8fkdp
wu4bg 9htmn zs9gl efmrk 4bg9a hmfcj
omtyr 4bg9m tyrcj omtyr ovhtm 7ejc8
fkdls xqfmr kcjoh tm8fk d4926 dib44
bg907 c6di4 9229e 707c5 ha492 38107
c6di2 705a3 49216 b43af 8381b 45a35
ha270 3af84 bg98f kd3af 83af8 5a3b4



















cryptography的更多相关文章

  1. .Net使用system.Security.Cryptography.RNGCryptoServiceProvider类与System.Random类生成随机数

    .Net中我们通常使用Random类生成随机数,在一些场景下,我却发现Random生成的随机数并不可靠,在下面的例子中我们通过循环随机生成10个随机数: ; i < ; i++) { Rando ...

  2. ECC-Elliptic Curves Cryptography,椭圆曲线密码编码学

    ECC ECC-Elliptic Curves Cryptography,椭圆曲线密码编码学,是目前已知的公钥体制中,对每比特所提供加密强度最高的一种体制.在软件注册保护方面起到很大的作用,一般的序列 ...

  3. "System.Security.Cryptography.CryptographicException: 拒绝访问" 问题的解决方法

    .net web程序使用rsa算法进行加解密时,程序报告“System.Security.Cryptography.CryptographicException: 拒绝访问”错.按网上搜的解决方法做了 ...

  4. System.Security.Cryptography.CryptographicException: 指定了无效的提供程序类型

    这两天在调用银联在线的支付接口,把银联提供的demo代码copy过来放到自己网站上,生成通过了,但是运行的时候就报错了: 指定了无效的提供程序类型. 说明: 执行当前 Web 请求期间,出现未经处理的 ...

  5. [POJ2109]Power of Cryptography

    [POJ2109]Power of Cryptography 试题描述 Current work in cryptography involves (among other things) large ...

  6. ACM: Gym 100935B Weird Cryptography - 简单的字符串处理

    Weird Cryptography Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u ...

  7. System.Security.Cryptography.CryptographicException 出现了内部错误

    调试微信支付退款时,需要使用pfx证书,在本地调试时没有问题,但在服务器部署时报异常:System.Security.Cryptography.CryptographicException 出现了内部 ...

  8. 部署时,出现用户代码未处理 System.Security.Cryptography.CryptographicException 错误解决方法

    转载:http://www.cnblogs.com/jys509/p/4499978.html 在调用RSA加密的.pfx密钥时,在本地调试没有问题,可以布署到服务器,就会报以下的错误: 用户代码未处 ...

  9. Power of Cryptography(用double的泰勒公式可行分析)

    Power of Cryptography Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onli ...

  10. 贪心 POJ 2109 Power of Cryptography

    题目地址:http://poj.org/problem?id=2109 /* 题意:k ^ n = p,求k 1. double + pow:因为double装得下p,k = pow (p, 1 / ...

随机推荐

  1. Java--再次理解多态

    Java中多态性(polymorphism)的实现 什么是多态 1. 面向对象的三大特性:封装.继承.多态.从一定角度来看,封装和继承几乎都是为多态而准备的.这是我们最后一个概念,也是最重要的知识点. ...

  2. USACO Party Lamps 【Binary code solvution】【规律】

    写这道题目的时候遇到了一个令人诧异的问题,就是平台上跑来的结果和我本机跑起来的结果不一样. 后来Debug了之后才发现是我数组开小了,只开到100 的数组竟然都去访问他170位的地址肯定要跪成翔啊.. ...

  3. linux学习: sudo命令(ubuntu)

    使用 sudo 命令可以提高命令的执行权限,以root权限执行 如 :  sudo vi xxx 但是有些内置命令 如 cd 无法通过 sudo来执行 ,如  sudo cd xxx 这是会报错的. ...

  4. 给centOs添加epel源

    epel简介: https://fedoraproject.org/wiki/EPEL/zh-cn 1. rpm -Uvh http://dl.fedoraproject.org/pub/epel/5 ...

  5. 制作Linux(Fedora、Ubuntu、CentOS)优盘启动

    随着嵌入式技术的快速发展,Linux快速发展过一段时间.虽然现在不是很热,但是linux在现实社会的使用还是很有用处.而光盘有有些落伍,不仅浪费而且不环保,所以质优价廉的优盘就脱颖而出.所以,用优盘制 ...

  6. [置顶] 深入ResourceBundle

    ResourceBundle是java开发中非常实用的一个类,主要用来处理应用程序多语言这样的国际化问题. 如果你的应用程序如果有国际化的需求,可以考虑使用ResourceBundle, 你要做的就是 ...

  7. AIDL使用详解

    一.对AIDL进行说明 AIDL允许定义一个编程的接口来作为客户端和服务端通信的桥梁,AIDL定义了客户端和服务端的编程标准,在Android里边一个进程无法直接访问另一个进程的内存信息,但是要访问的 ...

  8. nginx提示:500 Internal Server Error错误的解决方法

    现在越来越多的站点开始用 Nginx ,("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 ...

  9. 基于visual Studio2013解决算法导论之010快排中应用插入排序

     题目 快排中引用插入排序 解决代码及点评 #include <stdio.h> #include <stdlib.h> #include <malloc.h> ...

  10. php 使用curl发起https请求

    今天一个同事反映,使用curl发起https请求的时候报错:“SSL certificate problem, verify that the CA cert is OK. Details: erro ...