ECC ed25519 signature algorithm를 제공하는 패키지 📝
func GenerateKey(rand io.Reader) (PublicKey, PrivateKey, error)
- ed25519 키 생성 함수로, 시스템 변수를 통해 random하게 키 쌍을 생성함.
- 가끔 낮은 확률로 올바르지않은(키 길이가 다른) 키 쌍을 생성하는 경우가 발생함.
func Sign(privateKey PrivateKey, message []byte) []byte
- privatekey로 message에 대한 서명을 생성하는 함수
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 64byte에서 뒤의 32byte(prvkey[32:])가 pubkey임.
-
다른 패키지의 경우, prvkey가 32byte로 생성되는 경우가 있음.