HTS Realistic Missions 6
Hack this siteのRealistic Missions 6をクリアした。
ToxiCo Industrial Chemicals
スニッフィングして入手したe-mailの暗号化を解除してくれというミッション。暗号文は次のような物。
.296.294.255.268.313.278.311.270.290.305.322.252.276.286.301.305.264.301.251.269.274.311 .304.230.280.264.327.301.301.265.287.285.306.265.282.319.235.262.278.249.239.284.237.249 .289.250.282.240.256.287.303.310.314.242.302. ...
暗号文を生成してくれるフォームがあるので、そこでいろいろ実験してアルゴリズムを解読すればOK
例えばこんな感じ。アルゴリズムが分かるでしょうか?
原文 | キー | 暗号文 |
---|---|---|
a | a | .80.44.70 |
a | b | .36.75.84 |
a | ab | .121.112.59 |
abc | a | .43.43.108.67.35.93.42.94.60 |
abc | abc | .154.118.119.131.122.139.135.140.118 |
答え
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
シーザー暗号をちょっと変形させただけのアルゴリズムですね。(難易度はhardってなってるのに...)
解読用のコードはこんな感じ。keyはちょっと試行錯誤すれば見つかります。
puts File.read(ARGV[0]).delete("\n").scan(/.(\d+)\.(\d+)\.(\d+)/). map{|x|x.inject(-key){|m,c|m+=c.to_i}.chr}.to_s