凱撒和某某加密實驗吧
阿新 • • 發佈:2019-01-05
http://www.shiyanbar.com/ctf/1822#實現33-126ASCII能列印的字元迴圈平移 #和通常凱撒加密不同注意 def change(c,i): num=ord(c) if(num>=33 and num<=126): num=33+(num+i-33)%(94)#126-33=93 return chr(num) def kaisa_jiAmi(string,i): string_new='' for s in string: string_new+=change(s,i) print(string_new) return string_new #本題有種暴力解密感覺 def kaisa_jiEmi(string): for i in range(0,94): print('第'+str(i+1)+'種可能:',end=' ') #區別在於 string 是該物件原本就是字串型別, 而 str()則是將該物件轉換成字串型別。 kaisa_jiAmi(string,i) #你要知道input輸入的資料型別都是string def main(): print('請輸入操作,注意不是平常26種:') choice=input('1:愷撒加密,2:凱撒窮舉解密.請輸入1或2:') if choice=='1': string=input('請輸入需要加密字串: ') num=int(input('請輸入需要加密的KEY: ')) kaisa_jiAmi(string,num) elif choice=='2': string=input('請輸入需要解密字串: ') kaisa_jiEmi(string) else: print('輸入錯誤,請重試') main() if __name__=='__main__': main()
凱撒和某某加密
aZZg/x\ZbavpZiEZp+n)o+
解:
1.愷撒密碼:明文所有字母都在字母表上向後(或向前)
按照一個固定數目進行偏移後被替換成密文。
通常凱撒列出26種(其實包括自身不變KEY=0)ascii表的字母凱撒移動
分析:aZZg/x\ZbavpZiEZp+n)o+這裡不全是字母所以筆者認為這裡愷撒密碼
是33-126Ascii可列印的整個ascii表的凱撒移動,好了,看程式結果吧。
第1種可能: aZZg/x\ZbavpZiEZp+n)o+
第2種可能: b[[h0y][cbwq[jF[q,o*p,
第3種可能: c\\i1z^\dcxr\kG\r-p+q-
第4種可能: d]]j2{_]edys]lH]s.q,r.
第5種可能: e^^k3|`^fezt^mI^t/r-s/
第6種可能: f__l4}a_gf{u_nJ_u0s.t0
第7種可能: g``m5~b`hg|v`oK`v1t/u1
第8種可能: haan6!caih}wapLaw2u0v2
第9種可能: ibbo7"dbji~xbqMbx3v1w3
第10種可能: jccp8#eckj!ycrNcy4w2x4
第11種可能: kddq9$fdlk"zdsOdz5x3y5
第12種可能: leer:%geml#{etPe{6y4z6
第13種可能: mffs;&hfnm$|fuQf|7z5{7
第14種可能: nggt<'igon%}gvRg}8{6|8
第15種可能: ohhu=(jhpo&~hwSh~9|7}9
第16種可能: piiv>)kiqp'!ixTi!:}8~:
第17種可能: qjjw?*ljrq("jyUj";~9!;
第18種可能:
第19種可能: sllyA,nlts*$l{Wl$=";#=
第20種可能: tmmzB-omut+%m|Xm%>#<$>
第21種可能: unn{C.pnvu,&n}Yn&?$=%?
第22種可能: voo|D/qowv-'o~Zo'@%>&@
第23種可能: wpp}E0rpxw.(p![p(A&?'A
第24種可能: xqq~F1sqyx/)q"\q)B'@(B
第25種可能: yrr!G2trzy0*r#]r*C(A)C
第26種可能: zss"H3us{z1+s$^s+D)B*D
第27種可能: {tt#I4vt|{2,t%_t,E*C+E
第28種可能: |uu$J5wu}|3-u&`u-F+D,F
第29種可能: }vv%K6xv~}4.v'av.G,E-G
第30種可能: ~ww&L7yw!~5/w(bw/H-F.H
第31種可能: !xx'M8zx"!60x)cx0I.G/I
第32種可能: "yy(N9{y#"71y*dy1J/H0J
第33種可能: #zz)O:|z$#82z+ez2K0I1K
第34種可能: ${{*P;}{%$93{,f{3L1J2L
第35種可能: %||+Q<~|&%:4|-g|4M2K3M
第36種可能: &}},R=!}'&;5}.h}5N3L4N
第37種可能: '~~-S>"~('<6~/i~6O4M5O
第38種可能: (!!.T?#!)(=7!0j!7P5N6P
第39種可能: )""/
第40種可能: *##0VA%#+*?9#2l#9R7P8R
第41種可能: +$$1WB&$,[email protected]:$3m$:S8Q9S
第42種可能: ,%%2XC'%-,A;%4n%;T9R:T
第43種可能: -&&3YD(&.-B<&5o&<U:S;U
第44種可能: .''4ZE)'/.C='6p'=V;T<V
第45種可能: /((5[F*(0/D>(7q(>W<U=W
第46種可能: 0))6\G+)10E?)8r)?X=V>X
第47種可能: 1**7]H,*[email protected]*9s*@Y>W?Y
第48種可能: 2++8^I-+32GA+:[email protected]
第49種可能: 3,,9_J.,43HB,;u,B[@YA[
第50種可能: 4--:`K/-54IC-<v-C\AZB\
第51種可能: 5..;aL0.65JD.=w.D]B[C]
第52種可能: 6//<bM1/76KE/>x/E^C\D^
第53種可能: 700=cN2087LF0?y0F_D]E_
第54種可能: 811>[email protected]`E^F`
第55種可能: 922?eP42:9NH2A{2HaF_Ga
第56種可能: :[email protected];:OI3B|3IbG`Hb
第57種可能: ;44AgR64<;PJ4C}4JcHaIc
第58種可能: <55BhS75=<QK5D~5KdIbJd
第59種可能: =66CiT86>=RL6E!6LeJcKe
第60種可能: >77DjU97?>SM7F"7MfKdLf
第61種可能: ?88EkV:[email protected]?TN8G#8NgLeMg
第62種可能: @99FlW;[email protected]$9OhMfNh
第63種可能: A::GmX<:BAVP:I%:PiNgOi
第64種可能: B;;HnY=;CBWQ;J&;QjOhPj
第65種可能: C<<IoZ><DCXR<K'<RkPiQk
第66種可能: D==Jp[?=EDYS=L(=SlQjRl
第67種可能: E>>Kq\@>FEZT>M)>TmRkSm
第68種可能: F??Lr]A?GF[U?N*?UnSlTn
第69種可能: [email protected]@Ms^[email protected]\[email protected][email protected]
第70種可能: HAANt_CAIH]WAP,AWpUnVp
第71種可能: IBBOu`DBJI^XBQ-BXqVoWq
第72種可能: JCCPvaECKJ_YCR.CYrWpXr
第73種可能: KDDQwbFDLK`ZDS/DZsXqYs
第74種可能: LEERxcGEMLa[ET0E[tYrZt
第75種可能: MFFSydHFNMb\FU1F\uZs[u
第76種可能: NGGTzeIGONc]GV2G]v[t\v
第77種可能: OHHU{fJHPOd^HW3H^w\u]w
第78種可能: PIIV|gKIQPe_IX4I_x]v^x
第79種可能: QJJW}hLJRQf`JY5J`y^w_y
第80種可能: RKKX~iMKSRgaKZ6Kaz_x`z
第81種可能: SLLY!jNLTShbL[7Lb{`ya{
第82種可能: TMMZ"kOMUTicM\8Mc|azb|
第83種可能: UNN[#lPNVUjdN]9Nd}b{c}
第84種可能: VOO\$mQOWVkeO^:Oe~c|d~
第85種可能: WPP]%nRPXWlfP_;Pf!d}e!
第86種可能: XQQ^&oSQYXmgQ`<Qg"e~f"
第87種可能: YRR_'pTRZYnhRa=Rh#f!g#
第88種可能: ZSS`(qUS[ZoiSb>Si$g"h$
第89種可能: [TTa)rVT\[pjTc?Tj%h#i%
第90種可能: \UUb*sWU]\[email protected]&i$j&
第91種可能: ]VVc+tXV^]rlVeAVl'j%k'
第92種可能: ^WWd,uYW_^smWfBWm(k&l(
第93種可能: _XXe-vZX`_tnXgCXn)l'm)
第94種可能: `YYf.w[Ya`uoYhDYo*m(n*
2.柵欄密碼特點就是隔幾個字母能讀順成一個單詞,一般譯為分2個一組
具體情況具體分析,就像此題一處特殊單獨三個一組。觀察敏感得知,
反正有奇葩字元肯定不是,看有沒有{,},CTF,flag這種字元得知:
f__l4}a_gf{u_nJ_u0s.t0進行解密:
f__ =>f _ _l4} =>l 4 }
a_ =>a _
gf =>g f
{u =>{ u
_n =>_ n
J_ =>J _
u0 =>u 0
s. =>s .
t0 =>t 0
結果就是flag{_Just_4_fun_0.0_}