타원곡선 DSA

타원곡선 DSA(Elliptic Curve Digital Signature Algorithm, ECDSA)는 타원곡선을 이용한 전자서명 알고리즘이다.

정의역 매개변수

  • 모두 정의역 매개변수(domain parameter)로 (CURVE, g, n) 을 사용하기로 합의한다.
    • CURVE : 타원곡선 체(field)와 여기에 사용된 수식이다.
    • g : 타원곡선의 기준점(base point)이다. 해당 타원곡선의 생성원(generator)이다.
    • n : g의 차수이다. n X g = 0이며, 반드시 소수이어야 한다. 보통 충분히 큰 소수를 사용한다.

절차

앨리스는 키쌍 ( d A , Q A ) {\displaystyle (d_{A},Q_{A})} 를 만든다.

  • d는 무작위로 선택된 1부터 n-1사이의 정수로서, 개인키이다.
  • Q는 Q=dg를 만족하는 정수로서, 공개키이다.

서명

  • 앨리스가 메시지m을 다음 절차를 따라 서명한다.
    1. e=H(m)이고, H는 암호학적 해쉬함수이다.
    2. z는 e의 이진 값에서 왼쪽으로부터 L n {\displaystyle L_{n}} 번째 까지를 잘라낸 값( L n {\displaystyle L_{n}} leftmost bits of e)이다.   L n {\displaystyle L_{n}} 는 n의 비트 길이(bit length)이다.
    3. 암호학적으로 안전한 난수 k를 [1, n-1] 사이에서 무작위로 선택한다.
    4. 곡선 위의 점 ( x 1 , y 1 ) = k g {\displaystyle (x_{1},y_{1})=k*g} 를 계산한다.
    5. r = x 1 ( mod n ) {\displaystyle r=x_{1}{\pmod {n}}} 을 계산한다. 만약 r=0이면 3으로 되돌아가 다른 k를 다시 선택하여 순서대로 진행한다.
    6. s = k 1 ( z + r d A ) ( mod n ) {\displaystyle s=k^{-1}(z+rd_{A}){\pmod {n}}} 을 계산한다. 만약 s=0이면 3으로 되돌아가 다른 k를 다시 선택하여 순서대로 진행한다.
  • 완성된 서명은 (r, s)이다.

검증

밥이 앨리스의 서명을 인증하려면, 앨리스의 공개키를 미리 알아야 한다.

곡선 위의 점 인증

  • Q A O ( i d e n t i t y   e l e m e n t ) {\displaystyle Q_{A}\neq O(identity\ element)} 인지 확인한다.
  • Q A {\displaystyle Q_{A}} 가 곡선 위의 점(curve point)인지 확인한다.
  • n × Q A = O {\displaystyle n\times Q_{A}=O} 인지 확인한다.

서명 유효성 인증

  • r,s가 1부터 n-1사이의 정수인지 확인한다. 아니면 서명은 무효이다.
  • e=H(m)을 계산한다. H는 앨리스가 서명 생성에 썼던 해쉬함수이다.
  • z는 e의 이진 값에서 왼쪽으로부터 L n {\displaystyle L_{n}} 번째 까지를 잘라낸 값이다.
  • w = s 1 ( mod n ) {\displaystyle w=s^{-1}{\pmod {n}}} 을 계산한 다음, u 1 = z w ,   u 2 = r w ( mod n ) {\displaystyle u_{1}=zw,\ u_{2}=rw{\pmod {n}}} 를 계산한다.
  • Shamir’s trick을 사용해서 ( x 1 , y 1 ) = u 1 × g + u 2 × Q A {\displaystyle (x_{1},y_{1})=u_{1}\times g+u_{2}\times Q_{A}} 을 계산한다. 만약 ( x 1 , y 1 ) = O {\displaystyle (x_{1},y_{1})=O} 이면 서명은 무효이다.
  • r x 1 ( mod n ) {\displaystyle r\equiv x_{1}{\pmod {n}}} 일때만 유효하다. 아니면 모두 무효이다.
  • v
  • t
  • e
알고리즘
이론표준
  • ANS X9F1
  • CRYPTREC
  • IEEE P1363
  • NESSIE
기타
  • v
  • t
  • e
인물
그룹
  • 비트코인 기업 목록
  • 비트코인 단체 목록
기술
  • 비트코인 네트워크
  • 블록체인
  • 컬러드 코인
  • 암호화폐
  • Cryptocurrency tumbler
  • ECDSA
  • 가상화폐공개
  • 라이트닝 네트워크
  • P2P
  • POW
  • 세그윗
  • SHA-2
  • 크립토캐시(Cipher-core)
소프트웨어 클라이언트
교환
파산
  • 버터코인
  • Mt. Gox
  • 비트인스턴트
  • BTC-e
  • 위키백과 책
  • 분류 분류