EBt 暗号化について
ついでにこっちも。
暗号化…私はそっちは専門ではないのでやり方が良くわかりません。あと、出来るだけ Ruby, Ruby/Qte 以外のソフトを要求しないようにしたいので出来たら内部で実装できた方がいいと思っていたりします。
こんなんだから実装できないんだよな。
んで、そんなんではいけないと思うので考えてみました。
String.crypt が使えそうです。
暗号化キーと復号化キーは同じ。
文字列を、String.crypt で出来た文字列で暗号化。ま、足し算とか引き算とかしても良いけど、xor 取っても良いかもしれない。どの方法も、逆方向の演算が出来るので暗号化/復号化は容易だ。
問題は、この程度の暗号化で大丈夫ですか皆さん?ってあたり。まぁ、EBt のメモをそんなに力入れて暗号解読する奴なんかいねーよと言う気もしますが。
ちなみに、実装した場合、暗号化した結果は16進数のテキストにするつもりです。復号化は「メモ自体の暗号化解除」と「閲覧のための一時的な暗号化解除」の2種類が必要ですね。暗号化よりはこっちの実装の方が大変だな、きっと。
あと、メモのタイトルは暗号化の対象外です。
復号化は、いちいちメニューで「復号化」とか選ばないとできないというがちがちの仕様にするかどうするか。EBtとして、一つのkeyしか持たないのであれば、「暗号解析モード」をつけて、それをON/OFFするとかで使うのは楽になるのですが。一方、メモ単位で key を持てば、より暗号は強固になりますがめんどくささも倍増…。
暗号化って奥が深いんだよな…
とりあえず意見募集します。何ぞあったらコメントくださいませ。
(なお、もしかしたら実装できないかも知れないので、過度な期待は抱かないでくださいませ)
| 固定リンク
この記事へのコメントは終了しました。
コメント
やっと復活しおったなヽ(-^◇^-)ノ
やれやれだよ。。心配したゾォ(;^_^A
『ファミレスに篭ってプログラミング』・・SEの正しい姿ですなぁ、、感心(☆_☆)キラッ!
体調には気をつけるのだ。特に新しい環境だからね(^-^ゝ
おっと、そろそろシャトルの打ち上げだヾ(^o^)
投稿: gigalomania | 2005/07/14 04:29
作者様
暗号化についてもどうにかならぬかと思っておりました。
検討いただき感謝申し上げます。
ただ、String.crypt については、以前Rubyリファレンスを見たり、ぐぐって調べたときには、メモ本文の暗号化に使えるかどうか難しいかなぁという印象を持ちました。
つまりパスワードの保持程度にしか使えなかったような気がします。
私のページ
http://www.d2.dion.ne.jp/~ujiie/diary/20050701.html#/2005/07/14070337000
でその旨記載させていただいておりますので、ご覧いただければ幸いです。
で、 String.crypt がつかえなかったらどうしたらいいんだろう・・・というところで私は思考停止してしまったんです・・・
投稿: Ujip | 2005/07/14 07:36
String#cryptは非可逆変換のため復号化することは不可能です。
本格的な暗号化が必要でしたらruby-opensslやpgp/gpgを使うのが確実かと思いますが,そこそこの強度があればいいのであればRC4を用いたciphersaberを検討されてみてはいかがでしょうか?
http://www.hyuki.com/cs/
http://ciphersaber.gurus.com/
pure rubyでも簡単にコーディングできます。 (拙作のライブラリもRAAに登録してあります。 http://raa.ruby-lang.org/project/ciphersaber/ )
投稿: NISHI Takao | 2005/07/14 11:55
おー、CipherSaber は簡単に実装できそうですね。乱数を入れるところがミソですね、このアルゴリズムはきっと。
とりあえず、試しに実装してみます。時間が出来たら…しかし、このアルゴリズム、使っても大丈夫なんでしょうか?
投稿: おかだ | 2005/07/15 00:54
RC4はOpenSSLでも使われるはずですが、たしかにライセンス微妙ですね。
RSA的にはあくまでArcFourとRC4は別物ってスタンスなのかも…
# 全然根拠ないです。すいません。
投稿: NISHI Takao | 2005/07/16 03:06
とりあえず、CipherSaber使って実装してしまいました。コード参考にさせて頂きました。ありがとうございました。
作ってみて思ったこと。パスワード忘れたらすごくダメージでかいですね。もう諦めるしかない。パスワードが合っているか間違っているかもわからないし。ちょっと危険 ^^; ま、承知の上での暗号化だから良いか。
投稿: おかだ | 2005/07/18 00:15