เครื่องมือดำเนินการจุดเส้นโค้งวงรีออนไลน์
คำนวณการบวกจุดบนเส้นโค้งวงรี y²=x³+ax+b มอดุโล p ป้อน a, p, P, Q แล้วได้ผลลัพธ์ทันที พร้อ…
เริ่มใช้งาน
คุณสมบัติและตัวอย่างการใช้งาน
เครื่องมือนี้ช่วยให้คุณเข้าใจการดำเนินการบวกจุดบนเส้นโค้งวงรีในฟิลด์จำกัด (prime field) ซึ่งเป็นพื้นฐานของวิทยาการเข้ารหัสลับเส้นโค้งวงรี (ECC) โดยคุณสามารถทดลองกับค่าต่างๆ เพื่อดูว่าการบวกจุดทำงานอย่างไร
ตัวอย่างที่ตรวจสอบแล้ว
ป้อนค่าเริ่มต้น: a = 2, p = 17, P = (5, 1), Q = (6, 3) ผลลัพธ์ที่ได้คือ P + Q = (10, 6) ซึ่งตรงตามการคำนวณที่ตรวจสอบแล้ว
การทำงานของเครื่องมือ
- รองรับเส้นโค้งรูปแบบสั้น: y² = x³ + ax + b (มอดุโล p)
- คำนวณความชันสำหรับจุดที่ต่างกัน: (yQ - yP) / (xQ - xP) มอดุโล p
- คำนวณความชันสำหรับการเพิ่มจุด (doubling): (3xP² + a) / (2yP) มอดุโล p
- ใช้ขั้นตอนวิธีแบบยุคลิดขยาย (extended Euclidean algorithm) เพื่อหาค่าผกผันการคูณแบบมอดุโล
- ตรวจสอบว่า p เป็นจำนวนเฉพาะ และจุดทั้งสองอยู่บนเส้นโค้งเดียวกัน
- จำกัดค่า p ไม่เกิน 200000 เพื่อให้การคำนวณอยู่ในช่วงจำนวนเต็มปลอดภัยของ JavaScript
ข้อจำกัด
เครื่องมือนี้รองรับการบวกจุดเพียงครั้งเดียว ไม่มีการคูณสเกลาร์ เส้นโค้งที่ตั้งชื่อ หรือการเข้ารหัสแบบเต็มรูปแบบ เหมาะสำหรับการศึกษาและการตรวจสอบตัวอย่างเล็กๆ เท่านั้น ไม่ควรใช้สำหรับการเข้ารหัสจริง
คำถามที่พบบ่อย
1. จะเกิดอะไรขึ้นถ้าป้อนจุดที่ไม่อยู่บนเส้นโค้งเดียวกัน?
ระบบจะปฏิเสธการคำนวณและแสดงข้อผิดพลาด เนื่องจากค่า b ถูกกำหนดจากจุด P และจุด Q ต้องอยู่บนเส้นโค้งที่ได้
2. ทำไมผลลัพธ์บางครั้งเป็น "จุดที่อนันต์"?
เมื่อจุดสองจุดมีพิกัด x เท่ากันแต่พิกัด y เป็นค่าตรงข้ามกัน (เช่น y และ -y มอดุโล p) เส้นตรงที่ลากผ่านจุดทั้งสองจะตั้งฉากกับแกน x และไม่มีจุดตัดที่สามบนเส้นโค้ง ผลลัพธ์จึงเป็นจุดที่อนันต์ (point at infinity)
3. ค่า p สูงสุดที่ใช้ได้คือเท่าใด?
p ต้องเป็นจำนวนเฉพาะระหว่าง 3 ถึง 200000 เพื่อให้การคำนวณเลขคณิตอยู่ในช่วงที่ปลอดภัยของ JavaScript และการตรวจสอบจำนวนเฉพาะมีประสิทธิภาพ
หมายเหตุ: การคำนวณทั้งหมดเกิดขึ้นในเบราว์เซอร์ของคุณ ข้อมูลจะไม่ถูกส่งออกไปยังเซิร์ฟเวอร์ แต่เครื่องมือนี้ไม่ใช่การเข้ารหัสที่ปลอดภัยสำหรับการใช้งานจริง
การประมวลผลเกิดขึ้นภายในเบราว์เซอร์ของคุณ