2013-05-18[n年前へ]
■アスキーPCに書いた「最後の暗号(通信)」記事
今週の金曜日の5月24日、アスキーPC7月号に「編集部がガチに送ってきた(画像)暗号を解く」記事(第2回)を書きました。編集部が送ってきた「暗号」はなぜか2通で、その1通目は妙に簡単な暗号で、けれど2通目は容赦なく難しい暗号でした…。
つまり、編集部は「ガチで暗号を送るけど、もし解けないと記事ができあがらないと困るから、簡単に解読できる暗号も送っておこう」と考えたに違いありません。そんな、お情けの簡単暗号を解くだけで満足するわけに行かない!と発憤した暗号解読の記事が、5月24日発売のアスキーPC7月号の「ぐるぐるサイエンス」です。
アスキーPCは、6月24日発売号(8月号)で休刊します。そんな状況の編集部が送ってきた、最後の通信内容がこの暗号文です(暗号画像:読者への挑戦状!この「暗号」を解き、名探偵になってみろ!?)。…そんな最後のメッセージということを念頭に置いて暗号画像を眺めてみれば、暗号文が何だか解きやすく思えたり・その内容が味わい深く思えたりするかもしれない、と思います。
2013-05-24[n年前へ]
■「アスキーPC7月号の暗号」〜思考過程が楽しいのだ!編
読者への挑戦状!この「暗号」を解き、名探偵になってみろ!?に対する、chamekanさんのアスキーPC7月号の暗号から。
…解けなかったのだが、解こうとした過程自体は自分としてはおもしろく、他のひとにとっても、ああ、こういうふうに考えてドツボにはまってひとがいるのね、というおもしろさがあるのではないかと思う。
アスキーPC7月号の暗号
ちなみに、「暗号画像」はこんなPNG画像ファイルで、およそ下に貼り付けたような画像です。
chamekanさんは、こんな解析・検証用のWEBプログラムを作られていたりして、何だか凄いぞ!と楽しくなります。
さて、「アスキーPC7月号の暗号」についてです。「暗号画像」は単なるガウシアンぼかしを掛けた画像です。しかし、非常にボカされているために、フォントや文字位置の手掛かりがない限り、各文字を推定して、それらの文字を積み重ねて各単語を推定して、その各単語の積み重ねから文章推定をする…というのは、とても困難に思えます。
そこで、私の場合は、「解空間」は非常に限られたものである(そうに違いない)ということを前提にして、つまりは「決めつけ・思い込み」で、「ありうる答」を選び出した…という具合です。
たとえば、私の場合、「暗号解析の過程」は、およそこんな具合でした。
- 2単語目の末尾は□で、単語としては〜○×△という形じゃないか…
- 暗号文の内容は、英語で(私たち日本人でも”そこそこ”知られている)有名なフレーズに違いない
- よし、"Quote" "Best 100"辺りでググり、上から眺めてみよう!
- おっと、**番目に怪しいやつがいるぞ!
- 試しにボカしてみると、確かにそれっぽい
- それ以外の候補があるのかどうか、プログラム組んで、確かめてみよう!
暗号解析は、人による(人を選ぶ)かもしれませんが、かつてのエラリークイーンの本格ミステリー小説の楽しさと同じように、自分で解こうと考えてみる過程自体がとても面白いものです。…というわけで、思考過程が楽しい!というひとつの例のご紹介(アスキーPC7月号の暗号)です。
2013-06-20[n年前へ]
■「たった3行で書けた」もの…「それ全然ガウシアンフィルタじゃないです」
「たった3行で書ける、iPhoneでお手軽ガウシアンフィルタ」という記事を読みました。
特別なライブラリやカテゴリを使わなくても、iOS標準のフレームワークだけで、超簡単にガウシアンフィルタ(ぼかし効果)をかけるテクニックを紹介します。…記事を眺めながら、違和感を2つ感じます。
たった3行で書ける、iPhoneでお手軽ガウシアンフィルタ(iPhoneアプリ開発トピックス)
まず1番目の違和感は、記事中に貼り付けられているボカし画像(たとえば右に貼り付けた画像)が、「どう見てもガウシアンフィルタじゃない」ということです。「滑らか」じゃなくて、近傍線形補間特有のテクスチャが自己主張激しく現れています。
そして2番目の違和感は、「画面上で拡大補完をするという状況でガウシアンフィルタを掛けたのと同等のことを実現するようなコードなんて(ライブラリを実装するのに)書かないよね、書けないよね。…計算量と効果を考えれば開発者には当たり前の話だけど…」というものです。
というわけで、記事に貼り付けられていた「ガウシアンフィルタ(ぼかし)」画像のRed・Greenチャンネルの数値を、3次元グラフにしてみました。それが下の2枚のグラフです。
こうしてみれば、この画像には「ガウシアンフィルタを掛けたような滑らかさ」なんてなくて、見事なまでに近隣4画素からの線形補間がされた画像であることが見てとれます(ガウシアンフィルタはNxNでも計算コストが2Nで済む…とはいえ近傍4点線形補間に比べれば多いですから、”開発者”からすれば当たり前のことだと思いますが…)。