feat: add ed25519 package

This commit is contained in:
Derrick Hammer 2024-01-03 08:11:26 -05:00
parent aa48eb8ac4
commit 93e0ce02f5
Signed by: pcfreak30
GPG Key ID: C997C339BE476FF2
1 changed files with 27 additions and 0 deletions

27
ed25519/ed25519.go Normal file
View File

@ -0,0 +1,27 @@
package ed25519
import (
"crypto/ed25519"
"git.lumeweb.com/LumeWeb/libs5-go/types"
"git.lumeweb.com/LumeWeb/libs5-go/utils"
)
type KeyPairEd25519 struct {
Bytes []byte
}
func New(bytes []byte) *KeyPairEd25519 {
return &KeyPairEd25519{Bytes: bytes}
}
func (kp *KeyPairEd25519) PublicKey() []byte {
return utils.ConcatBytes([]byte{byte(types.HashTypeEd25519)}, kp.PublicKeyRaw())
}
func (kp *KeyPairEd25519) PublicKeyRaw() []byte {
return (ed25519.PrivateKey(kp.Bytes).Public()).([]byte)
}
func (kp *KeyPairEd25519) ExtractBytes() []byte {
return kp.Bytes
}