يدخل التشفير ما بعد الكم في النشر. يدعم ICICLE by @Ingo_zk الآن ML-KEM (Kyber) مع مجموعات المعلمات الكاملة والتجميع والعمليات غير المتزامنة. دعنا نفك هذا! 👇
@Ingo_zk ML-KEM (آلية تغليف المفاتيح الشبكية النمطية) هو متغير Kyber القياسي بموجب FIPS 203 ، المصمم لتشفير ما بعد الكم. وافق NIST على ثلاثة مستويات: Kyber512 (المستوى 1) و Kyber768 (المستوى 3) و Kyber1024 (المستوى 5).
@Ingo_zk ICICLE v3.9.0 ينفذ ML-KEM في C ++ مع دعم كامل لجميع مجموعات المعلمات الثلاثة. العمليات الرئيسية - إنشاء المفاتيح ، والتغليف ، وإزالة الكبسولة - يتم إنشاء مثيل للقالب عبر Kyber {512,768,1024}Params.
أحجام @Ingo_zk بايت لكل مجموعة معلمات: - Kyber512: PK = 800B ، SK = 1632B ، CT = 768B - Kyber768: PK = 1184B ، SK = 2400B ، CT = 1088B - Kyber1024: PK = 1568B ، SK = 3168B ، CT = 1568B
@Ingo_zk تدعم بنية MlKemConfig العمليات غير المتزامنة وتلميحات موقع الجهاز (مثل public_keys_on_device) والتجميع (batch_size). تتوفر خطافات الضبط عبر ConfigExtension* ext للتحسين الخاص بالواجهة الخلفية.
توقيعات @Ingo_zk واجهة برمجة التطبيقات: - كجن (الانتروبيا ، التكوين ، public_keys ، secret_keys) - encapsulate(رسالة ، public_keys ، تكوين ، نصوص مشفرة ، shared_secrets) - decapsulate(secret_keys ، نصوص مشفرة ، تكوين ، shared_secrets)
تتيح @Ingo_zk Batching التوازي في تبادل المفاتيح - وهو أمر بالغ الأهمية للتطبيقات القابلة للتطوير مثل المراسلة الآمنة و PQ VPN. تشير العلامات من جانب الجهاز إلى وقت تشغيل ICICLE حول مواقع الذاكرة الموجودة مسبقا لتقليل عمليات النقل.
يتضمن @Ingo_zk ICICLE مثالا على الاستخدام ل Kyber768: التخصيص ، وجيل الانتروبيا ، وإنشاء زوج المفاتيح ، والتغليف ، وإزالة الكبسلات. النمط منظم ومتسق عبر مجموعات المعلمات.
@Ingo_zk يتوافق هذا التنفيذ مع المواصفات النهائية ل NIST FIPS 203 (يونيو 2025). إنه مصمم للتكامل في تطبيقات C++ المدركة ل PQC، خاصة تلك التي تستفيد من تسريع الأجهزة.
‏‎1.83‏K