อ่าน 4 นาที
โฟร์คิว
ในด้าน การเข้ารหัสลับ FourQ เป็น เส้น โค้งวงรี ที่พัฒนาโดย Microsoft Research ได้ รับการออกแบบมาสำหรับรูปแบบการตกลงกุญแจ ( Diffie–Hellman เส้นโค้งวงรี ) และลายเซ็นดิจิทัล (...
โฟร์คิว
| โฟร์คิว | |
|---|---|
| นักพัฒนา | การวิจัยของไมโครซอฟต์ |
| ปล่อย | 2015 |
| เวอร์ชันเสถียร | เวอร์ชัน 3.1 |
| เขียนเป็น | ซี |
| ระบบปฏิบัติการ | วินโดวส์ 10 , ลินุกซ์ |
| แพลตฟอร์ม | IA-32 , x86-64 , ARM32 , ARM64 |
| พิมพ์ | ไลบรารีการเข้ารหัสเส้นโค้งวงรี |
| ใบอนุญาต | ใบอนุญาต MIT |
| เว็บไซต์ | www.microsoft.com/en-us/research/project/fourqlib/ |
| ที่เก็บข้อมูล | github.com/microsoft/FourQlib |
ในด้านการเข้ารหัสลับ FourQ เป็นเส้นโค้งวงรีที่พัฒนาโดยMicrosoft Research ได้ รับการออกแบบมาสำหรับรูปแบบการตกลงกุญแจ ( Diffie–Hellman เส้นโค้งวงรี ) และลายเซ็นดิจิทัล ( Schnorr ) และให้ความปลอดภัยประมาณ 128 บิต [ 1 ] มีการใช้งานอ้างอิงที่สร้างโดยผู้เขียนเอกสารต้นฉบับ การใช้งาน แบบโอเพนซอร์สเรียกว่าFourQlibและทำงานบนWindowsและLinuxและมีให้สำหรับ x86, x64 และ ARM [ 2 ]ได้รับอนุญาตภายใต้MIT Licenseและซอร์สโค้ดมีให้ใช้งานบนGitHub [ 3 ]
ชื่อนี้ได้มาจากการคูณสเกลาร์ Gallant–Lambert–Vanstone สี่มิติ ซึ่งช่วยให้สามารถคำนวณประสิทธิภาพสูงได้[ 4 ]เส้นโค้งนี้ถูกกำหนดไว้เหนือส่วนขยาย สองมิติ ของ ฟิลด์ จำนวนเฉพาะที่กำหนดโดยจำนวนเฉพาะเมอร์เซน น์
ประวัติศาสตร์
เส้นโค้งนี้ได้รับการเผยแพร่ในปี 2015 โดย Craig Costello และ Patrick Longa จากMicrosoft ResearchบนePrint [ 1 ]
เอกสารนี้ได้รับการนำเสนอในAsiacryptในปี 2015 ที่เมืองโอ๊คแลนด์ประเทศนิวซีแลนด์ และต่อมา ได้มีการเผยแพร่ การใช้งานอ้างอิงบนเว็บไซต์ของMicrosoft [ 2 ]
มีความพยายามบางประการในการกำหนดมาตรฐานการใช้เส้นโค้งภายใต้IETFความพยายามเหล่านี้ถูกยกเลิกในช่วงปลายปี 2017 [ 5 ]
คุณสมบัติทางคณิตศาสตร์
เส้นโค้งนี้ถูกกำหนดโดยสมการเอ็ดเวิร์ดส์ที่บิดเบี้ยว
เป็นจำนวนที่ไม่ใช่กำลังสองในโดยที่คือจำนวนเฉพาะเมอร์เซนน์
เพื่อหลีกเลี่ยง การโจมตีกลุ่ม ย่อยขนาดเล็ก[ 6 ]จุดทั้งหมดได้รับการตรวจสอบแล้วว่าอยู่ใน กลุ่มย่อย N - torsionของเส้นโค้งวงรีโดยที่N ถูกกำหนดให้เป็น จำนวนเฉพาะ 246 บิตที่หารลำดับของกลุ่ม
เส้นโค้งนี้มีเอนโดมอร์ฟิซึม ที่ไม่ธรรมดาอยู่สองตัว ได้แก่ที่เกี่ยวข้องกับแผนที่ Frobeniusกำลังและ ซึ่งเป็นเอนโดมอร์ฟิซึมที่คำนวณได้อย่างมีประสิทธิภาพในระดับต่ำ (ดูการคูณเชิงซ้อน )
คุณสมบัติการเข้ารหัส
ความปลอดภัย
การโจมตี ด้วยลอการิทึมแบบไม่ต่อเนื่องที่เป็นที่รู้จักดีที่สุดในปัจจุบันคืออัลกอริทึมโรของพอลลาร์ด ทั่วไป ซึ่งต้องใช้การดำเนินการกลุ่มโดยเฉลี่ยประมาณ ดังนั้นโดยทั่วไปจึงจัดอยู่ในระดับความปลอดภัย 128 บิต
เพื่อป้องกันการโจมตีแบบจับเวลาการดำเนินการกลุ่มทั้งหมดจะดำเนินการในเวลาคงที่ กล่าวคือ โดยไม่เปิดเผยข้อมูลเกี่ยวกับวัสดุสำคัญ[ 1 ]
ประสิทธิภาพ
หลักการเข้ารหัสส่วนใหญ่ โดยเฉพาะอย่างยิ่งECDHต้องการการคำนวณการคูณสเกลาร์อย่างรวดเร็ว กล่าวคือสำหรับจุดบนเส้นโค้งและจำนวนเต็มซึ่งโดยทั่วไปถือว่ามีการกระจายแบบสุ่มอย่างสม่ำเสมอทั่วทั้งช่วง
เนื่องจากเราพิจารณา กลุ่ม ย่อยวัฏจักรลำดับเฉพาะเราจึงสามารถเขียนสเกลาร์ได้เช่นนั้นและสำหรับทุกจุดใน กลุ่มย่อย N-ทอร์ชั่น
ดังนั้น สำหรับค่าที่กำหนดเราอาจเขียนได้ว่า
ถ้าเราพบค่า ที่มีขนาดเล็กเราอาจคำนวณได้อย่างรวดเร็วโดยใช้สมการโดยนัย
เทคนิคการปัดเศษของ Babai [ 7 ]ใช้เพื่อค้นหาค่าเล็กๆสำหรับ FourQ ปรากฏว่าสามารถรับประกันโซลูชันที่คำนวณได้อย่างมีประสิทธิภาพด้วย
นอกจากนี้ เนื่องจากคุณลักษณะของสนามเป็นจำนวนเฉพาะของเมอร์เซนน์การปรับเปลี่ยนจึงสามารถดำเนินการได้อย่างมีประสิทธิภาพ
คุณสมบัติทั้งสองประการ (การแยกส่วนแบบสี่มิติและลักษณะเฉพาะของจำนวนเฉพาะเมอร์เซน) ควบคู่กับการใช้สูตรการคูณที่รวดเร็ว ( พิกัด เอ็ดเวิร์ดส์แบบบิดขยาย ) ทำให้ FourQ เป็นเส้นโค้งวงรีที่เร็วที่สุดในปัจจุบันสำหรับระดับความปลอดภัย 128 บิต
การใช้งาน
FourQ ถูกนำไปใช้ในไลบรารีการเข้ารหัสCIRCL ซึ่ง เผยแพร่โดยCloudflare [ 8 ]
ดูเพิ่มเติม
ลิงก์ภายนอก
- การใช้งานอ้างอิงโดย Microsoft
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ โฟร์คิว
ในด้าน การเข้ารหัสลับ FourQ เป็น เส้น โค้งวงรี ที่พัฒนาโดย Microsoft Research ได้ รับการออกแบบมาสำหรับรูปแบบการตกลงกุญแจ ( Diffie–Hellman เส้นโค้งวงรี ) และลายเซ็นดิจิทัล (...
ประวัติศาสตร์
เส้นโค้งนี้ได้รับการเผยแพร่ในปี 2015 โดย Craig Costello และ Patrick Longa จาก Microsoft Research บน ePrint [ 1 ]
คุณสมบัติทางคณิตศาสตร์
เส้นโค้งนี้ถูกกำหนดโดยสม การเอ็ดเวิร์ดส์ที่บิดเบี้ยว
ความปลอดภัย
การโจมตี ด้วยลอการิทึมแบบไม่ต่อเนื่องที่เป็น ที่รู้จักดีที่สุดในปัจจุบันคือ อัลกอริทึมโรของพอลลาร์ด ทั่วไป ซึ่งต้องใช้การดำเนินการกลุ่มโดยเฉลี่ยประมาณ ดังนั้นโดยทั่วไปจึงจัดอยู่ในระดับความปลอดภัย 128 บิต 2 122.5 {\displaystyle 2^{122.5}}