Skip to content

Latest commit

 

History

History
29 lines (21 loc) · 1.3 KB

ed25519.md

File metadata and controls

29 lines (21 loc) · 1.3 KB

ed25519 패키지

ECC ed25519 signature algorithm를 제공하는 패키지 📝

GenerateKey

func GenerateKey(rand io.Reader) (PublicKey, PrivateKey, error)

  • ed25519 키 생성 함수로, 시스템 변수를 통해 random하게 키 쌍을 생성함.
  • 가끔 낮은 확률로 올바르지않은(키 길이가 다른) 키 쌍을 생성하는 경우가 발생함.

Sign

func Sign(privateKey PrivateKey, message []byte) []byte

  • privatekey로 message에 대한 서명을 생성하는 함수

Verify

func Verify(publicKey PublicKey, message, sig []byte) bool

  • publickey로 서명과 입력받은 message가 유효한지 검증하는 함수

참고

go package 문서(crypto/ed25519) 중 'overview'에 해당
  • 해당 패키지에서는 pubkey 32byte, prvkey 64byte로 생성됨.

    • prvkey 64byte에서 뒤의 32byte(prvkey[32:])가 pubkey임.
      • 첫번째로 prvkey를 시스템 환경변수를 통해 random하게 뽑아내서 seed로 사용해서 생성함.
      • 두번째로 prvkey의 반토막인 prvkey[32:]이 pubkey가 됨.
  • 다른 패키지의 경우, prvkey가 32byte로 생성되는 경우가 있음.

go crypto/ed25519 package