Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
hqc-x86-simd — تطبيقات HQC المُحسَّنة لـ KEM ما بعد الكمّي لـ AVX2 و AVX-512 مع GFNI، بالإضافة إلى مجموعة موحّدة للقياس المرجعي و NIST KAT لبوابات إنترنت الأشياء x86. | Kitploit
أدوات/GitHubGitHub/jihoonjang98/hqc-x86-simd
أمان الأنظمة المدمجةأدوات التشفير/فك التشفيرأمان إنترنت الأشياءالتشفيرأمان الأجهزة وإنترنت الأشياءالأوراق والأبحاث
GitHubjihoonjang98/hqc-x86-simd

hqc-x86-simd

تطبيقات HQC المُحسَّنة لـ KEM ما بعد الكمّي لـ AVX2 و AVX-512 مع GFNI، بالإضافة إلى مجموعة موحّدة للقياس المرجعي و NIST KAT لبوابات إنترنت الأشياء x86.

عرض المستودع
12منذ شهر واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

تطبيقات HQC المحسّنة لـ AVX2 و AVX-512

يحتوي هذا المستودع على تطبيقات HQC المحسّنة وشيفرة القياس المرجعي (benchmarking) المصاحبة للورقة البحثية "Accelerating HQC for Post-Quantum TLS 1.3 on x86 IoT Gateways". وهو تفريع (fork) من مستودع HQC الرسمي، موسّع بتطبيقات AVX-512 + GFNI ومجموعة قياس موحّدة تبني كل تطبيق مُقارَن من نفس قاعدة الشيفرة، وأعلام المترجم، وبروتوكول القياس المرجعي.

تجتاز جميع التطبيقات اختبارات الإجابة المعروفة (KAT) الخاصة بـ NIST لـ HQC-1 و HQC-3 و HQC-5، وتحافظ على تدفق التحكم المستقل عن المدخلات ونمط الوصول إلى الذاكرة الخاص بالتطبيق المرجعي.

التطبيقات

يُختار كل متغيّر ضمن src/x86_64/ وقت الإعداد (configure) عبر -DHQC_X86_IMPL=<variant> ويُبنى في مكتبته وملفات اختباره الثنائية الخاصة به.

المتغيّرتسمية الورقةISAالوصف
avx256HQC referenceAVX2التطبيق الرسمي المحسّن (خط الأساس)
avx256_TC_JangJang et al.AVX2ضرب GFmulOpt Toom-Cook/Karatsuba
avx256_TC_GFNIOurs (AVX2)AVX2+GFNIمفكّكات GFNI Reed-Solomon / Reed-Muller الخاصة بنا على بناء AVX2
avx256_FAFFT_GFNI_chenChen et al.AVX2+GFNIضرب FAFFT، التدفق الأصلي غير المخزّن مؤقتًا
avx256_FAFFT_GFNI_chen_x2Chen et al. (dagger)AVX2+GFNIFAFFT مع تدفق ring_mul_x2 ذي المعامل المشترك
avx256_FAFFT_GFNI_oursOurs FAFFT (AVX2)AVX2+GFNIFAFFT + تحويل أساسي بذيل صفري + مفكّكاتنا
avx512_RobertRobert–VéronAVX-512ضرب كثيرات الحدود AVX-512 من Robert–Véron
avx512_CabralCabral et al.AVX-512+GFNIالشيفرة المصدرية من Cabral et al. (تتضمن إصلاحهم لـ HQC-3 hash_j بتاريخ 2026-07-21)
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+GFNIنقل AVX-512 لتطبيق Chen et al. على AVX2

يختلف بناءا Ours لكل ISA فقط في مضاعِف كثيرات الحدود، لذا تعزل مقارنتهما الشاملة اختيار المضاعِف.

البناء

المتطلبات: GCC >= 12، CMake >= 3.21، معالج x86-64. تتطلب متغيّرات 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 عند عدم التطابق؛ ويقوم السكربت بفحص المخرجات وفقًا لذلك.

القياسات المرجعية

بروتوكول الورقة: تعطيل Turbo Boost و SMT، وتثبيت العملية على نواة فيزيائية واحدة، وكل قيمة مُبلَّغ عنها هي الوسيط لـ 1,000 عيّنة من 100 تكرار بعد 10,000 تكرار تسخين. تثبّت السكربتات على النواة 0 باستخدام taskset.

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 لمنشوراتها، ومصادرها، وتراخيصها.

تنزيل الأداة