3DESで暗号化されたデータを復号化するには?


MILD  2006-10-19 20:31:56  No: 63371  IP: 192.*.*.*

3DESで暗号化されたデータをC/C++で復号化したいのですが
可能でしょうか。
可能であれば、どのライブラリを使用し、どう組めば、よいか教えてください。

編集 削除
瀬戸っぷ  2006-10-20 00:39:33  No: 63372  IP: 192.*.*.*

「可能か?」ということであれば、条件付きで可能でしょう。

とりあえず、ググってみました。
http://www.google.co.jp/search?num=30&hl=ja&q=DES+%E5%BE%A9%E5%8F%B7+%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja

libdesというモノがあるらしい。
3DESではないのでは?
というのでしたら「3DES」がどうやっているのか調べましょう。

とりあえず、検索してみただけなので実装方法などについては不明です。

編集 削除
no name  2006-10-20 09:44:18  No: 63373  IP: 192.*.*.*

「可能でしょうか」って聞いてくる人って
何が不可能だと思ってるんでしょうかね…

編集 削除
yoh2  2006-10-20 21:19:55  No: 63374  IP: 192.*.*.*

OpenSSL (http://www.openssl.org/) はいかが?
個人的な感想はこんな感じ。

- 実績が非常に高い。
- APIのドキュメントがヘボい。
- インストール(コンパイル)ドキュメントは丁寧。
- ちょいとデカい。3DESのみの暗号化/復号をするだけなら、鶏を割くに牛刀を用いるようなものかも。

# どーでもいいかもしれない豆知識:
#     OpenSSLでは、暗号化も復号も*_encrype()といった関数で行います。
#     どっちを行うかは引数次第。
# 以前、*_decrypt()はどこだと30分探し回ってしまいました。

編集 削除
kure  2006-10-20 23:29:58  No: 63375  IP: 192.*.*.*

MicorosftのCryptoAPIにも3DESの実装ありまっせ。

CryptAcquireContextでCSP取得して、
CryptGenKeyとかCryptDeriveKeyでキー作って
CryptDecryptで複合って感じです。

お手軽にやるならCOMでラップしたCAPICOMってのもあります。

編集 削除