+4.0:
+ * Backward incompatible change: all keys passing to encryption
+ functions are slices now, not the fixed arrays. That heavily
+ simplifies the library usage
+ * Fix bug with overwriting IVs memory in gost28147.CFB*crypter
+ * TLSTREE, used in TLS 1.[23], implementation
+ * gost3410.KEK2012* can be used with any curves, not only 512-bit ones
+ * gost3410.PrivateKey satisfies crypto.Signer interface
+ * gost34112012* hashes satisfy encoding.Binary(Un)Marshaler
+ * Streebog256 HKDF test vectors
+
3.0:
* Multilinear Galois Mode (MGM) block cipher mode for
64 and 128 bit ciphers
* GOST R 34.12-2015 64-bit block cipher Магма (Magma)
* GOST R 34.13-2015 padding methods
* MGM AEAD mode for 64 and 128 bit ciphers
+* TLSTREE keyscheduling function
Known problems:
git clone . $tmp/gogost-$release
cd $tmp/gogost-$release
git checkout $release
-git submodule update --init
-
-mkdir -p src/cypherpunks.ru/gogost/vendor
-cat > $tmp/includes <<EOF
-golang.org/x/crypto/AUTHORS
-golang.org/x/crypto/CONTRIBUTORS
-golang.org/x/crypto/LICENSE
-golang.org/x/crypto/PATENTS
-golang.org/x/crypto/README
-golang.org/x/crypto/pbkdf2
-EOF
-tar cfCI - src $tmp/includes | tar xfC - src/cypherpunks.ru/gogost/vendor
+
+crypto_path=src/cypherpunks.ru/gogost/vendor/golang.org/x/crypto
+mkdir -p $crypto_path
+( cd $cur/gopath/pkg/mod/golang.org/x/crypto@v0.0.0-20190701094942-4def268fd1a4 ; \
+ tar cf - AUTHORS CONTRIBUTORS LICENSE PATENTS README.md pbkdf2 hkdf ) |
+ tar xfC - $crypto_path
+
find . -name .git -type d | xargs rm -fr
-rm -fr www* makedist* TODO src/golang.org $tmp/includes
+rm -f www* makedist* TODO
+
+find . -type d -exec chmod 700 {} \;
+find . -type f -exec chmod 600 {} \;
cd ..
tar cvf gogost-"$release".tar --uid=0 --gid=0 --numeric-owner gogost-"$release"
@table @strong
+@anchor{Release 4.0}
+@item 4.0
+ @itemize
+ @item Backward incompatible change: all keys passing to encryption
+ functions are slices now, not the fixed arrays. That heavily
+ simplifies the library usage
+ @item Fix bug with overwriting IVs memory in @code{gost28147.CFB*crypter}
+ @item @code{TLSTREE}, used in TLS 1.[23], implementation
+ @item @code{gost3410.KEK2012*} can be used with any curves, not only 512-bit ones
+ @item @code{gost3410.PrivateKey} satisfies @code{crypto.Signer} interface
+ @item @code{gost34112012*} hashes satisfy @code{encoding.Binary(Un)Marshaler}
+ @item Streebog256 HKDF test vectors
+ @end itemize
+
@anchor{Release 3.0}
@item 3.0
@itemize
@item GOST R 34.12-2015 64-bit block cipher Магма (Magma)
@item GOST R 34.13-2015 padding methods
@item MGM AEAD mode for 64 and 128 bit ciphers
+@item TLSTREE keyscheduling function
@end itemize
Please send questions, bug reports and patches to