เครื่องมือสาธิตการวิเคราะห์รหัสแลตทิซออนไลน์
ป้อนเวกเตอร์ฐานสองตัวและช่วงสัมประสิทธิ์ 1-100 เพื่อค้นหาเวกเตอร์ที่สั้นที่สุดในแลตทิซสอง…
เริ่มใช้งาน
ตัวอย่างการใช้งานจริง
สมมติคุณต้องการศึกษาแลตทิซที่สร้างจาก v1 = (2, 1) และ v2 = (1, 2) ป้อนค่าเหล่านี้และตั้งค่า range = 5 เครื่องมือจะค้นหาคู่ (i, j) ทั้งหมดที่ i และ j อยู่ระหว่าง -5 ถึง 5 (ยกเว้น (0,0)) และคำนวณความยาวของ i*v1 + j*v2 ตัวอย่างเช่น (i=1, j=-1) ให้เวกเตอร์ (1, -1) ซึ่งมีความยาว sqrt(2) ≈ 1.41421 และอาจเป็นผลลัพธ์ที่สั้นที่สุดในช่วงนี้
พารามิเตอร์และการประมวลผล
เครื่องมือนี้ใช้การแจงนับแบบละเอียด (exhaustive enumeration) ไม่ใช้อัลกอริทึม LLL หรือ BKZ โดยจะตรวจสอบทุกคู่สัมประสิทธิ์ในช่วงที่กำหนด และเลือกเวกเตอร์ที่มีความยาวกำลังสองน้อยที่สุด หากมีความยาวเท่ากันหลายเวกเตอร์ จะแสดงเพียงเวกเตอร์เดียวที่พบ
ข้อจำกัดที่ควรทราบ
- ผลลัพธ์ขึ้นอยู่กับช่วงที่เลือก หากเพิ่มช่วงอาจพบเวกเตอร์ที่สั้นกว่า แต่ใช้เวลานานขึ้น
- เครื่องมือนี้เหมาะสำหรับการศึกษาแลตทิซสองมิติเท่านั้น ไม่เหมาะสำหรับการประเมินความปลอดภัยของระบบเข้ารหัสแบบแลตทิซจริง
- ไม่มีการรับประกันว่าเวกเตอร์ที่พบเป็นเวกเตอร์ที่สั้นที่สุดในแลตทิซทั้งหมด เนื่องจากจำกัดการค้นหาในช่วงที่กำหนด
คำถามที่พบบ่อย
1. ทำไมผลลัพธ์จึงเปลี่ยนไปเมื่อเพิ่มค่า range?
เพราะเครื่องมือค้นหาเฉพาะคู่สัมประสิทธิ์ในช่วงที่กำหนด หากเพิ่มช่วง จะมีคู่ให้ตรวจสอบมากขึ้น และอาจพบเวกเตอร์ที่สั้นกว่าเดิม
2. เครื่องมือนี้ใช้กับมิติที่สูงกว่าได้หรือไม่?
ไม่ เครื่องมือนี้ถูกออกแบบมาสำหรับแลตทิซสองมิติเท่านั้น และไม่รองรับการป้อนเวกเตอร์ที่มีมิติมากกว่า 2
3. ความยาวที่แสดงถูกปัดเศษหรือไม่?
ใช่ ความยาวแบบยุคลิดจะถูกปัดเป็นทศนิยม 5 ตำแหน่ง แต่การคำนวณภายในใช้ค่าที่แม่นยำกว่า
การประมวลผลเกิดขึ้นภายในเบราว์เซอร์ของคุณ