ksnctfにチャレンジ 第2問目です。
※ksnctfは常駐型のCTFサイトです。 ※問題のページはコチラです。
Easy Chiper
"簡単な暗号"というタイトルの通り 明らかに単一換字式暗号です。 というより ROT13だろうということは見たらすぐに察しがつくと思います。 ROT13はシーザー暗号の1つで 26文字のアルファベットで 13文字ずつ スライドする処理を行います。よって 元の文を ROT13 で暗号化した場合 もう一度 ROT13 処理をするともとの文字に戻ります。
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.
↓ ROT13処理
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 FLAG????????????????. Insert an underscore immediately after FLAG.
復号した文の最後に FLAG直後に _ を追加してね とあるので FLAG???????????????? -> FLAG_???????????????? とすれば正解です。 ROT13はアルファベットしか変換することができないので、アンダースコアを含めた文は扱えないため こうしないといけません。 表示可能なASCII文字で同じことを行う ROT47 を使えば アンダースコアも使えます。