暗号ライブラリの比較

暗号ライブラリの比較（あんごうライブラリのひかく）では、暗号化アルゴリズムを扱い、サポートする各機能を呼び出すAPIを持つ暗号ライブラリを比較する。

暗号ライブラリ

鍵処理 

鍵処理には鍵生成アルゴリズム、鍵交換合意、公開鍵暗号標準が含まれる。

鍵生成と鍵交換

楕円曲線暗号サポート

公開鍵暗号標準

ハッシュ関数 
サポートされている暗号化ハッシュ関数を比較する。メッセージのMACタグを生成するために使用される暗号を含む。ここではハッシュ関数は、任意の長さのメッセージから、元のメッセージの復号が実質不可能な固定サイズの出力を生成するものとして定義する。

MACアルゴリズム 
メッセージ認証コード（MAC）アルゴリズムの実装を比較する。MACは、メッセージを認証するために使用される短い情報である。メッセージが指定された送信者から送信されたもので（真正性）、送信中に変更されていない（完全性）ことを確認するために用いられる。

ブロック暗号 
ブロック暗号の実装を比較する。ブロック暗号は、決定論的であり、対称鍵を用いて設定された数のビット（ブロックと呼ばれる）上で動作するものとして定義される。 各ブロック暗号は、実行可能な鍵サイズとブロック暗号モードに分割することができる。

ブロック暗号 アルゴリズム

暗号モード

ストリーム暗号 
ストリーム暗号の実装を比較する。ストリーム暗号は、擬似乱数暗号の文字列と結合した平文文字列を使用する。ストリーム暗号は通常、ブロック暗号より高速でハードウェアの複雑さは減るが、攻撃の影響を受けやすくなる。

ハードウェアによるサポート 
ハードウェア暗号の使用可否を比較する。特定のハードウェアを利用できる場合、ライブラリは高速化、および/またはセキュリティを向上させることができる。

Smartcard, SIM と HSM プロトコルサポート

汎用 CPU / プラットフォームアクセラレーションサポート

マイクロコントローラ 暗号化アクセラレータサポート

コードサイズとコードコメント比率

移植性

参考文献

外部リンク 
 Crypto++ project, https://cryptopp.com/
 OpenSSL libraries libssl and libcrypto, https://wiki.openssl.org/index.php/Libcrypto_API
 SafeLogic's CryptoComply family of cryptographic libraries, https://www.SafeLogic.com
 wolfSSL embedded crypto libraries, https://wolfssl.com/wolfSSL/Products-wolfcrypt.html

ライブラリ (プログラミング)
暗号ソフトウェア
ソフトウェア
ソフトウェアの比較
比較