構築するステップをスキップできます。接続を確立する次のようにサーバーとクライアントを別々のターミナルで実行できます。見つけることができます。基準)そのように、彼らは彼らの亜種を識別する方法を思いつく必要があり、各チームは彼ら自身のバリアント命名スキームを思いつく必要がありました。次の表を見ることができるように、これを行う方法についてのチーム間に調整はありませんでした。wolfSSLライブラリは、バリアントのNISTレベルベースの命名規則を使用しています。OQSチームは、各提出書の命名規則に従うことを選択しました。次の表を参照してください。KYBER1024コードポイントとOID私たちがサポートするポストカントゥム署名アルゴリズムとKEMは、OQSプロジェクトのOpenSSLフォークによってもサポートされています。彼らの命名規則は私たちのものとは異なりますが、同じ数値OIDとコードポイントを使用し、暗号化アーティファクトが同じライブラリによって生成および処理されるという点で完全な相互運用性があります。1.3のシガルグおよびサポートされているグループ拡張機能で使用されます。OIDは、公開キー、プライベートキー、署名の識別子として証明書およびプライベートキーで使用されます。1.3.9999.6.9.7暗号化アーティファクトサイズすべてのサイズはバイトです。29792注:Falconには、さまざまな署名サイズがあります。Liboqsは、0.7.0の古いコードとのコンパイラの非互換性により、メインブランチのba5b61a779a0db364f0e691a0a0bc8ac42e73f1bにアップグレードされました。次の構成が使用されました(特に明記しない限り)。CFLAGS="-Os"注:主にポストカントゥムアルゴリズムをベンチマークしていますが、比較目的のために従来のアルゴリズムを残しています。ランタイムバイナリサイズtls_benchのアプリケーションバイナリファイルの例は、ビルドされてから削除された後(約2.4m)2479992バイトです。--with-liboqsがなければ、ビルドされてから571832バイト(約559k)があります。これは、1908160バイト(約1.9MB)の違いです。1.3データ送信サイズ次の結果は、サンプルサーバーとクライアントを実行し、Wiresharkを介して送信されているすべての情報を記録することによって行われました。1.3ハンドシェイクが含まれます。Shizzle」を聞きます!メッセージすべてのパケットのtcp.lenを合計しました。--enable-stacksize。41760KEMグループのメモリ使用。使用し、クライアントのサーバー認証は使用しません。反復トータルタイム(S)時間(米国):平均ポップ。stdevCPUサイクル:平均ポップ。16383ベンチマーク次のベンチマークは、次の設定フラグを使用して得られました。-DHAVE_ECC384"WolfCryptのベンチマーク注:1つのコアのみが使用されます。ops/secWolfsslのベンチマーク注:これらのベンチマークに使用されているコアのみが2つだけです。ms次のベンチマークは、次の設定フラグを使用して得られました。-DHAVE_ECC521"注:これらのベンチマークに使用されているコアのみが2つだけです。Webサイトにあります。https://csrc.nist.gov/projects/post-quantum-cryptography/round-3-submissions。サイトにベンチマーク情報があります。https://openquantumsafe.org/benchmarking/ポスト量子ステートフルハッシュベース署名このセクションでは最近wolfSSLがサポートを開始したLMS/HSSなどのポスト量子ステートフルハッシュベース署名(HBS)スキームをカバーしています。動機づけステートフルHBSスキームには、さまざまな理由から関心が高まっています。ステートフルHBSスキームの主な動機はポスト量子セキュリティです。この付録で以前に説明したように、Shorのアルゴリズムを使用すると、量子コンピュータが大きな整数を効率的に因数分解し、離散対数を計算できるため、RSAやECCなどの公開鍵暗号化スキームを完全に突破できます。セキュリティに基づいており、暗号に関連する量子コンピューターの出現によって破られるとは予想されていません。2.0スイートによって推奨されています。2.0タイムラインでは、ポスト量子ステートフルHBSスキームを2030年までに独占的に使用し、採用を「直ちに」開始する必要があると指定しています。2.0スイートのスケジュールにおける最も早い要件です。ステートフルHBSスキームの性質上、その使用と状態の追跡には十分な注意が必要です。(OTS)鍵の有限セットであり、再利用することはできません。同じOTS鍵を使用して2つの異なるメッセージに署名すると、攻撃者が署名を偽造することが可能になり、スキーム全体のセキュリティが崩れてしまいます。したがって、ステートフルHBSスキームは、公共のインターネットなどの一般的な用途には適していません。代わりに、これらの独自の強みと特性、およびNISTおよびNSAの支援により、LMS/HSSなどのステートフルHBSスキームは、オフラインファームウェア認証と署名検証、特に長期間の運用が予想される組み込みシステムまたは制約付きシステムで特に重要です。したがって、暗号化に関連する量子コンピューターに対する耐性が必要です。LMS/HSS署名wolfSSLは、wolfCrypt組み込み暗号エンジンにLMS/HSSハッシュベースの署名スキームのサポートを追加しています。これは、以前のlibOQS統合と同様に、hash-sigsLMS/HSSライブラリ(https://github.com/cisco/hash-sigs)との実験的な統合によって実現されます。System(HSS)は、ポスト量子、ステートフルハッシュベース署名スキームです。公開鍵と秘密鍵が小さく、署名と検証が速いことで知られています。シグネチャのサイズは大きくなりますが、Winternitzパラメーターを介して調整できます。https://datatracker.ietf.org/doc/html/rfc8554#section-6前述したように、LMS/HSS署名システムは有限数のワンタイム署名(OTS)鍵で構成されているため、有限数の署名しか安全に生成できません。署名の数と署名のサイズは、次に説明する一連の定義済みパラメーターを介して調整できます。サポートしているパラメータLMS/HSS署名は3つのパラメータによって定義されます。ウィンターニッツチェーンで使用されるハッシュのビット数。署名サイズの時空間トレードオフとして使用されます。事前定義されています。1048576表からわかるように、署名のサイズは主にレベルとウィンターニッツパラメーター、および程度は低いですが高さによって決まります。レベル値を大きくすると、シグネチャサイズが大幅に増加します。高さの値を大きくすると、署名のサイズが適度に増加します。値を大きくすると、署名のサイズが小さくなりますが、鍵の生成と署名/検証にかかる時間が長くなります。鍵の生成時間は、第1レベルのツリーの高さによって大きく決まります。ツリーよりもはるかに高速ですLMS/HSSビルド方法wolfSSLリポジトリのINSTALLファイル(https://github.com/wolfSSL/wolfssl/blob/master/INSTALL)を参照してください。LMS/HSSライブラリを設定および構築する方法についての手順が記載されています。CPU@3.20GHzで取得されました。マルチスレッドの例では4スレッドと4コアが使用されましたが、シングルスレッドの例では1コアのみが使用されました。INSTALLファイルの項目17で説明したように、hash-sigsライブラリは2つの静的ライブラリを提供します。シングルスレッドバージョン。マルチスレッドバージョン。マルチスレッドバージョンではワーカースレッドが生成され、鍵生成などのCPUを集中的に使用するタスクが高速化されます。これにより、主にすべてのパラメータ値に対する鍵の生成と署名が高速化され、程度は低いですが、より大きなレベル値の検証が高速化されます。参考までに、wolfSSLは両方のベンチマークを取得するために次のようにして構築されました。共にビルドして取得したベンチマークデータです。これは単一のコアのみを使用します。