กลับไปหน้าบทความ

อ่าน 6 นาที

เอ็มแอล-เคเอ็ม

ML-KEM ( Module-Lattice-Based Key-Encapsulation Mechanism ) หรือที่รู้จักกันในชื่อเดิมว่า Kyber เป็น กลไกการห่อหุ้มกุญแจ (KEM) ที่ออกแบบมาเพื่อต้านทาน การโจมตี ทางคริปทานิซีเลชัน...

เอ็มแอล-เคเอ็ม

ML-KEM ( Module-Lattice-Based Key-Encapsulation Mechanism ) หรือที่รู้จักกันในชื่อเดิมว่าKyberเป็นกลไกการห่อหุ้มกุญแจ (KEM) ที่ออกแบบมาเพื่อต้านทาน การโจมตี ทางคริปทานิซีเลชันด้วยคอมพิวเตอร์ควอนตัม ที่มีประสิทธิภาพสูงในอนาคต ซึ่งได้รับการกำหนดมาตรฐานในปี 2024 [ 1 ]ใช้เพื่อสร้างความลับร่วมกันระหว่างสองฝ่ายที่สื่อสารกันโดยที่ผู้โจมตีในระบบส่งข้อมูลไม่สามารถถอดรหัสได้ ( IND-CCA2 ) ระบบการเข้ารหัสแบบไม่สมมาตร นี้ ใช้รูปแบบหนึ่งของปัญหาแลตทิซการเรียนรู้ที่มีข้อผิดพลาด เป็น ฟังก์ชัน กับดัก พื้นฐานได้รับรางวัลจากการแข่งขัน NIST สำหรับมาตรฐาน การเข้ารหัสหลังควอนตัม (PQC) แรก[ 2 ]และต่อมาได้รับการกำหนดมาตรฐานเป็นFIPS 203

คุณสมบัติ

ระบบนี้ใช้พื้นฐานจาก ปัญหา การเรียนรู้โมดูลที่มีข้อผิดพลาด (M-LWE) ร่วมกับวงแหวนไซโคลโท มิ ก[ 3 ]เมื่อเร็วๆ นี้ ยังมีการลด ความปลอดภัยทางคณิตศาสตร์อย่างเป็นทางการที่เข้มงวด ของปัญหาวงแหวน LWE ไปสู่ ​​MLWE อีก ด้วย [ 4 ​​] [ 5 ]เมื่อเปรียบเทียบกับวิธีการ PQ ที่แข่งขันกัน ระบบนี้มีข้อดีทั่วไปของวิธีการที่ใช้แลตทิซ เช่น ในแง่ของเวลาการทำงาน ตลอดจนขนาดของข้อความเข้ารหัสและวัสดุคีย์[ 6 ]

มีการกำหนดตัวแปรที่มีระดับความปลอดภัยต่างกัน ได้แก่ ML-KEM-512 ( ระดับความปลอดภัย NISTระดับ 1), ML-KEM-768 (ระดับความปลอดภัย NIST ระดับ 3) และ ML-KEM-1024 (ระดับความปลอดภัย NIST ระดับ 5) [ 7 ]ที่ระดับ ML-KEM-768 คีย์ลับมีขนาด 2400 ไบต์ คีย์สาธารณะ 1184 ไบต์ และข้อความเข้ารหัส 1088 ไบต์[ 8 ] [ 9 ]

ด้วยการใช้งานที่ได้รับการปรับให้เหมาะสม หน่วยความจำ 4 กิโลไบต์ก็เพียงพอสำหรับการดำเนินการเข้ารหัสลับ[ 10 ]สำหรับ สถานการณ์การเข้ารหัส แชท โดยใช้ liboqs การแทนที่ การแลกเปลี่ยนคีย์ECDHที่มีประสิทธิภาพสูงมากแต่ไม่ปลอดภัยจากควอนตัม โดยใช้ Curve25519พบว่าทำให้เวลาทำงาน เพิ่มขึ้น ประมาณ 2.3 เท่า (1.5–7) การใช้พลังงานเพิ่มขึ้นประมาณ 2.3 เท่า (1.4–3.1) และมีข้อมูลส่วนเกินเพิ่ม ขึ้นประมาณ 70 เท่า (48–92) [ 11 ] การดำเนินการแฮชภายในคิดเป็นส่วนใหญ่ของเวลาทำงาน ซึ่งอาจได้รับประโยชน์อย่างมากจาก การเร่งความเร็วฮาร์ดแวร์ที่ เกี่ยวข้อง

ประวัติศาสตร์

ก่อนที่จะมีการกำหนดมาตรฐาน ML-KEM เป็นที่รู้จักในชื่อ Kyber Kyber ซึ่งพัฒนามาจากวิธีการที่ตีพิมพ์ในปี 2548 โดยOded Regevได้รับการพัฒนาโดยนักพัฒนาจากยุโรปและอเมริกาเหนือ ซึ่งทำงานให้กับมหาวิทยาลัยของรัฐหรือสถาบันวิจัยต่างๆ หรือบริษัทเอกชน โดยได้รับการสนับสนุนทางการเงินจากคณะกรรมาธิการยุโรปสวิตเซอร์แลนด์ เนเธอร์แลนด์ และเยอรมนี[ 12 ]พวกเขายังได้พัฒนาระบบลายเซ็นที่เกี่ยวข้องและเสริมกัน คือ Dilithium (ต่อมาได้รับการกำหนดมาตรฐานเป็น ML-DSA) ซึ่งเป็นส่วนประกอบอีกอย่างหนึ่งของ "ชุดการเข้ารหัสสำหรับแลตทิซพีชคณิต" (CRYSTALS) เช่นเดียวกับวิธีการ PQC-KEM อื่นๆ Kyber ใช้การแฮช ภายในอย่างกว้างขวาง ในกรณีของ Kyber จะใช้Keccak เวอร์ชันต่างๆ ( SHA-3 /SHAKE) เพื่อ สร้างตัวเลขสุ่มเทียมเป็นต้น[ 10 ]

ในปี 2017 วิธีการดังกล่าวได้ถูกส่งไปยังสถาบันมาตรฐานและเทคโนโลยีแห่งชาติ ของสหรัฐอเมริกา (NIST) สำหรับกระบวนการคัดเลือก สาธารณะ สำหรับมาตรฐานแรกสำหรับพรีมิทีฟการเข้ารหัสที่ปลอดภัยจากควอนตัม (NISTPQC) นับเป็นกลไกการห่อหุ้มกุญแจแรกที่ได้รับการคัดเลือกสำหรับการกำหนดมาตรฐาน (และเป็นกลไกเดียวที่ได้รับการคัดเลือกในรอบที่สามของกระบวนการกำหนดมาตรฐานของ NIST) [ 4 ]ตามหมายเหตุท้ายรายงานที่ประกาศการตัดสินใจ ระบุว่าขึ้นอยู่กับการดำเนินการตาม ข้อตกลงที่เกี่ยวข้องกับ สิทธิบัตร ต่างๆ โดยมีNTRUเป็นตัวเลือกสำรอง ในปี 2025 ภายในรอบที่สี่ของกระบวนการกำหนดมาตรฐาน แผนการ HQC ได้รับการคัดเลือกสำหรับการกำหนดมาตรฐานเป็นตัวเลือกสำรอง

ในขั้นตอนที่สองของกระบวนการคัดเลือก พารามิเตอร์หลายอย่างของอัลกอริทึมได้รับการปรับ และการบีบอัดคีย์สาธารณะถูกยกเลิก[ 10 ]ล่าสุด NIST ให้ความสนใจเป็นพิเศษกับต้นทุนในแง่ของเวลาการทำงานและความซับซ้อนสำหรับการใช้งานที่ปกปิดเวลาการทำงานเพื่อป้องกันการโจมตีช่องทางด้านข้าง ที่เกี่ยวข้อง (SCA) [ 4 ]

วิวัฒนาการ

Kyber ได้รับการเปลี่ยนแปลงในระหว่างกระบวนการกำหนดมาตรฐาน NIST โดยเฉพาะอย่างยิ่งในการส่งสำหรับรอบที่ 2 (เรียกว่าKyber v2 ) คุณสมบัติต่อไปนี้ได้รับการเปลี่ยนแปลง: [ 13 ]

  • ลบการบีบอัดคีย์สาธารณะออกแล้ว (เนื่องจากความเห็นของ NIST เกี่ยวกับการพิสูจน์ความปลอดภัย)
  • ค่าพารามิเตอร์qลดลงเหลือ 3329 (จาก 7681)
  • พารามิเตอร์การบีบอัดข้อความเข้ารหัสถูกเปลี่ยนแปลง
  • นิยาม ของการแปลงเชิงทฤษฎีจำนวน (NTT) ได้ถูกเปลี่ยนแปลงไปในแนวทางเดียวกับNTRUเพื่อการคูณพหุนามที่เร็วขึ้น
  • ลดค่าพารามิเตอร์สัญญาณรบกวนเหลือη = 2เพื่อให้การสุ่มตัวอย่างสัญญาณรบกวนเร็วขึ้น
  • การเปลี่ยนรูปแบบคีย์สาธารณะเป็นโดเมน NTT เพื่อลดขั้นตอนการทำงานของ NTT

การส่งเข้ารอบที่ 3 ได้รับการปรับแต่งเพิ่มเติม: [ 14 ]

  • การใช้การแปลงฟูจิซากิ-โอคาโมโตะ (การแปลง FO) ที่ได้รับการดัดแปลง
  • ระดับเสียงรบกวนเพิ่มขึ้นและการบีบอัดข้อความที่เข้ารหัสลดลงสำหรับชุดพารามิเตอร์ระดับ 1
  • ปรับปรุงอัลกอริธึมการสุ่มตัวอย่าง

ในร่างมาตรฐาน FIPS 203 ฉบับแรก (IPD) มีการเปลี่ยนแปลงเพิ่มเติมดังนี้: [ 15 ]

  • ความยาวของรหัสลับที่ใช้ร่วมกันถูกกำหนดไว้ที่ 256 บิต
  • รูปแบบที่แตกต่างกันของการแปลง FO
  • การใช้การสร้างค่าสุ่มที่ได้รับการอนุมัติจาก NIST และการลบการดำเนินการที่เคยป้องกันความเป็นไปได้ของการสร้างค่าสุ่มที่ผิดพลาด
  • การตรวจสอบข้อมูลป้อนเข้าอย่างชัดเจน

การเปลี่ยนแปลงที่เกิดขึ้นนับตั้งแต่ร่างฉบับแรกสำหรับเผยแพร่ต่อสาธารณะ ได้แก่: [ 15 ]

  • มีการเพิ่มการแยกโดเมนในการสร้างคีย์
  • การแก้ไขความไม่ตรงกันของดัชนีที่เกิดขึ้นโดยไม่ได้ตั้งใจใน FIPS 203 IPD

การใช้งาน

ภาพหน้าจอของหน้าทดสอบCloudflare หลังการใช้ข้อตกลงคีย์ควอนตัม (Quantum Key Agreement) แสดงให้เห็นว่า Firefox 135.0 ใช้คีย์ X25519MLKEM768

นักพัฒนาได้เผยแพร่การใช้งานอ้างอิงสู่สาธารณะ (หรือภายใต้CC0 ) ซึ่งเขียนด้วยภาษาC [ 16 ] ไลบรารีโปรแกรมliboqs ของโครงการ Open Quantum Safe (OQS) มีการใช้งานตาม[ 17 ]ดังกล่าว[ 11 ] OQS ยังดูแลโมดูล Provider ที่ปลอดภัยจากควอนตัมสำหรับOpenSSL 3.x [ 18 ]และได้รวมโค้ดเข้ากับBoringSSL นอกจากนี้ ไลบรารีwolfSSLยังดูแลการใช้งาน ML-KEM ของตนเอง[ 19 ]มีการใช้งานจำนวนหนึ่งที่ใช้ภาษาโปรแกรมอื่นๆ จากนักพัฒนาบุคคลที่สาม รวมถึงJavaScriptและJava [ 20 ] [ 21 ] [ 22 ] มีการใช้งานฮาร์ดแวร์ที่ปรับให้เหมาะสม (ฟรี )หลายอย่าง รวมถึงหนึ่งอย่างที่ทนต่อการโจมตีแบบ side-channel [ 23 ] [ 24 ]สำนักงานความปลอดภัยข้อมูลของรัฐบาลกลางเยอรมนีตั้งเป้าหมายที่จะนำไปใช้ในThunderbirdและในบริบทนี้ยังรวมถึงการนำไปใช้ใน ไลบรารีโปรแกรม Botanและการปรับเปลี่ยนมาตรฐานOpenPGP ที่เกี่ยวข้องด้วย [ 25 ] Amazon Web Services (AWS) ได้รวม Kyber เข้ากับบริการจัดการคีย์ (KMS)ในปี 2020 ในฐานะตัวเลือกการแลกเปลี่ยนคีย์แบบไฮบริดหลังควอนตัมสำหรับการเชื่อมต่อTLS [ 26 ]ในปี 2023 บริการส่งข้อความเข้ารหัสSignalได้นำPQXDHซึ่งเป็นอัลกอริธึมการเข้ารหัสหลังควอนตัมแบบ Kyber มาใช้ในSignal Protocolของ พวกเขา [ 27 ] [ 28 ]

การนำไปใช้

  • เว็บไซต์อย่างเป็นทางการ
  • kyberบนGitHub
  • วิธีการดั้งเดิมโดยOded Regev (2005), "เกี่ยวกับแลตติส การเรียนรู้ด้วยข้อผิดพลาด รหัสเชิงเส้นแบบสุ่ม และการเข้ารหัส" , รายงานการประชุมประจำปีครั้งที่ 37 ของ ACM ว่าด้วยทฤษฎีการคำนวณ (STOC '05) (เป็นภาษาเยอรมัน), บัลติมอร์, แมริแลนด์, สหรัฐอเมริกา: ACM Press, หน้า 84, arXiv : 2401.03703 , doi : 10.1145/1060590.1060603 , ISBN 978-1-58113-960-0, S2CID  53223958{{citation}}: CS1 maint: work parameter with ISBN (link)
  • FIPS 203 "มาตรฐานกลไกการห่อหุ้มกุญแจแบบโมดูลแลตติซ"
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=ML-KEM&oldid=1359884128 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ เอ็มแอล-เคเอ็ม

ML-KEM ( Module-Lattice-Based Key-Encapsulation Mechanism ) หรือที่รู้จักกันในชื่อเดิมว่า Kyber เป็น กลไกการห่อหุ้มกุญแจ (KEM) ที่ออกแบบมาเพื่อต้านทาน การโจมตี ทางคริปทานิซีเลชัน...

คุณสมบัติ

ระบบนี้ใช้พื้นฐานจาก ปัญหา การเรียนรู้โมดูลที่มีข้อผิดพลาด (M-LWE) ร่วมกับ วงแหวน ไซโคลโท มิ ก [ 3 ] เมื่อเร็วๆ นี้ ยังมี การลด ความปลอดภัยทางคณิตศาสตร์อย่างเป็นทางการที่เข้มงวด ของปัญหาวงแหวน LWE ไปสู่ ​​MLWE อีก ด้วย [ 4 ​​] [ 5 ] เมื่อเปรียบเทียบกับวิธีการ...

ประวัติศาสตร์

ก่อนที่จะมีการกำหนดมาตรฐาน ML-KEM เป็นที่รู้จักในชื่อ Kyber Kyber ซึ่งพัฒนามาจากวิธีการที่ตีพิมพ์ในปี 2548 โดย Oded Regev ได้รับการพัฒนาโดยนักพัฒนาจากยุโรปและอเมริกาเหนือ ซึ่งทำงานให้กับมหาวิทยาลัยของรัฐหรือสถาบันวิจัยต่างๆ หรือบริษัทเอกชน...

วิวัฒนาการ

Kyber ได้รับการเปลี่ยนแปลงในระหว่างกระบวนการกำหนดมาตรฐาน NIST โดยเฉพาะอย่างยิ่งในการส่งสำหรับรอบที่ 2 (เรียกว่า Kyber v2 ) คุณสมบัติต่อไปนี้ได้รับการเปลี่ยนแปลง: [ 13 ]