wiki:SourceCode

Version 8 (modified by sgk, 12 years ago) (diff)

--

公開ソースコード

恥ずかしいので「オープンソース」だなんて申しません。 当社製のソースコードをこちらで公開します。 ここで説明していない物を含めた全ソースコードは、ページ上の方の「レポジトリブラウザ」かこのリンクからどうぞ。

SRP

 スタンフォードの人が研究している、安全なパスワード認証&鍵交換の仕組み。  RFC 2945としてStandard Trackに乗ってます。 SRPは、Secure Password Protocolの略です。 プロトコルと言っても、ネットワーク上のパケット云々の話ではなくて、どのような情報を交換するのかということを規定しています。 実際のアプリケーションにおいては、通信路を用意し、その通信路の上でのデータ交換手段を用意する必要があります。 この部分についてはSRPそのものでは規定していません。  TelnetはRFC2941として規定されています。  TLSはDraft段階のようです。

例によって…、Pythonで実装してみました。 Pythonでの実装としては、 Dr. Tomという人が実装したものが存在するのですが、これは少し古いプロトコルに基づいています。 また、 TLS Liteは最新のプロトコルに基づいてTLSを実装していますが、認証と鍵交換だけを取り出して使うには使いづらいです。 当社では、最新のSRP-6aというプロトコルに基づいて認証と鍵交換だけを行うモジュールを開発しました。 通信路については実装してありません。実際の用途においては、通信路とデータ交換手段とを実装する必要があるでしょう。

Camellia暗号Python版

 NTTと三菱電機が開発したCamellia暗号がオープンソースになったので、Pythonに移植してみました。Pure Python版と、C版を呼び出す拡張モジュール版とがあります。

Camellia暗号Python版はこちら

文字端末の共有

TTY端末っていうか、さすがにシリアル接続ではなくて、SSHとかです。文字端末って言った方が通りがいいのかな?いまどき、文字端末で開発するっていうのは少数派なのでしょうか。個人的にはどうもIDEには慣れません。それはさておき、文字端末を2名で共有するツールを作りました。いや、2箇所の文字端末で1つのシェルを共有するっていうのかな。つまり…、ひとりが立ち上げたシェルやエディタやらを、もうひとりが別の場所から見ながら勝手に操作することもできるってことです。ペアプログラミングで、他人のキーボードは触りたくないって人、キーボード配列が他人と違うひと、自分のデスクトップが恥ずかしくて見せられないって人には便利かもしれません。

文字端末の共有ツールはこちら

って、まだ説明を書いていないので、興味のある方はdual.pyのソースをご覧下さい。

コードフラグメント