export-a-crypto-system sig
これは、RSAの暗号化と復号を実装したPerlのプログラムで、署名のファイルに使えるほど小さい。米国の法学の教授ピーター・ユンガーは、米国商務省から、このプログラムを米国から輸出してはならないと判断する書面 (http://samsara.law.cwru.edu/comp_law/jvd/pdj-bxa-gjs070397.htm)を得た。
この署名のファイルを使ってほしい (http://www.dcs.ex.ac.uk/~aba/rsa/perl-rsa-sig.html):
-export-a-crypto-system-sig -RSA-3-lines-PERL
#!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj
$/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1
lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack('H*',/((..)*)$/)
あるいは、もっと新しい2行の版:
print pack"C*",split/\D+/,`echo "16iII*o\U@{$/=$z;[(pop,pop,unpack"H*",<>
)]}\EsMsKsN0[lN*1lK[d2%Sa2/d0<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<J]dsJxp"|dc`
版の一覧と、仕組みの説明はこちら (http://www.dcs.ex.ac.uk/~aba/rsa/story.html)
Perlのハッカーへ:最も小さな軍需品のプログラムを求めて (http://www.dcs.ex.ac.uk/~aba/rsa/story.html)。
プログラムの使い方
- perl-rsa (
http://www.dcs.ex.ac.uk/~aba/rsa/rsa-details.html)で暗号化・復号する - RSAの鍵を作る (
http://www.dcs.ex.ac.uk/~aba/rsa/rsa-keygen.html) - perl-rsaでPGPの鍵を使う (
http://www.dcs.ex.ac.uk/~aba/rsa/pgpacket.html) - Perlが分かるなら、プログラムの仕組み (
http://www.dcs.ex.ac.uk/~aba/rsa/story.html)を分解して説明してある。
武器商人になる方法
ヴィンス・ケイト (http://www.offshore.com.ai/vince/)の、ITARへの抗議を登録できるこのすばらしい方法で、一歩で武器商人 (http://online.offshore.com.ai/arms-trafficker/)になれる。フォームを送るだけで抗議に加われる。いいリンクもたくさんある。今日、RSAを輸出したか? ビル・クリントンに抗議の手紙をメールで送る選択肢もある。
署名の入れ墨
- これで、彼らはもう外国へは行けないな :-)
署名のTシャツ
- 上のコードをTシャツにしたもの。軍需品のTシャツ (
http://www.obscura.com/~shirt/)はここで手に入る。このTシャツは、厳密には、米国から輸出すると違法かもしれない。
HTMLで遊ぶ
- 輸出できるインライン画像 (
http://www.dcs.ex.ac.uk/~aba/shirt/inline.html)と、それを使った米国のページの例 (http://www.obscura.com/~shirt/) - URLに署名を入れた (
http://www.dcs.ex.ac.uk/~aba/rsa/link.html)ハイパーテキストの参照
メディアに出たもの
- (ラベル)ピーター・ルイスによるニューヨーク・タイムズ (
http://www.dcs.ex.ac.uk/~aba/rsa/nyt.html)(米国) - (署名)チャーリー・ストロス (
http://www.tardis.ed.ac.uk/~charlie/)によるComputer Shopper (http://www.dcs.ex.ac.uk/~aba/rsa/shopper.html)(英国) - (署名)ウェンディ・グロスマンによるNew Scientist(英国)
- (シャツ)Wired(雑誌、米国)
- (シャツ)Canal+のテレビ番組Nulle Part Alleurs(フランス)
- (シャツ)Nova誌(フランス)
- (署名、シャツ)Planette Internet誌(フランス)
- (シャツ)BBCテレビ、the Learning Zone(英国)
- メディアに出たTシャツの写真 (
http://www.dcs.ex.ac.uk/~aba/shirt/media.html)
政治と法律の背景
- この3行のプログラムを米国から輸出すると、なぜ違法 (
http://www.dcs.ex.ac.uk/~aba/rsa/legal.html)なのか - 米国のITAR (
http://www.dcs.ex.ac.uk/~aba/rsa/itar.html)の暗号の規制という、あの奇妙な代物 - PGPの作者フィル・ジマーマンは、ITARに違反した疑いで大陪審の捜査を受けている。
- フランスの暗号の法律から見た署名とシャツ (
http://www.freenix.fr/netizen/chiffre/perlrsa.html)についての、ジェローム・トレル (http://www.freenix.fr/netizen/)のページ。 - フィル・カーン (
http://www.qualcomm.com/people/pkarn/)は、愉快な『Applied Cryptography』のディスクの件 (http://www.qualcomm.com/people/pkarn/export/)で、ITARが憲法に反すると法廷で争っている。
perl-rsaのコードを使ったほかのハック
- ダンカン・フリッセルの軍需品の宛名ラベル (
http://www.dcs.ex.ac.uk/~aba/rsa/label.html)が、Computers, Freedom and Privacy ‘95で配られた - スコットランドのグラスゴーのSci Fiで売られたバッジ
- リッチ (
http://www.crl.com/~riche/)(アレックス・スチュワート)とルイ・メンデスによる暗号のイワシ缶 (http://www.dcs.ex.ac.uk/~aba/rsa/sardines.html)。 - the popeによる輸出できるコーラの缶 (
http://www4.ncsu.edu/unity/users/r/rothwell/html/)(tm)。(手元の写し (http://www.dcs.ex.ac.uk/~aba/rsa/coke-big.gif)) - ヴィンス・ケイト (
http://www.offshore.com.ai/vince/)による国際武器商人のページ (http://online.offshore.com.ai/arms-trafficker/)。
ほかの小さな暗号のハック
- ヴィプル・プラカシュ (
http://vipul.net)が、6行のPerlでGOST (http://vipul.net/gost/)を書いた - クリフォード・アダムズが、5行のPerlでPerlだけで書いたRSA (
http://www.dcs.ex.ac.uk/~aba/rsa/pureperl.html)を書いた - スティーブ・リードによる、PerlのRSAの鍵を作るコード (
http://sea-to-sky.net/~sreid/rsagen.txt)。 - RSADSIの共通鍵のストリーム暗号RC4 (
http://www.dcs.ex.ac.uk/~aba/rsa/rc4.html)を、3行のPerlで - C言語のRC4 (
http://www.dcs.ex.ac.uk/~aba/rsa/rc4c.html)の二つの版 - RSADSIの共通鍵のブロック暗号RC5 (
http://www.dcs.ex.ac.uk/~aba/rsa/rc5.html)を、6行のPerlで - ジョン・アレンによる、RSADSIのメッセージダイジェストのアルゴリズムMD5 (
http://www.dcs.ex.ac.uk/~aba/rsa/md5.html)を8行のPERL5で - ジョン・アレンによる、メッセージダイジェストのアルゴリズムSHA (
http://www.dcs.ex.ac.uk/~aba/rsa/sha.html)を8行のPERL5で - 匿名の投稿者による、10行のC言語のディフィー・ヘルマン (
http://www.dcs.ex.ac.uk/~aba/rsa/dh-in-C.html)の鍵交換 - 2行のPerlのディフィー・ヘルマン (
http://www.dcs.ex.ac.uk/~aba/rsa/perl-dh.html)(匿名の投稿者のCのコードに触発されたもの) - ファウザン・ミルザ (
http://jumper.mcc.ac.uk/~fauzanm/)による、80x86の448バイトのIDEA (http://www.dcs.ex.ac.uk/~aba/rsa/idea.html) - アンドリュー・クチリング (
http://amarok.magnet.com/)がPythonで書いた、4行のPythonのRSA (http://www.dcs.ex.ac.uk/~aba/rsa/python.html) - PerlとC言語のワンタイムパッド (
http://www.dcs.ex.ac.uk/~aba/rsa/otp.html) - アレック・マフェットによる、1行のPerlのCrack (
http://www.dcs.ex.ac.uk/~aba/rsa/crack.html)
コメントやHTMLの不具合は、私(アダム・バック (http://www.dcs.ex.ac.uk/~aba/))まで。<aba@dcs.ex.ac.uk>



