26

小さなテキスト ファイルを読み取り、「内部」キーを使用して暗号化する小さなプログラムを C/C++ で作成したいと考えています。次に、内部で同じキーを使用して暗号化されたファイルを復号化できる別の小さなプログラムも作成したいと思います。

私はopenSSLサイトとグーグルを見ましたが、単純な例ではありませんでした.誰かがこれをやろうとしたことがありますか?

4

3 に答える 3

14

以前の回答は、あなたが求めたことをどのように行うかを示しています。

なぜあなたがこれをすべきではないのかについて一言付け加えたいと思います。

あなたが話しているのは「対称暗号化」と呼ばれます(1つのキーで暗号化されたすべてのものが特定の相手によってのみ復号化できる非対称暗号化とは対照的に、同じキーが暗号化と復号化に使用されます)。

実行可能ファイルを逆アセンブルして、使用されているハードコードされたキーを判別するのは簡単です。つまり、実行可能ファイルの1つを手にした人は誰でも、これまでに交換されたメッセージの暗号化を破ることができます。

あなたが考えているアプリケーションが非常に具体的でない限り、これはあなたのセットアップが安全に「見える」かもしれないことを意味しますが、そうではありません。このような場合、通常は暗号化をまったく行わない方がよいでしょう。そうすれば、関係者がその誤った安心感に陥ることはありません...

(アルゴリズムを自分で実装/作成するのではなく)暗号化を行うために標準ライブラリを探しているのは非常に良いことですが、プロトコル(アプリケーション、キー、およびメッセージの使用方法と交換方法)は少なくとも暗号自体と同じくらい重要です。弱点を伝えるために、暗号化を扱っている誰かにアイデアをテストしてもらうことをお勧めします。(ここStackOverflowにはその種のものが十分にあると確信しています。;-))

于 2009-06-18T13:39:21.623 に答える
1

OpenSSLは、ネットワークを介してデータを暗号化するためのプロトコルであるSSLとTLSの実装に特に関係しています。ファイルの暗号化を検討しているだけなので、OpenSSLを使用することは可能ですが、理想的ではありません。

代わりに、BeeCryptCrypto++ ®Library5.6.0のようなものを使用します。どちらも、それらの使用例を提供します。

于 2009-06-17T15:14:06.157 に答える