aboutsummaryrefslogtreecommitdiff
path: root/key/enc.go
diff options
context:
space:
mode:
Diffstat (limited to 'key/enc.go')
-rw-r--r--key/enc.go3
1 files changed, 3 insertions, 0 deletions
diff --git a/key/enc.go b/key/enc.go
index 9c81dbf..898eb4c 100644
--- a/key/enc.go
+++ b/key/enc.go
@@ -17,6 +17,7 @@ type Enc struct {
Key [ed25519.PrivateKeySize]byte
}
+// Public key of encryption key
func (v *Enc) Public() *Pub {
key := ed25519.PrivateKey(v.Key[:]).Public().(ed25519.PublicKey)
pub := &Pub{PKAlg: pkAlg, KeyNum: v.KeyNum}
@@ -24,6 +25,7 @@ func (v *Enc) Public() *Pub {
return pub
}
+// Sign message
func (v *Enc) Sign(message []byte) *Sig {
sig := &Sig{PKAlg: v.PKAlg, KeyNum: v.KeyNum}
copy(sig.Sig[:], ed25519.Sign(ed25519.PrivateKey(v.Key[:]), message))
@@ -52,6 +54,7 @@ func (v *Enc) UnmarshalBinary(data []byte) error {
return unmarshal(data, v)
}
+// NewEnc returns a parsed and decoded encryption key
func NewEnc(data []byte, der KeyDeriver) (*Enc, error) {
enc := new(Enc)
if err := enc.UnmarshalBinary(data); err != nil {