ECC(Elliptic Curve Cyptography) : 공개키 암호기술 구현 방식 중 하나이다. RSA에 비해 더 작은 데이터로 RSA와 비슷한 보안성능을 제공한다.
ECDSA: ECC가 실제 디지털 서명 방식으로 구현된 알고리즘은 ECDSA라고 부른다.
비트코인과 이더리움에서도 ECDSA의 secp256k1커브방식을 채택하여 전자서명을 한다.
y^2 = x^3 + 7
이를 유한한 공간에서 표현하기 위해서 mod p를 통해 갈루아 필드상에서 표시한다.
ECDSA의 비밀키 공유 방법
1. 엘리스와 철수는 개인키로 Pr1와 Pr2를 생성.
2. 타원곡선 연산을 통해 계산된 결과값 R1, R2 값을 서로 교환.
3. 앨리스는 밥로부터 받은 R2에 개인키 Pr1을 타원곡선 연산해서 비밀키 S를 생성한다.
(밥도 같은 방법으로 비밀키 S생성)
4. 따라서 별도의 키교환 없이 비밀키를 공유할 수 있다.
PKI
- ECC에서 곡선 위의 점 P1, P2를 선택하면 우리는 이를 직선으로 연결하여 P3를 찾을 수 있다.
위의 서술의 수식 (Doubling) : P1 + P2 = P3
- Private Key는 d, P보다 작은 소수(d)이다.
- Public Key는 Q = d x G 이다.
- Q = (G + G + ... + G)로 표현된다.
- G는 공개된 좌표 Q(Public Key)와 G를 알때 d(Private Key)를 구하는 것은 이산대수의 어려움으로 매우 어렵다.
'[Web3.0] > 블록체인' 카테고리의 다른 글
비트코인의 UTXO (0) | 2023.02.14 |
---|---|
비트코인의 컨센서스 (Consensus) (0) | 2023.02.13 |
Bitcoin 거래 서명 (0) | 2023.02.13 |
Bitcoin Address 생성 (0) | 2023.02.13 |
솔리디티 기본 문법 (0) | 2022.07.19 |