From 8a081713224ce00a10271a8c389ab1d85b416ce9 Mon Sep 17 00:00:00 2001 From: Lucas Clemente Date: Mon, 1 Aug 2016 16:27:38 +0200 Subject: [PATCH] move nonce generation to separate file --- crypto/chacha20poly1305_aead.go | 8 -------- crypto/nonce.go | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 8 deletions(-) create mode 100644 crypto/nonce.go diff --git a/crypto/chacha20poly1305_aead.go b/crypto/chacha20poly1305_aead.go index c2388cfd..37cc53e3 100644 --- a/crypto/chacha20poly1305_aead.go +++ b/crypto/chacha20poly1305_aead.go @@ -2,7 +2,6 @@ package crypto import ( "crypto/cipher" - "encoding/binary" "errors" "github.com/aead/chacha20" @@ -50,10 +49,3 @@ func (aead *aeadChacha20Poly1305) Open(dst, src []byte, packetNumber protocol.Pa func (aead *aeadChacha20Poly1305) Seal(dst, src []byte, packetNumber protocol.PacketNumber, associatedData []byte) []byte { return aead.encrypter.Seal(dst, makeNonce(aead.myIV, packetNumber), src, associatedData) } - -func makeNonce(iv []byte, packetNumber protocol.PacketNumber) []byte { - res := make([]byte, 12) - copy(res[0:4], iv) - binary.LittleEndian.PutUint64(res[4:12], uint64(packetNumber)) - return res -} diff --git a/crypto/nonce.go b/crypto/nonce.go new file mode 100644 index 00000000..9b6d4164 --- /dev/null +++ b/crypto/nonce.go @@ -0,0 +1,14 @@ +package crypto + +import ( + "encoding/binary" + + "github.com/lucas-clemente/quic-go/protocol" +) + +func makeNonce(iv []byte, packetNumber protocol.PacketNumber) []byte { + res := make([]byte, 12) + copy(res[0:4], iv) + binary.LittleEndian.PutUint64(res[4:12], uint64(packetNumber)) + return res +}