]> Cypherpunks.ru repositories - gogost.git/blobdiff - gost34112012256/kdf.go
Raised copyright years
[gogost.git] / gost34112012256 / kdf.go
index 43c08aea7729147ffdcd6f7ba6131be6d4eaf9df..dc3a0a5be6a500c536a01f5bbcefd9b2d6000c12 100644 (file)
@@ -1,5 +1,5 @@
 // GoGOST -- Pure Go GOST cryptographic functions library
-// Copyright (C) 2015-2020 Sergey Matveev <stargrave@stargrave.org>
+// Copyright (C) 2015-2022 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