aboutsummaryrefslogtreecommitdiff
path: root/key
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2017-07-20 00:49:51 +0200
committerDimitri Sokolyuk <demon@dim13.org>2017-07-20 00:49:51 +0200
commitf6c49d3e907ce2ea1e1bfdebcc8e6d0160aecaa0 (patch)
treef60c6e4181a2ef8ba039546857468640323b011d /key
parent7d81c334c35b33f853edd7a7909e749ef277ae38 (diff)
Rename Enc to Sec
Diffstat (limited to 'key')
-rw-r--r--key/key.go28
-rw-r--r--key/key_test.go4
-rw-r--r--key/sec.go (renamed from key/enc.go)30
3 files changed, 31 insertions, 31 deletions
diff --git a/key/key.go b/key/key.go
index 738d065..f6490a2 100644
--- a/key/key.go
+++ b/key/key.go
@@ -34,43 +34,43 @@ type Deriver interface {
}
// Generate a new key pair
-func Generate(der Deriver) (*Pub, *Enc, error) {
- pubKey, encKey, err := ed25519.GenerateKey(rand.Reader)
+func Generate(der Deriver) (*Pub, *Sec, error) {
+ pubKey, secKey, err := ed25519.GenerateKey(rand.Reader)
if err != nil {
return nil, nil, err
}
- // encoding key
- enc := &Enc{PKAlg: pkAlg, KDFAlg: kdfAlg}
- copy(enc.Key[:], encKey)
+ // secret key
+ sec := &Sec{PKAlg: pkAlg, KDFAlg: kdfAlg}
+ copy(sec.Key[:], secKey)
- checkSum := sha512.Sum512(encKey)
- copy(enc.Checksum[:], checkSum[:len(enc.Checksum)])
+ checkSum := sha512.Sum512(secKey)
+ copy(sec.Checksum[:], checkSum[:len(sec.Checksum)])
- if _, err := rand.Read(enc.Salt[:]); err != nil {
+ if _, err := rand.Read(sec.Salt[:]); err != nil {
return nil, nil, err
}
- if _, err := rand.Read(enc.KeyNum[:]); err != nil {
+ if _, err := rand.Read(sec.KeyNum[:]); err != nil {
return nil, nil, err
}
// Pbdkf
if der != nil {
- xor, err := der.Derive(enc.Salt[:], DefaultRounds, len(enc.Key))
+ xor, err := der.Derive(sec.Salt[:], DefaultRounds, len(sec.Key))
if err != nil {
return nil, nil, err
}
for i := range xor {
- enc.Key[i] ^= xor[i]
+ sec.Key[i] ^= xor[i]
}
- enc.KDFRounds = DefaultRounds
+ sec.KDFRounds = DefaultRounds
}
// public key
- pub := &Pub{PKAlg: pkAlg, KeyNum: enc.KeyNum}
+ pub := &Pub{PKAlg: pkAlg, KeyNum: sec.KeyNum}
copy(pub.Key[:], pubKey)
- return pub, enc, nil
+ return pub, sec, nil
}
func unmarshal(data []byte, v interface{}) error {
diff --git a/key/key_test.go b/key/key_test.go
index 44e278a..29ff82a 100644
--- a/key/key_test.go
+++ b/key/key_test.go
@@ -30,8 +30,8 @@ func TestKeys(t *testing.T) {
rawValue: "RWRbOC0bBf7abfanaXuTYfCa6+YO69Kxyz8RD5nL/3Ta7umY6iOwnBrG",
},
{
- caption: "enc",
- key: new(Enc),
+ caption: "sec",
+ key: new(Sec),
rawValue: "RWRCSwAAAACzJBN2gC5//jVvDiV76rs4m2aKXkljqDpbOC0bBf7abZhV/Zygr6b0KIbSI56JQutwzsQeouxnnHuVTZp3IW4M9qdpe5Nh8Jrr5g7r0rHLPxEPmcv/dNru6ZjqI7CcGsY=",
},
}
diff --git a/key/enc.go b/key/sec.go
index aa65df3..b5ddc63 100644
--- a/key/enc.go
+++ b/key/sec.go
@@ -7,7 +7,7 @@ import (
"golang.org/x/crypto/ed25519"
)
-type Enc struct {
+type Sec struct {
PKAlg [2]byte
KDFAlg [2]byte
KDFRounds uint32
@@ -18,13 +18,13 @@ type Enc struct {
}
// Sign message
-func (v *Enc) Sign(message []byte) *Sig {
+func (v *Sec) Sign(message []byte) *Sig {
sig := &Sig{PKAlg: v.PKAlg, KeyNum: v.KeyNum}
copy(sig.Sig[:], ed25519.Sign(ed25519.PrivateKey(v.Key[:]), message))
return sig
}
-func (v *Enc) Validate() error {
+func (v *Sec) Validate() error {
if v.PKAlg != pkAlg {
return ErrInvalidPK
}
@@ -38,31 +38,31 @@ func (v *Enc) Validate() error {
return nil
}
-func (v *Enc) MarshalBinary() ([]byte, error) { return marshal(v) }
-func (v *Enc) UnmarshalBinary(data []byte) error { return unmarshal(data, v) }
+func (v *Sec) MarshalBinary() ([]byte, error) { return marshal(v) }
+func (v *Sec) UnmarshalBinary(data []byte) error { return unmarshal(data, v) }
-// Public key of encryption key
-func (v *Enc) Public() *Pub {
+// Public key of secret key
+func (v *Sec) Public() *Pub {
key := ed25519.PrivateKey(v.Key[:]).Public().(ed25519.PublicKey)
pub := &Pub{PKAlg: pkAlg, KeyNum: v.KeyNum}
copy(pub.Key[:], key)
return pub
}
-// NewEnc returns a parsed and decoded encryption key
-func NewEnc(data []byte, der Deriver) (*Enc, error) {
- enc := new(Enc)
- if err := enc.UnmarshalBinary(data); err != nil {
+// NewSec returns a parsed and decoded secret key
+func NewSec(data []byte, der Deriver) (*Sec, error) {
+ sec := new(Sec)
+ if err := sec.UnmarshalBinary(data); err != nil {
return nil, err
}
- if der != nil && enc.KDFRounds > 0 {
- xor, err := der.Derive(enc.Salt[:], int(enc.KDFRounds), len(enc.Key))
+ if der != nil && sec.KDFRounds > 0 {
+ xor, err := der.Derive(sec.Salt[:], int(sec.KDFRounds), len(sec.Key))
if err != nil {
return nil, err
}
for i := range xor {
- enc.Key[i] ^= xor[i]
+ sec.Key[i] ^= xor[i]
}
}
- return enc, enc.Validate()
+ return sec, sec.Validate()
}