昔の独り言……(15)


8/16(月)

 表ページに書いたように、パコ・ラバンヌがノストラダムスにハマり、世界が今月の日食で終わると信じていたというニュースが流れている。高名なデザイナーだけに、報道でからかうにはミールまで持ち出して完膚無きまでに潰さざるを得なかったようだ。ヘタにからかってファンや取り巻きのマスコミに自分たちの悪口でも言われたら怖いもんね。(^^;)
 しかし、本当に世界が滅亡すると信じていたのなら、ラバンヌだけに「滅亡を迎えるための香水」とか発売しなかったのだろうか(^^;)。名前はずばり「DOOMSDAY」とかね。それだったら記念に買ったぞ(実を言うと私はラバンヌを愛用しているのだ)。もっと凄みを効かせて「Absolute Destiny Apocalypse」とか。それで日本の特定の人達に馬鹿売れしたりしてねネタ
 そしたら買った人が「うーん、滅びを迎える匂いだ」とかいって、匂いをかいだ途端にみんなパタパタ死んじゃったりして、実は毒ガスが調合してあったとか。ラバンヌのショップが第二の人民寺院になっちゃったりしてね。もしラバンヌが狂信的だったらあり得たかもしれない(ねぇよ)。


8/15(日)

 このところ、つまんないだけでなく、時には「読む価値が無いのではないか」とまで思わせる内容だった「天声人語」だが、今日は久しぶりに良い内容だった。まぁ、よりによって今日のような日にしょうもない内容を掲載したら、新聞としてそれこそ命取りだろう(^^;)。
 これは8/4以来のことなので約十日ぶりか(^^;)。というわけで朝日新聞に不満はあるのだが、他に較べれば数十倍はマシだと思うので読んでいるわけである。実際、今日の各紙社説では、読んで頭が痛くなったものが二つほどあったし……。(^^;;

 ところで、本格的に盗聴法が現実のものとなったので、暗号・セキュリティ・プライバシ保護技術を広めるため、8/9で紹介したRSA公開鍵暗号に続き(紹介いただいてありがとうございます>野尻さん)、調子に乗ってRSAディジタル署名の原理を説明するプログラムを作った。
 暗号が「盗聴」からプライバシを守る技術であるのに対し、ディジタル署名は通信文を書いた人と内容を保証し、「改竄」や「なりすまし」を防ぐことができる技術である。両者を併用することでより安全で確実なメッセージのやりとりが可能になる。
 実際、下で試してみればわかるように、署名を生成する際に秘密鍵が違っているとか、秘密鍵と公開鍵が対応していなかったり、通信文が変えられていると結果が一致しなくなる。
 したがって、そこで使用される公開鍵・秘密鍵が確かなものであるとわかっていれば、通信文mの内容は保証されるわけである(なお、以下で使用する式と手順は「現代暗号」(産業図書)による)。


Step0 10以上100未満の素数は次のとおり。
11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97

Step1 任意の素数を入力すると、公開鍵(1)となるnと、以下の計算で必要になるλが計算される
 <n=p*q, λ=LCM(p-1,q-1) ただしLCMは最小公倍数>
素数p(任意)
素数q(任意)
公開鍵(1)n
(各素数-1)の最小公倍数λ

Step2 公開鍵(2)となるeは上の計算値λ以下で、λとは互いに素(1以外に約数がない数)。簡単にはλを割り切れない小さな素数を選べば良い(間違えないように)。そして秘密鍵dが得られる
 <ed=1 mod λ>
公開鍵(2)e(任意)
(各素数-1)の最小公倍数λ
秘密鍵d
eの確認用:
λ ÷ e 答(小数ならOK)

Step3 通信文m(m<n)に対する署名sの生成は、自分が持つ秘密鍵によって行い、mとsを送信する。
 なお、ハッシュ関数h(m)とは、この場合にはh(x)=h(y)である(x,y)を特定することが困難な関数である(代表的なものとしてSHAなどがある)。しかし、ここではハッシュ関数を使わず(だって面倒なんだもん)、簡単にごまかしてある。したがって計算の過程だけを参照し、数値は信用しないこと。
 <s=h(m)dmod n>
通信文m(任意)
秘密鍵d
公開鍵(1)n
署名s
参考:関数h(m)

Step4 通信文mからh(m)を求め、署名sおよび公開鍵(1)eによって計算される結果とを比較する。合っていればOK。
 <h(m)=semod n>
通信文m
署名s
公開鍵(2)e
公開鍵(1)n
計算結果
関数h(m)

 なぜ関数h(m)を使うのか。m=semod n によって適当なsからmを計算すれば、公開鍵eだけで何らかの通信文mに対する署名sが作れてしまうからである。h(m)を使うことで、適当なsからh(m)の値は求められるものの、h(m)の値からmを求めるのは困難なので、sに対応したmを作ることも困難ということになる。


●署名の例(PGP)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

 PGPで署名した例。
 この文に対する署名の確認は、私の公開鍵で行うことができる。
公開鍵はトップのページで公開しているので、PGPをインストール
していれば試すことができる。

-----BEGIN PGP SIGNATURE-----
Version: PGPfreeware 6.0.2i

iQA/AwUBN7ZYjk4VoEnBySuOEQLtcACdFvflttno9Lke/14IiOH4QJr10lUAoIxd
LR48jGH4MCpeClxKTfqSCj1z
=c4+z
-----END PGP SIGNATURE-----


8/13(金)

 本日の各新聞社説は,やはり国会に関することだった.
 朝日と東京は今期国会の総括的な内容で,「危険な法律」が成立する背景となった「数でのごり押し」に対する批判(朝日,東京),三党の連合に対する不信があるという指摘(東京)がなされていた.
 盗聴法に関しては,大ざっぱに拾ってみると,警察や裁判所に対する国民(反対派)の不信感があり慎重(厳正)な運用を望む(日経,読売),犯罪捜査には必要(日経,読売,産経)といったところか.
 なかには『法を厳正に運用する限り、市民の日常が“盗聴”の危険にさらされるような、反対論が指摘する事態はあり得ない』(読売)という「そこが信用でけへんと言っとるんじゃ」と突っ込みたくなる内容や,『「組織的犯罪を大目にみても、庶民のプライバシーの方が大事」というのだろうか』(産経)と反対派に対して因縁を付けている内容もあったが,これらの媒体ではいつものことだ.
 また,背番号制については,日経が「実効性のある個人情報保護法の制定を急ぐべき」としていた程度だったのが残念.
 そして案の定,読売と産経は野党の「牛歩」批判をしていた.これもいつものことだ.ちなみに産経が,長時間の演説や牛歩について『こうした経過を、多くの国民が良しと評価するはずはない』と評していたが,「多く」と書いてしまう根拠が私にはわからないし,私はどちらも支持・応援していた.

ネットワーク反監視プロジェクト


8/12(木)


12日13:55ごろ.3法案が成立した瞬間に礼をしている人の図

サイファーパンク宣言(原文)  クリプトアナーキスト宣言(原文)  PGP NOW!


8/11(水)

 現在、12日の深夜2時を過ぎたところだ。今も参議院インターネット審議中継を観ているのだが、いぜんとして本会議は続いている。気になる審議だけに、いつでも観られるようになったのはたいへん便利だ。
 2:20になったが、どうやら牛歩が始まったようだ。2:25、「速やかに御投票願います」の声が聞こえ始めた。
 2:48、「もうちょっと速く歩いて」。
 2:55、「このままですと、投票時間を制限せざるを得なくなります」という脅し文句。
 3:09、「投票しない方は、投票する意志無しと見なさざるを得ません」「あと一分で投票箱を閉めます」
 3:10、投票箱閉鎖。「演壇からお下がり下さい。何度も申し上げました」
 3:12、「討議時間の制限動議」可決。すぐさま「首相の問責決議案」に続く。
 3:25、「発言時間が超過しております。発言時間の制限は決まったばかりであります」との声。しかし発言は続いている。ガンバレ!
 際限が無いので文はここで止めておくが、結果が気になるので続けて観ることにする。
 そして問題となっている盗聴法の採決はその後になる。国会がオートマトンと化し、最初のステップを踏み出した時点で道はほぼ見えてしまっている。だが、だからといってこれだけ無茶苦茶な法案が採択されてしまうという異常事態には戦慄させられる。今からでもいい、決定的な逆転を望みたい。

後日の追記 それにしてもこの日、円より子議員の活躍は際だって素晴らしかった.


8/10(火)

 昨日のニュースで報道された,エリツィン大統領によるステパシン首相解任の声明発表をご覧になっただろうか? 正直言って,決定の異常さといい,本人の様子といい,ただならぬ雰囲気のものだった.具体的には,体がピクリとも動かず,また瞬きすらせず,他の全てが静止した画面の中で口だけが動いていたのだ.はっきり言って怖くてねぇ(^^;)
 あのビデオを観て,まず思い出したのは昔のアメリカ製アニメである.止め絵の口の部分に人間の唇を重ねて動かしているという,なかなか気持ち悪い方式なのだが,まさにそのまま(^^;).
 よっぽど体調が悪いのだろうが,「いったい何を考えているんだ?」と思える決定がなされていることから,あの映像はCGじゃないかとか,誰かが背中から手を突っ込んで口をパクパク動かしているのではないか(「ボク、エリちゃんだよぉ」)とか,いろいろ邪推させてくれるビデオだった.

追記:「カスパロフ対"世界"」の途中経過を紹介した手前、しばらくは8/68/8に示したそれぞれのビューワ用データをアップデートすることにしたので、ご覧いただきたい。


8/9(月)

 昨日の分はさすがに重いので過去のファイルに移動した(^^;)。

 そういえば強行採決だそうで(参院法務委員会)。ワヤ(^^;)。まぁ現在の国会は単なるオートマトンだからね……。自動的なんだよ。フッ
 というわけで、日常レベルで暗号を使い始めたほうが良いような時期に来ている。みんながどんな些細な事であっても暗号を使って通信を行うようになれば、それらを全部解読しようなどと思うヤツはいなくなるだろう。
 ニュースを耳にした勢いに任せ、メールをはじめとした電子媒体で使われる「公開鍵暗号」の代表、RSA暗号の原理を示すプログラムを作ってみた。RSAは、標準的なメール用暗号化プログラムPGPの昔のバージョンで使われていた(現在のバージョンでは使われていない)。
 下のガイドに従って数値を入力すれば公開鍵暗号を体験できる(はず)。はっきり言ってバッチイ実装なので恥ずかしい限りだが、数値を入力してみた限り、一応は動いているらしい(^^;)。もし途中で動作がおかしくなったらリロードしてもらいたい。
 公開鍵方式では、暗号化するための鍵を広く公開し、自分宛のメッセージは公開しているほうの鍵で暗号化してもらう。そして暗号化された通信文は、自分だけが持っている秘密鍵でしか解読することができない。事実、下の計算で、秘密鍵のところに公開鍵の数字を入れても元には戻らないことがわかるだろう。このように、各種の数値を変えた場合が試せるよう、いささか面倒くさくはなるが、全ての数値を手で入力するようにした(なお、以下で使用する式と手順は「現代暗号」(産業図書)による)。
今日の標語『みんなで楽しく暗号使って明るい社会』


Step0 10以上100未満の素数は次のとおり。
11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97

Step1 任意の素数を入力すると、公開鍵(1)となるnと、以下の計算で必要になるλが計算される
 <n=p*q, λ=LCM(p-1,q-1) ただしLCMは最小公倍数>
素数p(任意)
素数q(任意)
公開鍵(1)n
(各素数-1)の最小公倍数λ

Step2 公開鍵(2)となるeは上の計算値λ以下で、λとは互いに素(1以外に約数がない数)。簡単にはλを割り切れない小さな素数を選べば良い(間違えないように)。そして秘密鍵dが得られる
 <ed=1 mod λ>
公開鍵(2)e(任意)
(各素数-1)の最小公倍数λ
秘密鍵d
eの確認用:
λ ÷ e 答(小数ならOK)

Step3 平文mはn以下の整数(大きい数字を暗号化する場合には区切って使えば良い)、それぞれの公開鍵を入力
 <c=memod n>
平文m(任意)
公開鍵(2)e
公開鍵(1)n
暗号c

Step4 暗号文cと秘密鍵d、公開鍵(1)nを入力
 <m=cdmod n>
暗号c
秘密鍵d
公開鍵(1)n
平文m
 公開鍵nとeを公開しているわけなので、nからp,qがわかってしまった場合には秘密鍵dが計算できてしまう。だが、nが十分に大きいと素因数分解するのがたいへん困難なので、その難しさが暗号の強度になっている。


前の「昔の独り言……」 次の「昔の独り言……」 最新の「独り言……」

O-NOのページに戻る