EzCrypt


目次


1. 概要

本ドキュメントは、バージョン 0.2.0 の EzCrypt に対応しています。

EzCrypt は、Emacs 上の部分テキストを簡易的に暗号化するユーティリティです。 ezcrypt.el 以外のインストールなしに、暗号化、復号が可能です。

スクリーンショット
図1. EzCryptで暗号化した例

EzCrypt はフリーソフトウェアです。 ライセンスについては、GNU General Public License (バージョン 2 以降) をご覧ください。

以下のような環境で動作確認を行っています。

2. インストール

まず、ezcrypt.el を適当なディレクトリにコピーします。 そのディレクトリが変数 load-path に含まれているならば .emacs などに以下の文を追加してください。 拡張子 (.el) は書きません。

(load "ezcrypt")

変数 load-path に含まれていない (含まない) ディレクトリにコピーしたならば以下のように絶対パス (拡張子あり) で指定してください。

(load-file "~/site-lisp/ezcrypt.el")    ; ~/site-lisp がディレクトリ

EzCrypt には、以下の 4 つのインタラクティブな関数があります。

その都度 "M-x ezcrypt-*" によって起動することもできますし、なんらかのキーに割り当てることもできます。
以下は、C-c eC-c d に割り当てた場合のコードです。

(global-set-key "\C-ce" 'ezcrypt-encrypt-region)
(global-set-key "\C-cd" 'ezcrypt-decrypt-to-buffer)

以上でインストールは終了です。

3. 使い方

3-1. 暗号化

ezcrypt-encrypt-regin は、リージョンを暗号化します。

ezcrypt-encrypt-regin を実行すると、 暗号化するためのパスワードを聞かれるので、自分が覚えやすいパスワード (半角英数、記号) を入力してください。 間違いを防ぐために、2 回入力を要求されます。 このパスワードは、復号する時に使います。

暗号化されたテキストは、「<」で始まり「>」で終わる文字列となります。 例えば以下のような感じです。

<6e0c|6e10|6f4c|6fbb|70d6|711c|7247|72a6|73ef|7420|7563>

暗号化された文字列を復号する際には、'|' の前後の空白文字 (スペース、タブ、空白、改行) は無視されるので、 手動で以下のように書き換えても問題ありません。

<6e0c|6e10|6f4c|6fbb|
 70d6|711c|7247|72a6|
 73ef|7420|7563>

3-2. 【重要】 復号に関する注意点

EzCrypt は、間違ったパスワードを指定しても復号には失敗しません (失敗を通知しません)。 間違ったパスワードを指定した場合は、間違った結果が得られるのみです。

これは、復号に成功したか失敗したかを通知しない方が、通知する場合に比べて安全性が高いと作者が考えているからです。 復号の結果が正しいかどうかを判断できるのは、復号の結果を知っている人か、復号の結果が正しいことを確認する方法を知っている人のみとなります。 くれぐれも、パスワードを忘れないように注意してください。

3-3. 復号 (バッファに)

カーソルを、暗号化されたテキスト (「<」から「>」の間か、その直後) に置いて、 ezcrypt-decrypt-to-buffer を実行すると、 暗号化されたテキストが復号され、バッファの内容を置換します。

3-4. 復号 (キルリングに)

カーソルを、暗号化されたテキスト (「<」から「>」の間か、その直後) に置いて、 ezcrypt-decrypt-to-kill-ring を実行すると、 暗号化されたテキストが復号され、その内容がキルリングと OS のクリップボードに追加されます。 バッファは変更されません。

セキュリティ上の理由で、キルリングに復号化されたテキストは、一定時間後に破棄されます。 破棄されるまでの時間は、ezcrypt-kill-ring-timeout という変数に保持されていて、 デフォルトでは 60 (秒) です。 0 を指定すると、時間が経っても破棄されないようになりますが、あまり勧められません。

例えば、破棄するまでの時間を 30 秒に設定するには、.emacs などに以下のように書きます。

(setq ezcrypt-kill-ring-timeout 30)

3-5. 復号 (エコー領域に)

カーソルを、暗号化されたテキスト (「<」から「>」の間か、その直後) に置いて、 ezcrypt-decrypt-to-echo-area を実行すると、 暗号化されたテキストが復号され、その内容がエコー領域 (画面の一番下の行、ミニバッファの表示にも使用される部分) に表示されます。 バッファは変更されません。

エコー領域に表示された文字列は、カーソル移動などによってすぐに消えるため、 一時的に復号した内容を確認したい時に便利です。

3-6 EzCrypt のバージョンを知るには

バージョン番号は、変数 ezcrypt-version-number に格納されています。

4. 既知の不具合

EzCrypt は Emacs の内部文字コードに依存しています。 そのため、内部文字コードが異なるバージョンの Emacs で暗号化したものは正しく復号できません。

Emacs 22 以前と Emacs 23 以降とでは、 Emacs の内部文字コードが異なりますので注意してください。

5. 変更履歴

0.2.0 (2008/12/19) 文字列の中に '%' が含まれていると、ezcrypt-decrypt-to-echo-area が正しく動作しないことがあるバグを修正。
0.1.0 (2006/06/02) 公開バージョン。

Copyright(C) 2006,2008 MORIMOTO Ken
All rights reserved.
ken.m.pp1@gmail.com