우선, secp128r1 이 오래되었습니다. 오늘날의 표준에 대해 더 나은 보안을 제공하는 곡선을 사용하십시오. Daniel J. Bernstein과 Tanja Lange의 안전 곡선 을 참조하십시오 .
q 크기의 필드에 정의 된 타원 곡선 과 모든 요소 -point-에는 두 개의 좌표 X 와 Y가 있습니다. 타원 곡선 Secp128r1 2 갖는다 128 -2 97 -1 크기 ℓ, 작은 2 ^ 128 점 미만, 즉 참조. 이것은 128 비트 표현이 필요하다는 것을 의미합니다.
커브의 한 지점이기도 한 공개 키에는 두 개의 좌표가 있으므로 두 개의 128 비트를 저장해야합니다.
우리는 타원 곡선의 식을 보면 Y 2 = X 3 + AX + B 여기서,
a = FFFFFFFD FFFFFFFF FFFFFFFF FFFFFF
b = E87579C1 1079F43D D824993C 2CEE5E
방정식에서 X 를 알고 있으면 Y 를 찾을 수 있습니다 . 우리가 현장에서 일하고 있기 때문에 Y 는 최대 2 개의 제곱근을 가질 수 있습니다. Y 2 는 y 또는 -y 를 제곱근으로 갖습니다 . 이 지식을 사용하여 점의 표현을 압축 할 수 있으며이를 점 압축 이라고 합니다 . x 좌표와 1 비트 만으로 y 또는 -y 를 선택할 수 있습니다. 이제 기준점을 확인하십시오 ( Certicom 권장 사항 참조 ).
base point = 03 161FF752 8B899B2D 0C28607C A52C5B86
= 04 161FF752 8B899B2D 0C28607C A52C5B86 CF5AC839 5BAFEB13 C02DA292 DDED7A83
첫 번째 옥텟 은 구조를 결정합니다
04 압축이 없음을 의미
03압축이 있음을 의미하고 y 를 양수 로 선택하십시오.
02압축이 있음을 의미하고 y 를 음수 로 선택하십시오.
이제 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
첫 옥텟 04은 압축이 없음을 의미합니다. 첫 번째 줄은 X 좌표이고 두 번째 줄은 공개 키 의 Y 좌표입니다.
개인 키 n은 어떻습니까? 0 <= n <= ℓ 사이의 스칼라 정수입니다.
개인 : 00 : 9f : bf : 2b : bd : 06 : 86 : 3a : a1 : bc : 7c : 3e : 90 : 57 : 40 : f4 : bc
따라서 위의 숫자 (포인트가 아님)는 개인 키입니다.
일부 웹 도구를 사용하여이 정보를 추출 할 수도 있습니다.
참고 : 개인 키를 공개하지 마십시오.