C++プログラムで使用する高速の非対称暗号アルゴリズムを探しています。私たちのアプリケーションは、アーカイブに保存されている読み取り専用データ(カスタム形式、tarにいくらか似ています)にアクセスします。アーカイブインデックスを非対称に暗号化することで、そのアーカイブの変更を防ぎたいと思います(これは完全なソリューションではないことを認識しています。データは、特定の手法を使用して抽出および再パックできます)。
アーカイブ内の一部の個々のファイルは対称暗号で暗号化され、それらの暗号化キーはアーカイブインデックス(ヘッダー)内に保存されます。そのため、アーカイブヘッダーを非対称に暗号化したいのです。
暗号の要件:
1)アルゴリズムの実装はプラットフォームに依存しない必要があります。2)アルゴリズムは、自分で簡単に実装できるか、独自のアプリケーションとの静的
リンクを
可能にするライブラリ(ソースコード付き)で利用できる必要があります。つまり、GPL /LGPL/ウイルスライセンスは使用できません。MIT / BSDライセンスのコード、またはパブリックドメインコードが受け入れられます。
3)サイファーがライブラリで利用できる場合、理想的にはメモリフットプリントが小さく、実装がコンパクトである必要があります。本格的な万能暗号コレクションではなく、1つの暗号のみを実装するC /C++ライブラリを使用したいと思います。
もともとRSAを使いたかったのですが、遅すぎて役に立たないようで、選択肢も多くありません。
それで、私が何を使うことができるかについてのアドバイスはありますか?