1 คะแนน โดย GN⁺ 2023-10-24 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • เนื้อหานี้กล่าวถึงการใช้งาน Dilithium บน Java ซึ่งเป็นอัลกอริทึมการเข้ารหัสที่มีความต้านทานต่อการโจมตีจากควอนตัมคอมพิวติ้ง
  • Dilithium เป็นส่วนหนึ่งของชุดอัลกอริทึม CRYSTALS ที่อิงกับโครงตาข่ายเชิงพีชคณิต
  • อัลกอริทึมนี้ถูกพัฒนาขึ้นเพื่อตอบโจทย์ช่องโหว่ของ RSA และ ECC ต่อการโจมตีจากคอมพิวเตอร์ควอนตัม
  • สถาบันมาตรฐานและเทคโนโลยีแห่งชาติสหรัฐฯ (NIST) แนะนำ Dilithium ให้เป็นอัลกอริทึมหลักสำหรับระบบลายเซ็นดิจิทัลยุคหลังควอนตัม
  • การใช้งานบน Java รองรับทั้งสามระดับความปลอดภัยทั้งหมด (ระดับ 2, 3, 5) โดยใช้ระบบลายเซ็นแบบกำหนดแน่นอน
  • การใช้งานนี้ผ่านการทดสอบ KAT ทั้งหมดในแพ็กเกจ และรองรับการซีเรียลไลซ์และดีซีเรียลไลซ์ด้วยรูปแบบที่มีการจัดทำเอกสารไว้
  • เนื้อหานี้มีคู่มืออย่างละเอียดเกี่ยวกับการใช้งาน DilithiumProvider, การสร้างคู่กุญแจ, การลงนาม, การตรวจสอบลายเซ็น และการซีเรียลไลซ์/ดีซีเรียลไลซ์กุญแจ
  • การใช้งานนี้ไม่ได้มีไว้สำหรับโค้ดระดับพร้อมใช้งานจริงในระบบผลิต แต่ก็อาจมีประโยชน์สำหรับการศึกษาและทดลองอัลกอริทึมยุคหลังควอนตัม
  • เนื้อหานี้ยังระบุข้อสงวนสิทธิ์ว่าไลบรารีสามารถใช้งานได้ภายใต้สัญญาอนุญาต Apache 2.0 และยังไม่ได้รับการตรวจสอบช่องโหว่ที่อาจมีโดยบุคคลที่สาม
  • ผู้เขียนแนะนำให้ผู้ที่ไม่เห็นด้วยกับเงื่อนไขเหล่านี้งดใช้ซอฟต์แวร์

1 ความคิดเห็น

 
GN⁺ 2023-10-24
ความเห็นจาก Hacker News
  • ผู้เขียนโปรเจกต์ยินดีที่ผลงานของตนได้รับความนิยมบน Hacker News โปรเจกต์นี้เป็น implementation แบบทดลองของอัลกอริทึมเข้ารหัสที่ต้านทานการประมวลผลควอนตัม เขียนด้วย Java และสร้างขึ้นเพื่อความสนุกและการเรียนรู้เป็นหลัก
  • ส่วนสำคัญของ implementation สามารถดูได้บน GitHub จากลิงก์ที่ให้ไว้
  • มีข้อถกเถียงว่าการใช้อัลกอริทึมเข้ารหัสที่ต้านทานควอนตัมเป็นความคิดที่ดีกว่าการใช้อัลกอริทึมที่เป็นที่ยอมรับมากกว่าอย่าง RSA/ECDSA หรือไม่
  • มีการกล่าวถึงคำเตือนเกี่ยวกับการที่ NSA เผยแพร่ implementation ที่มีข้อบกพร่องของ post-quantum cryptography
  • มีคำถามเกี่ยวกับผลกระทบต่อบิตคอยน์ หากมีคอมพิวเตอร์ควอนตัมที่สามารถถอดรหัส RSA และ ECC ได้
  • ผู้ใช้อีกรายได้แชร์ implementation ภาษา Java ของระบบลายเซ็น post-quantum อย่าง sphincs+ ที่ใช้งานได้บน GitHub
  • โปรเจกต์นี้ถูกทำขึ้น "เพื่อความสนุก" และไม่ใช่โค้ดระดับ production โดยตั้งใจให้ใช้เพื่อเรียนรู้และทดลองกับอัลกอริทึม post-quantum ผู้ใช้ควรใช้งานโดยรับความเสี่ยงเอง
  • ผู้ใช้คนหนึ่งแซวอย่างขำ ๆ ว่าตอนแรกคาดว่าจะเป็น One-Time Pad (OTP)