wolfCryptはAES EAXをサポートします

AES EAXとは?

AES(Advanced Encryption Standard)は、TLS1.3プロトコルでは主要なブロック暗号アルゴリズムです。AESには利用モードがいくつか存在し、CCMやGCMなどのモードが挙げられます。EAXはこの利用モードの一つで”Encrypt then Authenticate then Translate”を意味します。EAXモードは、CTRモード(カウンタモード)とOMAC(One-Key CBC MAC)を組み合わせて使用しています。

EAXモードの特徴は:

  1. 暗号化と認証の組み合わせ:データを暗号化しながら、そのデータの整合性と真正性も同時に保護します(AEAD)。
  2. 関連データのサポート:暗号化しない追加のデータ(例:ヘッダ情報)の真正性も保護できます。これはAEADモードの特徴の一つです。
  3. nonceの使用:EAXモードは一意のnonce(number used once)を使用することで、同じキーとメッセージを使用しても異なる暗号文が生成されます。ただし、同じnonceとキーを再利用するとセキュリティが損なわれるので、nonceの管理は重要です。

EAXモードは、その設計が比較的シンプルでありながら、高いセキュリティを提供することで知られています。ただし、EAXは現時点でIETFの標準(RFC)に含まれてはいません。

wolfSSLでの利用方法

wolfSSLでAES EAX を有効にするには、コンフィギュレーションオプションとして”-–enable-aeseax” を渡してビルドするだけです。( オートツールを使用せずにビルドする場合は、WOLFSSL_AES_EAX プリプロセッサ マクロを定義するだけでなく、WOLFSSL_AES_COUNTER、WOLFSSL_AES_DIRECT、および WOLFSSL_CMACを定義してAES CTRおよびCMACアルゴリズムのサポートを有効にする必要があります。)

AES EAX APIと簡単な使用例は、wolfCrypt AES APIドキュメントに記載されています。 完全な使用例については、wolfcrypt/test/test.c の aes_eax_test()関数を参照してください。

ご質問がありましたら, info@wolfSSL.jp までご連絡ください。

原文:https://www.wolfssl.com/wolfcrypt-now-supports-aes-eax/