Điểm:2

Modulo p trong Mật mã đường cong Elliptic

lá cờ vn

Để thực hiện mật mã đường cong elip giữa các bên, tất cả các phương trình đường cong elip được coi là ở dạng $\bmod p$?

Ví dụ, các $secp256k1$ Đường cong bitcoin của phương trình $y^2=x^3+7$ sử dụng $\bmod p$, ở đâu $p=2^{256}-2^{32}-977$.

Điểm:5
lá cờ ng

Để thực hiện mật mã đường cong elip giữa các bên, tất cả các phương trình đường cong elip được coi là ở dạng $\bmod p$?

Có đối với secp256k1 khi nói đến tọa độ điểm, nhưng không phải đối với mọi đường cong.

Đường cong elip được sử dụng cho mật mã đang hoạt động với tọa độ trong một Cánh đồng Galois $\mathbb F_q$. Nó phải giữ $q=p^m$ cho một số nguyên tố $p$, và $m\ge1$. Các $\bmod p$ trường hợp tương ứng với $m=1$, và là phổ biến nhất và được công nhận (Ed25519, secp256k1, secp256r1 là những ví dụ). Một lựa chọn tương đối phổ biến khác là $q=2^m$, xem ví dụ sec2v2 phần 3. Các giá trị khác cũng được sử dụng, ví dụ: $q=9767^{19}$ ở đó.

$2^m$ có lợi thế về tốc độ trong phần cứng hoặc khi phép nhân các số nguyên tốn kém do truyền lan truyền qua các bit. Tổng quát hơn, $p^m$ với sự cân bằng về kích thước của $p$$m$ có thể dễ dàng thực hiện song song.


Ngoài ra: ngay cả đối với các đường cong với tọa độ Trong $\mathbb F_p$ với $p$ nguyên tố như secp256k1, một số phép tính liên quan đến đại lượng nhân các điểm đường cong (bao gồm các phép tính liên quan đến khóa riêng) được thực hiện theo thứ tự của đường cong, thường được ghi chú $n$ và số nguyên tố, và khác nhau của $p$.

poncho avatar
lá cờ my
Có, bạn có thể sử dụng Đường cong Elliptic được xác định trên các trường mở rộng (đối với khán giả, là các trường $\mathbb{F}_{p^k}$ cho $k > 1$); mặt khác, đường cong secp256k1 mà anh ấy đã hỏi, và về vấn đề đó, đối với các đường cong mà chúng tôi hiện đang sử dụng 99% thời gian, là các đường cong nguyên tố - tức là các đường cong mà chúng tôi có thể thực hiện các phép tính của mình theo modulo $p$
Điểm:3
lá cờ in

Số nguyên tố trong định nghĩa của đường cong Secp256k1

thủ tướng $p$ là một phần của thiết kế, phân tích và định nghĩa đường cong xác định $\mathbb{F_P}$. Nếu ai đó sử dụng một cách khác $p$ sau đó chúng có các đường cong khác nhau cần được phân tích rồi xuất bản và phân phối để giao tiếp với đường cong này.

Để giao tiếp $p$, phương trình đường cong ( ở đây $(a,b)$), điểm gốc $G$, điểm ở vô cực, thứ tự đường cong $n$, và đồng yếu tố $h$ được cung cấp trong tiêu chuẩn.

Đây là bộ sáu $T = (p,a,b,G,n,h)$ va cho bí mật256k1 Là;

  • ''p'' = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F
  • = $2^{256} - 2^{32} - 2^9 - 2^8 - 2^7 - 2^6 - 2^4 - 1$

đường cong $E: y^2 = x^3+ax+b$ trên $\mathbb{F}_p$ được định nghĩa bởi:

  • ''a'' = 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
  • ''b'' = 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000007

Điểm cơ sở G ở dạng nén là:

  • ''G'' = 02 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798 và ở dạng không nén là:
  • ''G'' = 04 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798 483ADA77 26A3C465 5DA4FBFC 0E1108A8 FD17B448 A6855419 9C47D48BF Cuối cùng thứ tự ''n'' của ''G'' và đồng sáng lập là:
  • ''n'' = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141
  • ''h'' = 01

Các $a,b,p,G$ là đủ để giao tiếp, tuy nhiên, không cần phải tính toán lại phần còn lại.


Một ví dụ nhỏ để chứng minh rằng chúng hoàn toàn khác nhau.

K = GF(19)
E = EllipticCurve(K,[0,7])
in(E)
in(E.order())
in(E.abelian_group())

sau đó $n = 12$ và nhóm đường cong đẳng cấu với $\mathbb{Z}_6 \oplus \mathbb{Z}_2$

K = GF(31)
E = EllipticCurve(K,[0,7])
in(E)
in(E.order())
in(E.abelian_group())

sau đó $n = 21$ và nhóm đường cong đẳng cấu với $\mathbb{Z}_{21}$

Tất nhiên, có thể tìm thấy hai bộ dữ liệu, $(p_1,a_1,b_1)$$(p_2,a_2,b_2)$ sao cho chúng có cùng nhóm điểm.Điều này không đáng lo ngại, người ta chỉ cần bộ sáu chuẩn hóa.

Có phải chúng ta bị hạn chế $\mathbb{F}_p$?

Nếu bạn đang hỏi, chúng ta nên luôn sử dụng trường nguyên tố $\mathbb{F}_p$ thì câu trả lời là không. Trường hữu hạn bất kỳ $\mathbb{F}_{p^m}$ là tốt miễn là an toàn và nhanh chóng. Nhìn thấy của Fgrieu trả lời để biết chi tiết.

Thứ tự nhóm đường cong

Một số đường cong như secp256k1 được thiết kế để có thứ tự nguyên tố (tức là số điểm là số nguyên tố). Những người khác như Curve25519 và Curve448 không có đơn đặt hàng chính. Điều này giúp họ có biểu diễn Montgomery có phép nhân vô hướng nhanh bằng Thang Montgomery. Những người khác có thể có thang Joyce kém hiệu quả hơn.

Chúng tôi không muốn thứ tự đường cong bằng $p$ trong trường hợp này, đường cong là một đường cong dị thường và nó không an toàn.

Mô đun trong Phép nhân vô hướng

Các nhân bản vô tính $[k]P$ điều này thực sự có nghĩa là thêm $P$ chính nó $k$-lần. Chính thức hơn;

để cho $k \in \mathbb{N}\dấu gạch chéo ngược\{ 0\}$

\begin{align} [k]:& E \đến E\ &P\mapsto [k]P=\underbrace{P+P+\cdots+P}_{\text{$k$ times}}.\end{align}

và bằng cách là bản sắc $[0]P = \mathcal{O}$.

Trong khi tính toán điều này, chúng tôi sử dụng thứ tự của điểm $P$, nếu đường cong có thứ tự nguyên tố như secp256k1 thì tất cả các phần tử ngoại trừ danh tính đều có cùng thứ tự nguyên tố. Chúng ta có sự bình đẳng này

$$[k]P = [k \bmod \text{ord}(P)]P$$

và chúng tôi sử dụng $P$'s với thứ tự chính để giảm thiểu các cuộc tấn công.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.