基本コンセプト
GnuPGのGUIラッパーに徹する。
マウス操作だけでデータの暗号化、復号が可能なようにする。
GnuPGにない機能は実装しない。
暗号データの取り扱い
暗号化機能
GnuPGの非対称暗号機能をGUIから利用可能にする。暗号化に際しては必ず電子署名をつけ、データの出所を明示する。
gpg --ser fingerprint filename
に相当する。
(1.0.4より電子署名はオプション化)
復号機能
上記暗号化機能(OpenPGPのサブセット)で暗号化されたデータを復号する。復号に際しては署名の検証を行い、検証結果を表示する。
gpg -d filename
に相当する。
(1.0.4より署名検証はオプション化)
電子署名
GnuPGの分離署名(detatched signature)作成機能をGUIから利用可能にする。
gpg --detach-sign filename
に相当する。
署名検証
上記の分離署名の検証機能を持たせる。
gpg --verify filename.sig filename
に相当する。
鍵の取り扱い
鍵管理
鍵の扱いについては、GnuPGとの相互運用にはこだわらない。公開鍵暗号に初めて触れるユーザーにはGnuPGの鍵輪管理は敷居が高すぎるとここでは判断した。JanusDGでは、鍵は直接バイナリ形式でファイルとしてやり取りすることとし、信用の網モデルは採用せず、信頼の置けるルートから入手した鍵だけを利用することとする。
鍵輪
一つの鍵輪には鍵は一組(署名用鍵一つ、暗号化用鍵一つ)とし、ユーザーIDは一つだけとする。この鍵輪をバイナリ形式のままユーザー間でファイルとしてやりとりすることで鍵交換とする。ユーザーは一つ一つの鍵(輪)を個別のファイルとして管理する。
リムーバブルメディアでの運用
USBキーなどに鍵ファイルを含む暗号ソフト一式を入れ、パソコンから外して鍵のかかるケースに入れて保管できるようにする。もちろん、パソコンのハードディスク上で運用することも可能とする。
ソース公開
何はともあれ、怪しいソフトでないことを証明ために、ソースを公開する。
別にコーディングに自信があってとかそういうわけではありません。不正を企図したコードが含まれていないということだけ、読み取ってもらえればいいという主旨です。正直なところではやはり、コードを晒すというのには抵抗感があります...
その他
仔細については、GnuPGと、JanusDGのソースを基準とする。JanusDGについてはバグフィックスはするが、機能追加・削除・変更は原則として行わない。さらなる操作性向上等については、別のソフトを開発する。