Saved by bc
타원곡선
타원곡선
readwise.io • 타원곡선
02_타원곡선
Q1. secp256k1은 뭐냐?
A1. 타원곡선 암호(ECC)에서 쓰는 “특정 곡선”의 규격이다.
sec : Standards for Efficient Cryptography
p : 소수(Prime) 위의 유한체에서 정의됨
256 : 사용하는 수의 비트 길이(256-bit)
k1 : Koblitz 계열 곡선 중 첫 번째
Q2. secp256k1은 타원곡선 암호의 여러 곡선 중 하나인가?
A2. 그렇다. ECC에는 많은 곡선(NIST P-256 등)이 있고, 그 중 비트코인이 선택한 곡선이 secp256k1이다.
Q3. 비트코인에서 secp256k1은 어디에 쓰이나?
A3. “개인키 → 공개키”를 만드는 데 쓰는 타원곡선이다.
개인키: 큰 정수(스칼라)
공개키: secp256k1 위의 점(타원곡선 위의 좌표)
관계: 공개키 = 개인키 × 기준점(G) (점 덧셈/배수를 secp256k1 위에서 수행)
Q4. secp256k1은 디지털 서명에도 쓰이나?
A4. 예. 비트코인의 ECDSA에서
개인키: 서명 생성에 사용
공개키: 서명 검증에 사용
이때 사용되는 수학 연산(점 덧셈/스칼라 곱)이 모두 secp256k1 곡선 위에서 이루어진다.
Q5. 개인키 그 자체에는 타원곡선이 사용되지 않나?
A5. 그렇다.
개인키 = 1 ~ n-1 범위의 임의의 256비트 정수
이 “숫자 그 자체”를 만드는 데는 타원곡선이 직접적으로 개입하지 않는다.
다만 이 숫자가 secp256k1의 군(order)에 맞는 범위 안이어야 한다는 제약은 있다.
Q6. ‘prime field’는 유한체를 의미하나?
A6. “소수 차수의 유한체”를 의미한다.
일반: 유한체 = 원소 개수가 유한한 체
prime field: 원소 개수가 소수 p 개인 유한체 GF(p)
secp256k1은 GF(p) 위에 정의된 타원곡선이라서 p가 들어간다.
Q7. secp256k1 이름을 다시 정리하면?
A7. 대략 다음 의미로 기억하면 된다.
sec : Standards for Efficient Cryptography
p : prime field(소수 개수의 유한체)
256 : 256-bit 보안 파라미터
k1 : Koblitz 계열 첫 번째 곡선