GoogleからMIT在校生へのお知らせ?

http://cache0.techcrunch.com/wp-content/uploads/2009/09/Googel-job-code.jpg


MITの体育館に、Googleからの人材募集と推測されるポスターが掲示されていたと話題になりました。
この暗号が解ければGoogleに就職できる? 今のところMITの学生もお手上げ〔アップデート〕 | TechCrunch Japan


この暗号の解説はいくつかあるようです。
id:md2takさんの和訳がわかりやすいです。
Here's the solution if you are interested: "Congratulations Keep Seaching or ca... | Hacker News
Google Is Searching For Beautiful Minds, But So Far No M.I.T. Students Have Broken Its Code. – TechCrunch
http://d.hatena.ne.jp/md2tak/20090922/p1


上記で提案されている仕組みによる、復号化・暗号化のブックマークレットを書いてみました。

復号化


上記をアドレスバーにコピーしてエンターを押します。
暗号文に「8MLDQ6TUI6TFMLRHAANRA6Q8EFLDMQ86II2O32S5J13JXOJ」を、
キーワードに「JOBS」を入力すると、
メッセージ「CONGRATULATIONSKEEPSEARCHINGORCALL6176390570X10」が表示されます。

暗号化


メッセージに「CONGRATULATIONSKEEPSEARCHINGORCALL6176390570X10」を、
キーワードに「JOBS」を入力すると、
暗号文「8MLDQ6TUI6TFMLRHAANRA6Q8EFLDMQ86II2O32S5J13JXOJ」が表示されます。
この暗号化によって文章が変化するのは、キーワードとメッセージに英数字が含まれるときです。
たとえば、メッセージ「GODISLOVE」をキーワード「CHRIST」で暗号化すると「AL7DPGLV8」となります。



換字式暗号の鍵となる「jobs」という単語がポスターの、Googleロゴに含まれているのもヒントだったのかな。
これを解いたScott Kyleさん、すごいなあ。*1


もしかして、この暗号は他のアルゴリズムによる解き方がさらにあって、
そちらで解くと、別の電話番号か、メールアドレス、あるいはURLが得られるのかな?
実は、一つの暗号文から複数の復号化方法でそれぞれ意味のある別の平文が得られるような仕掛けがほどこされていたりして。
「おめでとう!さらに探し続けるか、この番号に電話してね」
なんていう内容の平文だから。

*1:単一換字式暗号は、暗号の世界では基礎的な部類に分類されるとか。でも、すごいなあ。

カレンダー

2009.9.16(水)

特別国会召集

2009.9.28(月)

大贖罪日(ヨム・キプル)
wikipedia:ヨム・キプル

2009.10.3(土)

仮庵の祭り(スコット)
wikipedia:仮庵の祭り

ルビ記法 入力支援ブックマークレット

ブログの記事作成などで、テキストエリアに次のような記法で書くと、
ルビをあらわすHTMLタグに変換するブックマークレットを書きました。

記法

#漢字{かんじ}
#漢字{かんじ}

((漢字||かんじ))
((漢字||かんじ))

漢字<<かんじ>>
|漢字《かんじ》

ブックマークレット

その1 *1
javascript:(function(d,e,b,i){e=d.getElementsByTagName("textarea");if(!e.length){alert("テキストエリアがありません");return;};for(i=0;i<3;i++){b=d.createElement("input");b.type="button";b.style.position=/*@cc_on"absolute"||@*/"fixed";b.style.top=2.5*i+1.5+"em";b.style.right="10px";b.style.width="12em";b.style.zIndex="2147483647";b.value=["#\40ruby\40{\40ルビ\40}","(\(\40ruby\40||\40ルビ\40)\)","|\40ruby\40<<\40ルビ\40>>"][i];with({r:[/[##](.*?)[{{](.*?)[}}]/g,/[((]{2}(.*?)[||]{2}(.*?)[))]{2}/g,/[||](.*?)(?:《|[<<]{2})(.*?)(?:》|[>>]{2})/g][i]}){b.onclick=function(c,j){c=0;for(j=0;j<e.length;j++){e[j].value=e[j].value.replace(r,function(){c++;return"<ruby><rb>"+arguments[1]+"</rb><rp>(</rp><rt>"+arguments[2]+"</rt><rp>)</rp></ruby>";});};if(c==0){alert("該当ありません");}else{alert(c+"箇所変更しました");};};};d.body.appendChild(b);};})(document);
その2 *2
javascript:'rubymaker',['http://atkatanto.googlecode.com/svn/trunk/js/rubymaker.js',function(d,i,e,s){for(;s=this[++i];d.body.appendChild(e))e=d.createElement('script'),e.src=s,e.charset='utf-8'}].reverse()[0](document,0)

使い方

上記ブックマークレットのいずれかを、アドレスバーへのコピーや、お気に入りなどの登録先から実行します。*3
すると、3種類の記法に対応する3つのボタンが画面右上に表示されます。
ボタンを押すと、テキストエリア内の記法を、ルビのHTMLタグに変換します。

変換後のHTML例
<ruby><rb>漢字</rb><rp>(</rp><rt>かんじ</rt><rp>)</rp></ruby>
表示されると↓
漢字(かんじ)

スタイルシートの設定を工夫することで、IE以外のブラウザでもルビが表示されます。
( はてなダイアリーでルビをふる - ひとりごと )

*1:外部との通信なし。文字数制限のためIE6では使えません。

*2:外部との通信あり。IE6でも使えます。

*3:その2を利用される場合は、通信先jsファイルの内容をご確認のうえ、ご利用のサーバーにコピーし、ブックマークレット内のjsファイルのURLを書き換えて利用されることをお勧めします。

パスワードをつくる

パスワードを決めるのに、いつも一苦労します。
そこで、いろいろ項目を入力をすると文字列を出力するHTMLファイルを書きました。


http://atkatanto.googlecode.com/svn/trunk/html/PassHMAC-SHA256.html


このHTMLファイルは外部との通信はしません。
PCに保存して利用できます。


たとえばファイルを書き換える際に、

var SEPARATOR = ',';

上記のカンマ( , )部分を適当な文字列に変更すると、生成される文字列がかわります。

利用したライブラリ

jssha256: SHA256 in JavaScript

はてなダイアリーでルビをふる

はてなダイアリー紅玉(ルビ)をふってみました。

サンプル


また天國(てんこく)()眞珠(しんじゅ)(もと)むる商人(あきうど)のごとし。
(あたひ)たかき眞珠(しんじゅ)(ひと)つを見出(みいだ)さば、()きて()てる(もの)をことごとく()りて、(これ)()ふなり。


新約聖書 マタイ(でん)福音書(ふくいんしょ)13章45節-46節 (文語訳 大正改訳)
http://www.amazon.co.jp/dp/4820232185/
マタイ傳福音書(文語訳) - Wikisource *1
新約聖書 - 近代デジタルライブラリー

HTMLタグ

はてなダイアリーで使用できるルビ関連のタグは4つ。

rbcとrtcは未対応でした。 ( はてなダイアリー利用可能タグ - はてなダイアリーのヘルプ )

<ruby>
 <rb>紅玉</rb>
 <rp>(</rp>
 <rt>ルビ</rt>
 <rp>)</rp>
</ruby>

CSS

管理画面からスタイルシートを設定します。 ( スタイルシートを編集する - はてなダイアリーのヘルプ )

ruby{
  display:inline-table;
  text-align:center;
  white-space:nowrap;
  text-indent:0;
  margin:0;
  vertical-align:text-bottom;
  line-height:1;
}
rb{
  display:table-row-group;
  line-height:1;
}
rt{
  display:table-header-group;
  font-size:71%;
  line-height:1;
  letter-spacing:0;
}
rp{
  display:none;
}


スタイルシートの内容は、「404 Blog Not Found:CSS - ルビ再び」を参考にしました。
ありがとうございます。

*1:現時点ではリンク先の Wikisource にルビはありません。書籍にはあります。

Textus Receptus

小型新約聖書 詩篇附 - 文語訳

小型新約聖書 詩篇附 - 文語訳

舊新約聖書―文語訳クロス装ハードカバー JL63

舊新約聖書―文語訳クロス装ハードカバー JL63


文語訳聖書は今も販売している。
旧約は明治元訳。
新約は大正改訳。


Wikisourceにも公開されている。
明治元訳旧約聖書 - Wikisource
大正改訳新約聖書 - Wikisource
ただし上記サイトのデータには、本とは異なり現時点では、ふりがなが無い。
ルビがふられたら、さらに多くの人に喜ばれそう。


明治元訳の新約聖書を復刊してほしい。
欽定訳と同じ底本をもちいた明治訳。*1
ぜひ読みたいし、手元にほしい。

*1:追記… これは私の思い込み、先入観でした。未検証のため私にとって、実情は詳細不明です。