aboutsummaryrefslogtreecommitdiff
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
parent7d81c334c35b33f853edd7a7909e749ef277ae38 (diff)
Rename Enc to Sec
-rw-r--r--file/file.go2
-rw-r--r--file/names.go18
-rw-r--r--generate.go10
-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
-rw-r--r--sign.go14
7 files changed, 53 insertions, 53 deletions
diff --git a/file/file.go b/file/file.go
index 0a3ad42..334fdca 100644
--- a/file/file.go
+++ b/file/file.go
@@ -13,7 +13,7 @@ import (
)
const (
- ModeEnc os.FileMode = 0600
+ ModeSec os.FileMode = 0600
ModePub os.FileMode = 0644
ModeSig os.FileMode = 0644
untrusted = "untrusted comment:"
diff --git a/file/names.go b/file/names.go
index 8ed4a36..11310b4 100644
--- a/file/names.go
+++ b/file/names.go
@@ -12,7 +12,7 @@ var ErrNames = errors.New("please use naming scheme of keyname.pub and keyname.s
const (
extPub = ".pub"
- extEnc = ".sec"
+ extSec = ".sec"
extSig = ".sig"
verifyWith = "verify with "
)
@@ -23,18 +23,18 @@ func splitNameExt(fname string) (string, string) {
return file[:len(file)-len(ext)], ext
}
-func ValidateNames(pubFile, encFile string) error {
+func ValidateNames(pubFile, secFile string) error {
pubName, pubExt := splitNameExt(pubFile)
- encName, encExt := splitNameExt(encFile)
- if pubExt != extPub || encExt != extEnc || pubName != encName {
+ secName, secExt := splitNameExt(secFile)
+ if pubExt != extPub || secExt != extSec || pubName != secName {
return ErrNames
}
return nil
}
-func PubName(encFile string) string {
- ext := filepath.Ext(encFile)
- return filepath.Base(encFile[:len(ext)-1] + extPub)
+func PubName(secFile string) string {
+ ext := filepath.Ext(secFile)
+ return filepath.Base(secFile[:len(ext)-1] + extPub)
}
func SigName(msgFile string) string {
@@ -51,8 +51,8 @@ func PubFile(comment string) (string, bool) {
return "", false
}
-func VerifyWith(encFile string) string {
- return verifyWith + PubName(encFile)
+func VerifyWith(secFile string) string {
+ return verifyWith + PubName(secFile)
}
var safePath = []string{
diff --git a/generate.go b/generate.go
index fd5a040..aa57018 100644
--- a/generate.go
+++ b/generate.go
@@ -18,14 +18,14 @@ func generate(args []string) error {
nopass = opts.Bool("n", false, "No key passphrase")
comment = opts.String("c", "signify", "Comment")
pubFile = opts.String("p", "", "Public key file (required)")
- encFile = opts.String("s", "", "Secret key file (required)")
+ secFile = opts.String("s", "", "Secret key file (required)")
)
opts.Parse(args)
- if *pubFile == "" || *encFile == "" {
+ if *pubFile == "" || *secFile == "" {
opts.Usage()
return nil
}
- if err := file.ValidateNames(*pubFile, *encFile); err != nil {
+ if err := file.ValidateNames(*pubFile, *secFile); err != nil {
return err
}
@@ -34,12 +34,12 @@ func generate(args []string) error {
der = ask.Confirmed{}
}
- pubKey, encKey, err := key.Generate(der)
+ pubKey, secKey, err := key.Generate(der)
if err != nil {
return err
}
- if err := writeFile(*encFile, *comment+" secret key", encKey, file.ModeEnc); err != nil {
+ if err := writeFile(*secFile, *comment+" secret key", secKey, file.ModeSec); err != nil {
return err
}
if err := writeFile(*pubFile, *comment+" public key", pubKey, file.ModePub); err != nil {
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()
}
diff --git a/sign.go b/sign.go
index 6138289..ee4bace 100644
--- a/sign.go
+++ b/sign.go
@@ -18,14 +18,14 @@ func sign(args []string) error {
embedded = opts.Bool("e", false, "Embed the message")
zip = opts.Bool("z", false, "Sign gzip archive") // TODO
sigFile = opts.String("x", "", "Signature file")
- encFile = opts.String("s", "", "Secret file (required)")
+ secFile = opts.String("s", "", "Secret file (required)")
msgFile = opts.String("m", "", "Message file (required)")
)
opts.Parse(args)
if *embedded && *zip {
return errors.New("can't combine -e and -z options")
}
- if *encFile == "" || *msgFile == "" {
+ if *secFile == "" || *msgFile == "" {
opts.Usage()
return nil
}
@@ -34,7 +34,7 @@ func sign(args []string) error {
}
_ = zip // TODO
- encKey, err := openEnc(*encFile)
+ secKey, err := openSec(*secFile)
if err != nil {
return err
}
@@ -42,13 +42,13 @@ func sign(args []string) error {
if err != nil {
return err
}
- sig := encKey.Sign(body)
+ sig := secKey.Sign(body)
raw, err := sig.MarshalBinary()
if err != nil {
return err
}
block := &file.Block{
- Comment: file.VerifyWith(*encFile),
+ Comment: file.VerifyWith(*secFile),
Bytes: raw,
}
if *embedded {
@@ -60,10 +60,10 @@ func sign(args []string) error {
return nil
}
-func openEnc(fname string) (*key.Enc, error) {
+func openSec(fname string) (*key.Sec, error) {
block, err := file.DecodeFile(fname)
if err != nil {
return nil, err
}
- return key.NewEnc(block.Bytes, ask.Passphrase{})
+ return key.NewSec(block.Bytes, ask.Passphrase{})
}