Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
hqc-x86-simd — AVX2およびAVX-512 with GFNI向けに最適化されたHQCポスト量子KEM実装、さらにx86 IoTゲートウェイ向けの統合ベンチマークおよびNIST KATスイート。 | Kitploit
ツール/GitHubGitHub/jihoonjang98/hqc-x86-simd
組み込みシステムセキュリティ暗号化/復号化ツールIoTセキュリティ暗号化ハードウェアとIoTセキュリティ論文と研究
GitHubjihoonjang98/hqc-x86-simd

hqc-x86-simd

AVX2およびAVX-512 with GFNI向けに最適化されたHQCポスト量子KEM実装、さらにx86 IoTゲートウェイ向けの統合ベンチマークおよびNIST KATスイート。

リポジトリを見る
121ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

AVX2およびAVX-512向け最適化HQC実装

このリポジトリには、論文*「Accelerating HQC for Post-Quantum TLS 1.3 on x86 IoT Gateways」*に付随する最適化HQC実装とベンチマークコードが含まれています。 これは公式HQCリポジトリのフォークであり、AVX-512 + GFNI実装と、比較対象のすべての実装を同一のコードベース、コンパイラフラグ、ベンチマークプロトコルからビルドする統合計測スイートで拡張されています。

すべての実装はHQC-1、HQC-3、HQC-5のNIST既知解答テスト(KAT)に合格し、参照実装の入力非依存の制御フローとメモリアクセスパターンを維持しています。

実装

src/x86_64/以下の各バリアントは、構成時に-DHQC_X86_IMPL=<variant>で選択され、それぞれ独自のライブラリとテストバイナリにビルドされます。

バリアント論文での表記ISA説明
avx256HQC referenceAVX2公式の最適化実装(ベースライン)
avx256_TC_JangJang et al.AVX2GFmulOpt Toom-Cook/Karatsuba乗算
avx256_TC_GFNIOurs (AVX2)AVX2+GFNIAVX2ビルド上での我々のGFNI Reed-Solomon / Reed-Mullerデコーダ
avx256_FAFFT_GFNI_chenChen et al.AVX2+GFNIFAFFT乗算、元の非キャッシュフロー
avx256_FAFFT_GFNI_chen_x2Chen et al. (dagger)AVX2+GFNI共有オペランドring_mul_x2フローを用いたFAFFT
avx256_FAFFT_GFNI_oursOurs FAFFT (AVX2)AVX2+GFNIFAFFT + ゼロテール基底変換 + 我々のデコーダ
avx512_RobertRobert–VéronAVX-512Robert–VéronのAVX-512多項式乗算
avx512_CabralCabral et al.AVX-512+GFNICabral et al.のソースコード(2026-07-21の上流HQC-3 hash_j修正を含む)
avx512_TC_GFNIOurs TC/Karat (AVX-512)AVX-512+GFNIAVX-512 Toom-Cook/Karatsuba、GFNIデコーダ、AVX-512 Keccak
avx512_FAFFT_GFNIOurs FAFFT (AVX-512)AVX-512+GFNIChen et al.のAVX2実装のAVX-512移植

各ISAの2つのOursビルドは多項式乗算器のみが異なるため、それらのエンドツーエンド比較により乗算器の選択を分離できます。

ビルド

要件: GCC >= 12、CMake >= 3.21、x86-64 CPU。AVX-512バリアントにはAVX-512F/BW/DQ/VL/VBMI/VBMI2/IFMA/BITALG/VPOPCNTDQ、VPCLMULQDQ、GFNIが必要です(Ice Lake / Tiger Lake / Rocket Lake / Zen 4以降)。

# one variant
mkdir build-avx512_TC_GFNI && cd build-avx512_TC_GFNI
cmake -DHQC_ARCH=x86_64 -DHQC_X86_IMPL=avx512_TC_GFNI ..
cmake --build . -j

# or every variant at once (creates build-<variant>/ directories)
./build_all.sh

既知解答テスト

# from the repository root, after building
bash scripts/run_kat.sh                      # all variants
bash scripts/run_kat.sh avx512_TC_GFNI       # one variant

注: test_kat_hqc_*は成功時には何も出力せず、不一致時にはbadを含む行を出力します。スクリプトはそれに応じて出力をgrepします。

ベンチマーク

論文のプロトコル: Turbo BoostとSMTを無効化し、プロセスを1つの物理コアに固定し、報告されるすべての値は10,000回のウォームアップ反復後の100反復×1,000サンプルの中央値です。スクリプトはtasksetでコア0に固定します。

bash scripts/measure_build.sh <variant> [...]  # end-to-end KEM benchmark of the given variants

生ログはbenchmark_results/raw/に書き込まれます。ベンチマークは最小値/中央値/平均値を報告し、中央値が論文で引用されている値です。

リポジトリ構成

src/common/          parameter-set independent HQC code (KEM layer, coding)
src/ref/             reference implementation
src/x86_64/common/   AVX2-era shared code
src/x86_64/<variant> one directory per compared implementation (see table)
lib/fips202/         Keccak (scalar PQClean + optional XKCP AVX-512 permutation)
tests/               KAT, API, unit tests, benchmarks
kats/                known-answer files used by the KAT tests
scripts/             KAT and measurement helper scripts

ライセンスと帰属

ベースリポジトリと我々の追加分はパブリックドメインとして公開されています(LICENSEを参照)。このリポジトリはさらに計測目的でサードパーティ実装をベンダリングしています。それらの出版物、出所、ライセンスについてはTHIRD_PARTY_NOTICES.mdを参照してください。

ツールをダウンロード