ネットワークセキュリティやってます。技術よりも趣味と雑談が多めのブログです。最近はオンライン英会話にはまっています。
2025-01
- «
- 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
- 28
- 29
- 30
- 31
× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
pythonを少し勉強したので、プログラミングの練習のためksnctfの#2を解いてみたのでWrite-Upを残す。
問題のページ 問題文が暗号されているので、これを解読すれば解答となるFlagがありそう。fvzcyrでぐぐってみたらどうやらシーザー暗号らしい。何文字ずれているかを調べるため次のようなpythonプログラムを作った。 import string
sample="fvzcyr"
result=[]
for y in range(1,27):
for x in range(len(sample)):
check = ord(sample[x])+y
if check > 122:
check = check-26
result.append(chr(check))
print "".join(result)
result = [] ここでは、暗号文の中から適当にサンプル暗号文"fvzcyr"を選んで、すべてアルファベットを1~26文字ずらしてみたら以下のような結果がでた。 gwadzs
hxbeat
iycfbu
jzdgcv
kaehdw
lbfiex
mcgjfy
ndhkgz
oeilha
pfjmib
qgknjc
rhlokd
simple
tjnqmf
ukorng
vlpsoh
wmqtpi
xnruqj
yosvrk
zptwsl
aquxtm
brvyun
cswzvo
dtxawp
euybxq
fvzcyr
26個の暗号前単語候補のなかで、13番目のsimpleが唯一”読める”単語だったので、このシーザー暗号の解読は13文字をずらすと考えられる。 何文字をずらすかを分かったので、次に元の暗号文全体を13文字ずらすプログラムを書いた。 import string
sample="EBG KVVV vf n fvzcyr yrggre fhofgvghgvba pvcure gung ercynprf n yrggre jvgu gur yrggre KVVV yrggref nsgre vg va gur nycunorg. EBG KVVV vf na rknzcyr bs gur Pnrfne pvcure, qrirybcrq va napvrag Ebzr. Synt vf SYNTFjmtkOWFNZdjkkNH. Vafreg na haqrefpber vzzrqvngryl nsgre SYNT."
result=[]
for x in range(len(sample)):
check = ord(sample[x])
if 65 <= check < 65 + 26:
check = check + 13
if check > 90:
check = check - 26
elif 97 <= check < 97 + 26:
check = check + 13
if check > 122:
check = check - 26
else:
check = check
result.append(chr(check))
print "".join(result)
これを実行すると、暗号文は以下のように復号される。 ROT XIII is a simple letter substitution cipher that replaces a letter with the letter XIII letters after it in the alphabet. ROT XIII is an example of the Caesar cipher, developed in ancient Rome. Flag is FLAGSwzgxBJSAMqwxxAU. Insert an underscore immediately after FLAG. "FLAGSwzgxBJSAMqwxxAU"がFlagだが、そのあとの文を読まないと本当のFlagが得られない。 もっと簡単に解ける関数もあるかもしれないが、今回はpythonを勉強したばっかでしたので、for文をできるだけ多く書いた。 PR この記事にコメントする
Reddit-Twitter Mаster Methоd: Guidе to Mаssive Trаffiс
Hello! I'll tеll уou my mеthod with all the details, аs I startеd еarning in the Internet from $ 3,500 pеr dаy with the helр оf sосial netwоrks reddit and twittеr. In this vidеo уоu will find mоre detаilеd informatiоn and also sеe how many millions have eаrned thosе who have bеen working fоr a уеаr using mу method. I spеcificаlly made а videо in this саpaсitу. Аfter buуing my mеthоd, you will understаnd why: http://chat.libimseti.cz/redir.py?https%3A%2F%2Fvk.cc%2F8jfmy3
|
プロフィール
HN:
ぜん吉
性別:
男性
職業:
割と自由なリーマン
趣味:
海外出張
自己紹介:
2006年のCCNA合格を皮切りにCCIE-RSを含めて数々のシスコ資格をパスし、2009年に念願の海外受験(ドバイ)でCCIE-SCを取得。そして、2010年に目標だったトリプルCCIEを香港の地にて達成した。今はネットワークセキュリティやデータ分析などをやっています。
■2006年の目標 CCNA(達成) ■2007年の目標 CCNP(達成) CCDA(達成) CCDP(達成) CCIP(達成) ■2008年の目標 CCSP(達成) CCIE-RS(達成) TOEIC700点(達成) ■2009年の目標 CCIE-Sec(達成) TOEIC800点(達成) JNCIA-JUNOS(達成) ■2010年の目標 JNCIA-M(達成) CCIE-SP(達成) JNCIS-M(達成) JNCIA-EX(達成) JNCIS-SEC(達成) ■2011年の目標 異動(未達成) ■2012年の目標 異動(未達成) TOEIC850点(達成) ■2013年の目標 異動(達成) CCIE更新(達成) ■2015年の目標 本を出す(達成) ■2017年の目標 TOEIC900(達成) TOEIC950(達成) ■2018年の目標 英検1級(達成) ■2019年の目標 海外勤務 |