Score:0

เป็นไปได้ไหมที่จะให้คำจำกัดความของการคูณจุดบนเส้นโค้งวงรี?

ธง ie

อย่างที่เราทราบกันดีว่าอย่างน้อยในการเข้ารหัส การดำเนินการกลุ่มบนเส้นโค้งวงรีเป็นเพียงการเพิ่มจุด (https://en.wikipedia.org/wiki/Elliptic_curve_point_multiplication) ซึ่งกำหนดไว้ที่ $E:y^{2}=x^{3}+a x+b$ เช่น: $\left(x_{p}, y_{p}\right)+\left(x_{q}, y_{q}\right)=\left(x_{r}, y_{r}\right)$, $\lambda=\frac{y_{q}-y_{p}}{x_{q}-x_{p}}$, $x_{r}=\lambda^{2}-x_{p}-x_{q}$, $y_{r}=\lambda\left(x_{p}-x_{r}\right)-y_{p}$. คำถามของฉันคือ เราสามารถให้คำจำกัดความที่มีความหมายสำหรับการคูณจุดได้หรือไม่?

kelalaka avatar
in flag
มีทฤษฎีคณิตศาสตร์อยู่เบื้องหลังสิ่งนี้: [Z-Module](https://en.wikipedia.org/wiki/Module_(mathematics)); นั่นคือ กลุ่มอาเบเลียนทุกกลุ่มเป็นโมดูลบนวงแหวนของจำนวนเต็ม Z ในลักษณะที่ไม่เหมือนใคร...
user77340 avatar
ie flag
@kelalaka ขอบคุณมาก! คำตอบของคุณยังช่วยให้ฉันเข้าใจสิ่งนี้ได้ดีขึ้นด้วย ใช่ ฉันแค่พบว่ามันมีประโยชน์ต่อการวิจัยของฉัน ถ้ามีเทคนิคแบบนั้นสักอย่าง แต่ตอนนี้ฉันรู้แล้วว่ามันไม่ใช่อย่างนั้น ขอบคุณ!
kelalaka avatar
in flag
ที่เกี่ยวข้อง [ฉันจะคูณสองจุดบนเส้นโค้งวงรีได้อย่างไร](https://crypto.stackexchange.com/q/88214/18298)
Score:4
ธง ng

บนเส้นโค้งวงรีที่เรามี

  • นอกจากนี้จุด $C:=A+B$ กำหนดไว้สำหรับสองจุดใด ๆ $A$ และ $B$ ของเส้นโค้ง (มักมีกฎพิเศษสำหรับ $A=B$ หรือจุดพิเศษบางจุดแล้วแต่ระบบพิกัด)
  • เป็นกลาง $\infty$ ดังนั้น $A+\infty=\infty+A=A$ สำหรับทุกอย่าง $A$ บนทางโค้ง (รวมถึง $\infty$)
  • ตรงข้าม $-A$ แต่อย่างใด $A$ บนทางโค้งแบบนั้น $A+(-A)=(-A)+A=\infty$ (กับ $\infty$ ตรงกันข้ามเอง)

การเพิ่มจุดคือการเชื่อมโยงและการสับเปลี่ยน

จากนี้เราสามารถกำหนดการคูณจุดด้วยจำนวนเต็ม $i\in\mathbb Z$ (หรือที่เรียกว่าการคูณแบบสเกลาร์) เช่น $$i\times A\underset{\text{def}}=\begin{cases} \infty&\text{if }i=0\ ((i-1)\times A)+A&\text{if }i>0\ (-i)\times (-A)&\text{if }i<0 \end{กรณี}$$

จากนี้ก็เป็นไปตามนั้นสำหรับทุกคน $A$ และ $B$ บนทางโค้ง (รวมถึง $\infty$) และจำนวนเต็มทั้งหมด $i$, $เจ$มันถือ $$\begin{จัด} (i+j)\times A&=(i\times A)+(j\times A)\ i\times(A+B)&=(i\times A)+(i\times B)\ (i\times j)\times A&=i\times (j\times A)\ \end{align}$$ โดยที่ด้านบนซ้ายบวกและการคูณซ้ายล่างอยู่ใน $\mathbb Z$และการดำเนินการอื่นๆ ทั้งหมดคือการบวกจุดหรือการคูณจุดด้วยจำนวนเต็ม

เมื่อเราพูดถึงการคูณในการเข้ารหัสแบบ Elliptic Curve นั่นมักจะเป็นการคูณด้วยจำนวนเต็ม


ในการกำหนดการคูณของคะแนน เราจำเป็นต้องกำหนดจุดใดจุดหนึ่ง $G$ และจำกัดคะแนน $A$ ที่สามารถรับได้เป็น $A=a\ครั้ง G$ สำหรับจำนวนเต็ม $a\in\mathbb Z$. พวกเขาสร้างกลุ่มย่อยของเส้นโค้ง หลายกลุ่มที่ใช้ในการเข้ารหัสแบบ Elliptic Curve เป็นวงจร ซึ่งหมายความว่ามีอยู่จริง $G$ เพื่อให้ได้จุดใด ๆ ของกลุ่มด้วยวิธีนี้ สำหรับเส้นโค้งบางส่วน (ที่มีจุดจำนวนเฉพาะรวมถึง $\infty$เช่น secp256k1 หรือ secp384r1) จุดใดก็ได้ $G$ นอกเหนือจากนี้ $\infty$ สามารถใช้ได้และทุกจุดของเส้นโค้งจะเป็นรูปแบบนี้ $A=a\ครั้ง G$.

สำหรับเส้นโค้งวงรีบนฟิลด์จำกัดที่ใช้ในการเข้ารหัส มีจำนวนเต็มบวกอย่างเคร่งครัดน้อยที่สุด $n$ ดังนั้น $n\times G=\infty$ (คำสั่งของ $G$) และนั่นคือลำดับ (จำนวนองค์ประกอบ) ของกลุ่มย่อยดังกล่าวด้วย สำหรับใดๆ $A$ ในกลุ่มย่อยนี้มีการกำหนดเฉพาะ $a\in[0,n)$ กับ $A=a\ครั้ง G$.

จากนั้นเราสามารถกำหนดผลคูณของจุด $A=a\ครั้ง G$ และ $B=b\คูณ G$ กับ $a,b\in[0,n)$ เป็นประเด็น $$A\times B\underset{\text{def}}=(a\times b\bmod n)\times G$$ ผลคูณของจุดโค้งวงรีนั้นสืบทอดการเชื่อมโยง, การสับเปลี่ยน, เป็นกลาง $G$จากคุณสมบัติที่สอดคล้องกันของการคูณใน $\mathbb Z_n$. การกระจาย w.r.t. การเพิ่มจุดถือ อีกด้วย, $(i\times A)\times B=i\times(A\times B)$ เก็บทุกแต้ม $A$, $B$ ผลิตภัณฑ์ใดถูกกำหนดและจำนวนเต็มทั้งหมด $i$.

เมื่อไร $n$ เป็นจำนวนเฉพาะ (ซึ่งถือเป็นส่วนโค้งและตัวสร้างส่วนใหญ่ $G$ ใช้ใน ECC) จุดใดก็ได้ $A$ ยกเว้น $\infty$ มีผกผัน $A^{-1}$ ดังนั้น $A\times A^{-1}=A^{-1}\times A=G$. ถ้า $A=a\ครั้ง G$, แล้ว $A^{-1}=(a^{-1}\bmod n)\times G$.

ขอให้สังเกตว่าคำจำกัดความของการคูณนี้ขึ้นอยู่กับตัวเลือกของ $G$และใช้สำหรับเส้นโค้งทั้งหมดเฉพาะเมื่อกลุ่มเส้นโค้งวงรีเป็นวงกลม

นอกจากนี้ เรายังสามารถคำนวณ $C=A\คูณ B$ อย่างมีประสิทธิภาพหากเรารู้ $a$ กับ $A=a\ครั้ง G$ (เช่น $C:=a\ครั้ง B$) หรือ ทราบ $ข$ กับ $B=b\คูณ G$ (เช่น $C:=b\times A$). แต่อย่างอื่น อัลกอริทึมที่รู้จักกันดีก็มีราคา $\Theta(\sqrt n)$ ในคอมพิวเตอร์มาตรฐาน จึงไม่ใช่เวลาพหุนาม w.r.t. ขนาดบิตของ $n$.

user77340 avatar
ie flag
นั่นคือสิ่งที่ฉันต้องการ! ขอบคุณ!
kelalaka avatar
in flag
เมื่อคุณไปที่คำตอบเชิงความรู้ คุณควรพูดถึงการคูณสเกลาร์ ทฤษฎีเกี่ยวกับสิ่งนี้คือโมดูล และ EC คือโมดูล Z เนื่องจากพวกมันกำลังสร้างกลุ่มอาเบลเลียนภายใต้การเพิ่มเติมโมดูลคือการผ่อนคลายจากช่องว่างเวกเตอร์ การคูณไม่ได้กำหนดไว้อย่างดี บางทีคุณควรเขียนเป็น $\times_G$ เพื่อระบุการกระทำของ $G$ ในการดำเนินการ
Score:2
ธง sa

กลุ่ม ตามความหมายมีการดำเนินการเดียวเท่านั้น คุณต้องใช้เซมิริงเป็นอย่างน้อยกับการดำเนินการ âmultiplicationâ ใหม่ที่เข้ากันได้กับการเพิ่ม Elliptic Curve

เท่าความรู้ของฉันไม่มีคำจำกัดความที่มีความหมายเช่นนี้

user77340 avatar
ie flag
เข้าใจแล้ว. ฉันแค่คิดว่าถ้าเป็นไปได้ที่จะให้ แต่อย่างไรก็ตาม ขอบคุณ!
kelalaka avatar
in flag
@ user77340 ไม่ เป็นไปไม่ได้ที่จะกำหนดการดำเนินการกลุ่มเป็นการคูณ EC สร้าง **โมดูล Z นั่นคือ** สิ่งที่ Fgriue กำหนดไม่ใช่การคูณที่เรารู้จากทฤษฎีกลุ่ม สิ่งที่กำหนดเป็นการกระทำขององค์ประกอบฐานที่เลือก หากว่ากันไปแล้วเราอาจจะพูดถึง EC is the ring!

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา