สิ่งที่ทำให้คุณสับสนคือการที่คุณพิจารณาว่า การคูณสเกลาร์ (ในสัญกรณ์ของคุณ $x\cdot P$) เช่น การคูณ บนฟิลด์จำกัด จริงๆ แล้ว;
เดอะ การคูณสเกลาร์ บนเส้นโค้งวงรี $[x]P$ จริง ๆ แล้วหมายถึงการเพิ่ม $พี$ นั่นเอง $x$- ครั้ง นี่คือวิธีคำนวณจุดสาธารณะ จากคีย์ส่วนตัว อันแรกคือจุดบนเส้นโค้ง ส่วนหลังคือจำนวนเต็ม เป็นทางการมากขึ้น
อนุญาต $x \in \mathbb{N}\แบ็กสแลช\{ 0\}$
\begin{จัด}
[x]:& E \ถึง E\
&P\mapsto [x]P=\underbrace{P+P+\cdots+P}_{\text{$x$ ครั้ง}}.\end{align}
ที่นี่ $P+P =[2]P\;(=2\cdot P)$ หมายถึง นอกจากนี้จุด และมีสูตรพิเศษที่ได้มาจากกฎสัมผัส-คอร์ด ด้วยการเพิ่มจุดนี้ สำหรับเส้นโค้งที่กำหนดบนเขตข้อมูลจำกัด จุดจะก่อตัวเป็นกลุ่มอาเบลเลียนที่จำกัด และด้วยการคูณแบบสเกลาร์ เราได้ $Z$-โมดูล.
เมื่อเราพูดถึงการให้ $[x]P$ และ $พี$ การหา $x$ คือ ปัญหาลอการิทึมไม่ต่อเนื่อง บนเส้นโค้งวงรี ในบางโค้งนั้นเป็นเรื่องง่าย อย่างไรก็ตาม ใน secp256k1 นั้นไม่ง่ายและการโจมตีแบบคลาสสิกมีค่าใช้จ่าย $\mathcal{O}(\sqrt{n}$) ในขณะที่ $n = คำสั่งซื้อ(P)$ กับ โรของพอลลาร์ด. การโจมตีที่ดีที่สุดที่ใช้คือ อัลกอริทึมจิงโจ้ของ Pollard รุ่นคู่ขนาน บน $2^{114}$ ช่วงเวลา
อัลกอริทึมของชอร์ (ถ้าเคยนำไปใช้ขนาดจริงและแก้ปัญหาได้หมด) สามารถแก้ลอการิทึมแยกในเวลาพหุนามได้ สามารถดูการประเมินการโจมตีได้ที่นี่
ที่จริงแล้ว ไม่จำเป็นต้องมี $y$ ประสานงานเพื่อโจมตี สามารถมีได้สูงสุดสองรายการ $y$ ค่าที่กำหนด $x$ ตราบเท่าที $x$ คือพิกัดของจุดที่สมการเส้นโค้ง
ECDSA มาตรฐานในทางกลับกัน ปัญหาจริงบางอย่างนอกเหนือจากอัลกอริทึมการหาช่วงเวลาของ Pollard's Rho และ Shor
ทำซ้ำของ nonce: รหัสส่วนตัวรั่วไหลทันที
ความลำเอียงในเครื่องกำเนิดตัวเลขสุ่มสำหรับโนเซ่ การโจมตีแบบแลตทิซเผยให้เห็นกุญแจ แม้แต่อคติเล็กน้อย
สุ่มสั้น ๆ ใช่ที่มีอยู่ใน Bitcoin;
เรามีทางเลือกที่ดีกว่า ECDSA ที่กำหนดขึ้น โดย Thomas Pornin และ Bitcoin และอื่น ๆ เริ่มใช้