]> Cypherpunks.ru repositories - gogost.git/blobdiff - gost34112012256/kdf.go
Raise copyright years
[gogost.git] / gost34112012256 / kdf.go
index eab8edc8ee33f777ad68894a8704446e0e578ec7..2f9d1c350b9fe3a8d837b402f52fe6200566c676 100644 (file)
@@ -1,5 +1,5 @@
 // GoGOST -- Pure Go GOST cryptographic functions library
-// Copyright (C) 2015-2019 Sergey Matveev <stargrave@stargrave.org>
+// Copyright (C) 2015-2021 Sergey Matveev <stargrave@stargrave.org>
 //
 // This program is free software: you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
@@ -29,12 +29,24 @@ func NewKDF(key []byte) *KDF {
 }
 
 func (kdf *KDF) Derive(dst, label, seed []byte) (r []byte) {
-       kdf.h.Write([]byte{0x01})
-       kdf.h.Write(label)
-       kdf.h.Write([]byte{0x00})
-       kdf.h.Write(seed)
-       kdf.h.Write([]byte{0x01})
-       kdf.h.Write([]byte{0x00})
+       if _, err := kdf.h.Write([]byte{0x01}); err != nil {
+               panic(err)
+       }
+       if _, err := kdf.h.Write(label); err != nil {
+               panic(err)
+       }
+       if _, err := kdf.h.Write([]byte{0x00}); err != nil {
+               panic(err)
+       }
+       if _, err := kdf.h.Write(seed); err != nil {
+               panic(err)
+       }
+       if _, err := kdf.h.Write([]byte{0x01}); err != nil {
+               panic(err)
+       }
+       if _, err := kdf.h.Write([]byte{0x00}); err != nil {
+               panic(err)
+       }
        r = kdf.h.Sum(dst)
        kdf.h.Reset()
        return r