aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2017-04-16 00:47:20 +0200
committerDimitri Sokolyuk <demon@dim13.org>2017-04-16 00:47:20 +0200
commit670abdb08e34d0d5a5f08af0b85e434d4a1ff18f (patch)
tree6abd3263cc477f8ce0fe3774844723c92ca488e7
parentff8b08bf43f5ee60dc995b60e8505cfe90d0de3c (diff)
numeric KeyNum
-rw-r--r--gen.go5
-rw-r--r--keys.go6
-rw-r--r--main.go2
3 files changed, 6 insertions, 7 deletions
diff --git a/gen.go b/gen.go
index 4b55b74..fcd6c95 100644
--- a/gen.go
+++ b/gen.go
@@ -3,6 +3,7 @@ package main
import (
"crypto/rand"
"crypto/sha512"
+ "encoding/binary"
"golang.org/x/crypto/ed25519"
)
@@ -20,7 +21,7 @@ func Generate(pubkeyfile, seckeyfile, comment string, rounds int) error {
copy(enckey.SecKey[:], sec[:])
enckey.KDFRounds = uint32(rounds)
// KDF
- rand.Read(enckey.KeyNum[:])
+ binary.Read(rand.Reader, binary.BigEndian, &enckey.KeyNum)
rand.Read(enckey.Salt[:])
copy(enckey.Checksum[:], digest[:len(enckey.Checksum)])
@@ -39,7 +40,7 @@ func Generate(pubkeyfile, seckeyfile, comment string, rounds int) error {
pubkey := new(PubKey)
copy(pubkey.PKAlg[:], PKAlg[:])
- copy(pubkey.KeyNum[:], enckey.KeyNum[:])
+ pubkey.KeyNum = enckey.KeyNum
copy(pubkey.PubKey[:], pub[:])
pb64, err := Marshal(enckey)
diff --git a/keys.go b/keys.go
index 5e6e73f..53dd536 100644
--- a/keys.go
+++ b/keys.go
@@ -18,13 +18,13 @@ var (
type Sig struct {
PKAlg [2]byte
- KeyNum [8]byte
+ KeyNum uint64
Sig [ed25519.SignatureSize]byte
}
type PubKey struct {
PKAlg [2]byte
- KeyNum [8]byte
+ KeyNum uint64
PubKey [ed25519.PublicKeySize]byte
}
@@ -34,7 +34,7 @@ type EncKey struct {
KDFRounds uint32
Salt [16]byte
Checksum [8]byte
- KeyNum [8]byte
+ KeyNum uint64
SecKey [ed25519.PrivateKeySize]byte
}
diff --git a/main.go b/main.go
index 5b15be7..4d1cf71 100644
--- a/main.go
+++ b/main.go
@@ -1,7 +1,6 @@
package main
import (
- "crypto/rand"
"encoding/base64"
"flag"
"fmt"
@@ -57,7 +56,6 @@ func main() {
ss := &Sig{
PKAlg: PKAlg,
}
- rand.Read(ss.KeyNum[:])
ms, _ := Marshal(ss)
fmt.Println(string(ms))
}