暗号化と復号化


 暗号化は、文書の秘密保持や改ざん検出などに、役立ちます。 本エディタでは、ファイルやフォルダ単位の暗号化ではなく、 編集テキスト内の任意の箇所の暗号化ができるようになっています。 (つまり、1つの編集テキスト内に、通常のテキストと暗号化テキストを 混在させることができます。) また、各暗号化の箇所には個別に任意のパスワードを設定できます。 本暗号化の強度は、完璧ではありませんが、普通には解読困難なレベルにあります。

■ 暗号化

 暗号化を行なうには、まず、その対象範囲を選択しておきます。 もし選択範囲が無ければ、現編集中のテキスト全体が対象になります。 なお、矩形選択範囲は、暗号化できません。
さて、次のような文書があるとします。

関係各位
本件に関する個人情報を、次の通り、CSV形式で送付いたします。
山田, 太郎, 1964, 5, 3, 男, O, 03-4567-8888
春川, 花子, 1978, 3, 21, 女, A, 012-345-6789
伊達, 直人, 1950, 10, 10, 男, B, 098-765-4321
橘, カオル, 1999, 9, 9, 女, AB, 077-888-9999
なお、この情報は秘密保持のため暗号化していますので、
所定のパスワードで復号してください。

 ここで、選択範囲のテキストを暗号化するには、「暗号化」のコマンドを実行します。(この コマンドは、初期環境ではメインメニューの「設定」下にあります。)次に、パスワードを何か 入力すると、以下のように、選択範囲のテキストが、暗号化されたテキストに変わります。

関係各位
本件に関する個人情報を、次の通り送付いたします。
(?!8r@G9v1lbW7dkJbBZ5KPJHfGz@oZrJaqWNSSGXx5nqT2N0XPLO6hIbkk10gKm@3RDER7S
fWAq#8nlTr8C2yerXuIyPSZSz6PB3lcctMxE7jYKcRZEeuEoNQw8RXzakfnfzM4cS6OFIOwE
y2a3WCbckwKWgvLZswq5Hx#0KB2z518e52DAWet3ChGQLV735JHzaVu02DXY5vP4IQkuqeZW
DpYnDBBslg@i70gBq#EKzFEDKTHXR0msM@h5WY7ln2fMN5aUWo#JD90dk8O4lVtlrekUVfdC
tn8U7k0VKg!?)
なお、これは秘密保持のため暗号化していますので、
所定のパスワードで復号してください。
● 暗号化テキスト

 暗号化された部分のテキスト(暗号化テキスト)は、次のような形式になります。
   (?!・・・!?)
ここで、・・・ には、上例のように、暗号化の文字が入ります。暗号化テキストは、 改行コードが含まれないので、それが長い場合、環境設定の最大桁で折り返して表示されます。
 暗号化テキストは、少しでも変更されると復号できなくなってしまいます。そのため、通常は 変更禁止です。しかし一方、この特性を利用すれば、改ざんの検出ができます。
 ちなみに、暗号化テキストは、元のテキストとパスワードが同じでも、同じにはならない ようになっています。例えば、「ABC」という文字列が2箇所にあって、それぞれを 同じパスワードで暗号化しても、それらの暗号化テキストは同じにはなりません。
 暗号化テキストを、再度暗号化することも可能です。つまり、何重にでも暗号化できます。 その場合、複合はその逆順に行なう必要があります。

● パスワード

 パスワードは、0〜24 字(半角単位)の任意の文字が使えます。日本語を使っても構いません。 パスワードの入力ダイアログボックスには、「入力文字を隠す」のチェックボタンがあります。 これが OFF の時には、入力した文字が、そのまま表示されます。一方、これが ON の時には、 入力した文字が * で表示されます。他人に盗み見されたくない時は、このようにしておきます。
 なお、パスワードの英字の大小は区別されます。例えば、ABC と abc は、違うもの として扱われます。パスワードに日本語を使う場合は、IMEの関連で、「入力文字を隠す」を OFF にしておいた方がよいようです。

■ 復号化

 暗号化されたテキストを復号する、つまり、元のテキストに戻すには、 まず、その「暗号化テキスト」内の任意の位置に、カーソルを移動します。 (暗号化テキスト部を選択する必要はありません。) 次に、「復号化」のコマンドを実行します。(このコマンドは、初期環境では メインメニューの「設定」下にあります。) すると、パスワードを尋ねられるので、そのテキストを暗号化した時のパスワードを 入力します。それが正しければ、その暗号化テキストの部分は、 元のテキストに変換されます。

 なお、パスワードを忘れると、もはや復号できないので、くれぐれもご注意ください。

■ 各種応用

 本エディタの暗号機能は、本来の用途以外にも、使うこともできます。 例えば、下記はクイズですが、ここでは、各答えの部分が暗号化されていて、 そのパスワードに正しい答えを入力すると、その暗号が解除されます。 これで正解かどうか判断するようになっています。

英語で「エディタ」のスペルは?(小文字で)
 答: (?!rJrXfeJg8CV8UPeI1UONPnrdiQvpxJ!?)
3 の平方根は?(小数点以下 7桁まで)
 答: (?!sTSMRJ1Ct0#qjxnuJzlk1aqR5m2JoeXwCOx!?)

 ちなみに、この答は、「editor」と「1.7320508」ですが、 これをパスワードに入力すると、暗号が解除されます。

 次は、学習用の英単語帳の例です。ここでは、 各英単語の日本語訳が暗号化されています。

anonymous   (?!fY9TDpPZ67CZW1bW99PKJUoSZ8p9AjgHJwBLqtpNKw1zxXG!?)
endeavor    (?!fe9mp6PaE0Z6Q1xVM4@fxkUp#tqSJ#UuhJ!?)
gravity     (?!6PjpENxxMVFQqPfiA6cRJViZklv1a!?)
 ・・・・・

分からない英単語があれば、その暗号化の部分にカーソルを移動して、 復号化を行ないます。このパスワードは、空入力で済みます。

■ 補足説明