Trước hết, secp128r1 đã lỗi thời. Sử dụng các đường cong cung cấp bảo mật tốt hơn cho tiêu chuẩn ngày nay. Xem an toàn của Daniel J. Bernstein và Tanja Lange.
Một Elliptic Curve định nghĩa trên một lĩnh vực kích thước q và mọi phần tử -point- có hai tọa độ X và Y . Đường cong Elliptic Secp128r1 có 2 128 -2 97 -1 kích thước ℓ, tức là số điểm nhỏ hơn 2 ^ 128. Điều này có nghĩa là chúng ta cần biểu diễn 128 bit.
Khóa công khai cũng là một điểm trên đường cong có hai tọa độ, do đó, chúng ta cần lưu trữ hai 128 bit.
Nếu chúng ta nhìn vào phương trình của đường cong elliptic Y 2 = X 3 + ax + b ở đâu
a = FFFFFFFD FFFFFFFF FFFFFFFF FFFFFF
b = E87579C1 1079F43D D824993C 2CEE5E
nếu chúng ta biết X từ phương trình chúng ta có thể tìm thấy Y . Vì chúng ta đang làm việc trong một lĩnh vực, Y có thể có tối đa hai căn bậc hai. Y 2 sẽ có y hoặc -y là căn bậc hai. Kiến thức này có thể được sử dụng để nén biểu diễn của một điểm và nó được gọi là nén điểm . Chỉ cần tọa độ x và một bit để chọn y hoặc -y . Bây giờ hãy nhìn vào điểm cơ bản (xem khuyến nghị của Certicom )
base point = 03 161FF752 8B899B2D 0C28607C A52C5B86
= 04 161FF752 8B899B2D 0C28607C A52C5B86 CF5AC839 5BAFEB13 C02DA292 DDED7A83
Các octet đầu tiên xác định cấu trúc
04
có nghĩa là không có nén
03
có nghĩa là có nén và chọn y là dương
02
có nghĩa là có nén và chọn y là âm
Bây giờ biến thành các tham số của OP;
pub:
04:
04:ce:24:34:d4:cb:f2:58:94:2f:8a:5f:06:d7:3f:ed: -->X
5a:50:ef:fb:cc:b7:49:62:16:62:9e:aa:d5:30:a8:a5 -->Y
octet đầu tiên 04
có nghĩa là không có nén. Dòng đầu tiên là tọa độ X và dòng thứ hai là tọa độ Y của khóa chung của bạn.
Còn khóa riêng n thì sao? Nó chỉ là một vô hướng -integer- trong khoảng 0 <= n <= ℓ
private: 00: 9f: bf: 2b: bd: 06: 86: 3a: a1: bc: 7c: 3e: 90: 57: 40: f4: bc
Do đó, số trên - không phải điểm - là khóa riêng của bạn.
Bạn cũng có thể sử dụng một số công cụ web để trích xuất thông tin này.
Lưu ý: vui lòng không để lộ khóa riêng của bạn.