聪明的小羊

一只小羊跳过了栅栏,两只小样跳过了栅栏,一坨小羊跳过了栅栏...

tn cjtfsiwal kes,hwitbn  g,npt ttessfg}ua u  hmqik e {c,  n huiouosarwzmiibecesnren.

请回答你所能看到的,答案形式cwtf{你的答案}


分析

里面出现了栅栏一词,那可能是“栅栏”加密。

栅栏加密法是一种比较简单快捷的加密方法。

栅栏加密就是将明文按照顺序分成n组,然后将这n组,组合成一个密文。

比如以加密字符串“abcdefghijklm”为例

分成3组,加密过程如下:

a

d

g

j

m

b

e

h

k

c

f

i

l

得到密文:adgjmbehkcfil

如果分成4组,那么结果如下:

a

e

i

m

b

f

j

c

g

k

d

h

l

得到密文:aeimbfjcgkdhl

加密是,以行优先,来生产数组(fence为分组数),那么从一个字符的位置加上fence的就等于密文中下一个字符的位置,例如pos(a)+4=pos(e)。所有加密算法大致如下:

#! /usr/bin/env python

# -*- coding: utf-8 -*-

'''

20160605

栅栏加密算法简单实现

栅栏加密就是将明文按照顺序分成n组,然后将这n组,组合成一个密文。

如果字符数目不足,就要补以空格。

'''

 

 

s = raw_input("pl input a string:")#要求输入源串,并去掉两边空格

s.strip()

fence = input("pl input the fence number:")#分组数(大于2)

encodes = ''

len = len(s)

spacenum = len % fence

f = open("./t0605.txt", 'w+')  #打开存放结果的文件

for i in xrange(fence):

       j = i

       while j < len+spacenum:

              if j < len:

                     encodes += s[j]

              else:

                     encodes += ' '

              j += fence

 

print >>f, encodes

执行时,按提示键入:“the anwser iswctf{zjbgcmtn},if u is a big new,u can help us think more question,tks.“,并键入fence为5,查看t0605.txt可以看到:

tn cjtfsiwal kes,hwitbn  g,npt  ttessfg}ua u  hmqik e {c,  n huiouosarwzmiibecesnren.

 

 

栅栏解密相对要复杂些。在前面我们可以看到,加密是会产生一些空白,而这些空白在生产密文是并没有记录,所以这就造成了解密的复杂度。

我们以密文:aeimbfjcgkdhl为例

a

e

i

m

b

f

j

c

g

k

d

h

l

算法如下:

#! /usr/bin/env python

# -*- coding: utf-8 -*-

'''

20160605

栅栏解密算法简单实现

栅栏解密相对加密要复杂些。在前面我们可以看到,加密是会产生一些空白,

而这些空白在生产密文是并没有记录,

所以这就造成了解密的复杂度。

 

这里要定义一些变量,以方便讲解:

Len密文长度

Column列数

Fence(row)分组数

 

但在实际解密时,fence不确定,所以column不确定,反之亦然。而文中可能本身含有空格(非加密产生的空格)所以不能用空格确定起始位置。

所以应该通过遍历len/2>fence>2的多种情况,观察文本是否可读,以此为判断解码是否成功的标准。

'''

s = raw_input("pl input a string:")#要求输入源串

len = len(s)

decodes = ''

f = open("./t0604.txt", 'w+')  #打开存放结果的文件

print >>f,'------OPEN Ur EYES-------'

for fence in xrange(2,len/2):

print >>f,'-----fence='+str(fence)+'------'

for i in range(fence):

decodes += s[i::fence]

print >>f,decodes

decodes = ''

      

执行时,根据要求键入字符串:tn cjtfsiwalkes,hwitbn  g,npt ttessfg}ua u  hmqik e {c,  nhuiouosarwzmiibecesnren.

执行完毕后,查看t0604.txt.发现仅有fence=17时有可读字符串:the anwser iswctf{zjbgcmtn},if u is a big new,u can help us think more question,tks.

 

------OPEN Ur EYES-------

-----fence=2------

t jfia e,wtn ,p tesgu  hqke{,  uooawmieene.nctswlkshib gnt tsf}au mi  c nhiusrzibcsrn

-----fence=3------

tcfw swb n ts}  q {  iormber.njsak,ingp efuuhiec hoswiese tileht ,ttsga mk ,nuuazicnn

-----fence=4------

tji ,t ptsu qe, oamen.ntwkhbgttfa i  huricr faewn, eg hk{ uowieecslsi n s}um cniszbsn

-----fence=5------

ttastg su kc uwbnnfl,b, sah ,hozer s hnntf me usmcecikw ptguq  iaienjwei te} i{noris.

-----fence=6------

tf w  s q{ ome.nskig fuichsis iet,tg k,uaincwsbnt}   irbrja,npeuhe oweetlh tsam nuzcn

-----fence=7------

tsebps i,iwc.nisntsuk oze w,  f   umscah  g enoinjlwgt}h  sirt i,tum{habefktneaqcuren

-----fence=8------

ti, tuq,omnnwhgtai uir aw,e k oieclinsu nsbnj tps e ae.tkbtf  hrcfen gh{uwess  }mcizs

-----fence=9------

twwns {imrnaipfhcoie lttgm,uinc b }q ob.jkn ui sete taknacfs t   res,geuehwsih,s  uzn

-----fence=10------

tat uk wnnlb a hzr  nt eumeck tu iinje e {oi.tsgs cubf,,sh,oeshnfm sciwpgq aewit}inrs

-----fence=11------

tlnt cocn  e ,se k sh ascegsm rnjs,fqnwrt,ngi zefhp}khmnswtu ui.ii aeiiwt   obabtu{ue

-----fence=12------

t  sq m.nkgfihi e,gkuicsn} ibj,pueoethta ucfw  {oesi ucssitt ,anwbt  rraneh wel smnzn

-----fence=13------

tk,}euenenu os spa{snc,t carjh u,retw   wnfit  z.stthnmibem iwnsqhia siubl fkie gg oc

-----fence=14------

tep ,w.nstu z ,   mch  nijwth ititmhbftequesbsiicinskoew f usa geonlg} sr ,u{aeknacrn

-----fence=15------

ts   bn, hhe htmuccwtqiejieiosttskunfbs orsnfesei g anw }{r.agucwl,a,z n  mkpu iet ni

-----fence=16------

t,tqonnhtiur wekoecis snjtsea.tbf rfng{ws }czi u,mwga ia,  ilnunb p  ekt hce hues mis

-----fence=17------

the anwser is wctf{zjbgcmtn},if u is a big new,u can help us think more question,tks.

-----fence=18------

tws{mnifci tg,icb} bjnu et ancf   esguhsi, unwn iraphoeltmun  qo.k isetkast r,eewhs z

-----fence=19------

tig ent} c bunecna sj  hnt uurfg ies, oninhu.wpmoatqsl ia  krkt wetezse m,s{ihsciwf,b

-----fence=20------

ttu nnbahr n uec uinj  o.tg uf,hosnmsipqawtira kwl  z temkt iee{isscb,s,ehf cwg ei}ns

-----fence=21------

tb i.nnuo   uc  ojghst,mafnqrspiwitkzw  ma eilt i t{bkecees,css e,f shgnnw} riuhetaun

-----fence=22------

tn on  s  hacgmrj,qwtnizfpkmst ii eiw  bat{eltcc e,eks ses nsfnr,g eh}hnwuu.iait obuu

-----fence=23------

t hrn mw gqzc,imjnkitp iftebs  ei {cwtceat,sle n s rksneef nsgh.,}uhuiwaoi utuob sn a

-----fence=24------

t qmngii ,kicn bjpeett cf {es csit,nwt rae elsnn s .kfhegus}i,uohauw oiust ab rnhw mz

-----fence=25------

tgkbn, e neccp ejt{st cnf ,rst eit nwen.as lsh fukgie}osuu,aoh swuai rt wbhznmm qi ii

-----fence=26------

t,eenn s p{nctcrj ,et  nft .stnie wshasulfi gok}ueuosas, ahurw wi zthmbminqi ib keg c

-----fence=27------

tn{rnpce t,nc  .j  ttnft sehisuwsiafolgu }okuseaas r,uwh zw mihitmibqbnie kc  eges, n

-----fence=28------

tp,.nt    c njt tthfeussiisowfuagol}s uakare wsuz, mh iwhiimbtqebicnke  s eng r,{encn

-----fence=29------

tt n n   cthjtuteifsossuifowgsa}alur awk zeums i, ihhbwmeiqctiebksn n er  eg{n,c.n,p

-----fence=30------

t  n h tuctijeotsufsosfsigaw}rauwlaz  mkuie is b,hehmcwqeiistknb rnee  n {.gc,,n p tn

-----fence=31------

t unti toceujsotssffasgri}wwuzaaml i uik be eshc,mehqswinikrt ebenn . { cg,, n pnt  h

-----fence=32------

ttontu eocssjsatfrfgws}ziumwaia ilub  ek cehesms,qnhirwkei nte.b n{ c ,g , nnp th u i

-----fence=33------

ttones sacsrjfwtgzf}msuiiaiw bauel c  ekhsemnsqr,iehknw .iet b{nc ,  g ,nn phtu i otu

-----fence=34------

teansr swcfzjgmt}ifuisabi ewuca el s hnkmreqesin,k.h wei t{bcn,    gn, nhputi o utots

-----fence=35------

tswnsz fmcgij}itubfaes ciuew sa nlhr mekqnei.sk, hew i{tcb,n    ng ,hnupito u otstaer

-----fence=36------

tsmnfi gic}bjuetacf esusi nw rahelmn q.kieks ,eh w{ict,b n  n  gh,unipotu o statrewsz

-----fence=37------

tfingb }ecucjaet sfuns ri ewhnam.lq ikke se, h{wci,t b nn   hgu,inoputo s atrtwezsmsi

-----fence=38------

tgen}c uecasj nturf es nih.wmaqli kk ees ,{hcw,i t bnn  h ugi,onupots a rtwtzemsisifb

-----fence=39------

t}enus anc rjuet nf .shimwqailk  kee s{,ch,w i tnb nh u igo,unopsta r wtztmeisisbfegc

-----fence=40------

tunnar  ecunj .t fhsmiqwiakl  ek e{sc,,h w int bhnu i ogu,onspatr w ztmtieisbsefcge}s

-----fence=41------

taen n u.c j thfmsqiiwka le  k{ecs,, h wni thbuni o ugo,snaprtw z mtitiebsescfegs}nur

所以答案是wctf{zjbgcmtn}

CTF 【每日一题20160606】相关推荐

  1. [CTF] 每日一题汇总

    [CTF] 每日一题汇总 WEB 编号 题目 知识点 No.0001 博兹瓦纳-爆破 zip伪加密.CRC校验 No.0002 莫桑比克-php是最好的语言 php伪协议.data协议 No.0003 ...

  2. CTF每日一题之ACII码编码

    好久没写了...因为好久没做题了,最近又开始偷懒了,愁人.今天发现了一个新的CTF平台,很有意思,不过缺点是没有中文,不过这没有关系,谁叫我谷歌翻译用的贼6,今天是个签到题,就不多说了. 题目链接:h ...

  3. Bugku CTF每日一题 可爱的故事

    可爱的故事 这题给我整无语了 建议放到crypto分区 一段看不懂的文字 用winhex等也找不到有效线索 研究了半天无奈看了下评论 发现是某原的一种文字 (流汗黄豆)只能说不好评价哈 根据提示·找对 ...

  4. CTF每日一题之求素数

    大概翻译一下就是说,求一百万以后的两个素数,素数本身的位数加起来也得是素数 就是 23 是个宿舍 2+3 为5 5也是素数,这样 ok,1百万以后,这种题,默默的打开QT ,想了一下还是关了,默默的打 ...

  5. CTF 每日一题 Day18 传统知识+古典密码

    题目名称:传统知识+古典密码 题目类型:Crypto 题目来源:BUUCTF 题目描述:注意:得到的 flag 请包上 flag{} 提交

  6. CTF 每日一题 Day44 rot

    题目名称:rot 题目类型:Crypto 题目来源:BUUCTF 题目描述:注意:得到的 flag 请包上 flag{} 提交

  7. CTF 每日一题 Day24 世上无难事

    题目名称:世上无难事 题目类型:Crypto 题目来源:BUUCTF 题目描述:以下是某国现任总统外发的一段指令,经过一种奇异的加密方式,毫无规律,看来只能分析了.请将这段语句还原成通顺语句,并从中找 ...

  8. CTF 每日一题 Day28 异性相吸

    题目名称:异性相吸 题目类型:Crypto 题目来源:BUUCTF 题目描述:最近出现了一个奇葩观点,说性别都不一样,怎么能谈恋爱?为了证明这个观点错误,请大家证明异性是相吸的. 注意:得到的 fla ...

  9. Bugku CTF每日一题 乌云邀请码

    乌云邀请码 打开发现是张图片,用winhex打开发现很多和普通图片不一样的地方 打开属性没发现什么异常 但是在STEGSLOVE打开却发现了异常,RGB都在0位有如下图的异常 于是考虑RGB隐写,但是 ...

最新文章

  1. FTPClient.storeFile返回false的原因
  2. 虚拟化技术原理与实现 pdf_多进程的实现原理-多道技术
  3. EFCore废弃了TransactionScope取而代之的Context.Database.BeginTransaction
  4. 并发数据结构-1.1 并发的数据结构的设计
  5. phpcms ajax 调取文章内容,Phpcms V9列表页使用GET标签调用指定文章内容的方法
  6. 以软件工作为例,传统武术如何实战
  7. python 预编译加速_Python加速
  8. NodeJS启动vue项目的坑
  9. latex 表格如何精细控制行高,行距,行与行之间的距离
  10. 甲板智慧-“AI语音垃圾分类机器人”拍了拍你
  11. c语言一维数组n个元素求和,C++编程一维数组元素求和?
  12. PHP软件工程近三年的文献,软件工程论文参考文献
  13. LeetCode总结——题1313、66、169、209
  14. Python和Pyqt5如何绘制中国各大城市地铁线路图
  15. Oracle 高级队列(AQ) 与JAVA JMS
  16. 刷脸不要手机也能付款高端大气上档次
  17. 课件演示用什么软件?万兴录演:多种录屏方式任你选
  18. 计算机管理里显示磁盘丢失,Win10硬盘分区丢失,在磁盘管理中找不到
  19. Nakagami-m 信道
  20. TypeScript - 泛型

热门文章

  1. 微信企业号开发之图文消息
  2. 没啥聊的,说说自己的北漂简史吧
  3. HarmonyOS 2发布!华为MateView带来全新智慧体验
  4. 跑分cpu_【性能】骁龙875跑分成绩曝光:CPU遥遥领先,GPU和麒麟9000旗鼓相当
  5. 串口/RS232/RS485 简解
  6. 云鲸扫拖一体机器人说明书_云鲸扫拖一体机器人J1开箱测评,扫地拖地功能测试...
  7. 如何实现OSM地图本地发布并自定义配图
  8. 计算机名改后远程打印不了,解决远程打印机无法打印问题,不仅仅是关机启动...
  9. 轩辕传奇服务器维护,轩辕传奇2月20日全服停服维护公告
  10. LMD0 (ospid: 8664): terminating the instance due to error 481