+++ /dev/null
-Preferable way is to download tarball with the signature from official
-website and, for example, run tests with benchmarks:
-
- $ [fetch|wget] http://gogost.cypherpunks.ru/gogost-4.2.0.tar.xz
- $ [fetch|wget] http://gogost.cypherpunks.ru/gogost-4.2.0.tar.xz.sig
- $ gpg --verify gogost-4.2.0.tar.xz.sig gogost-4.2.0.tar.xz
- $ xz -d < gogost-4.2.0.tar.xz | tar xf -
- $ make -C gogost-4.2.0 all bench
- $ echo hello world | ./gogost-4.2.0/streebog256
- f72018189a5cfb803dbe1f2149cf554c40093d8e7f81c21e08ac5bcd09d9934d
-
-And then you can include its source code in your project for example
-like this:
-
- $ mkdir -p myproj/src
- $ cp -r gogost-4.2.0/src/go.cypherpunks.ru myproj/src
- $ export GOPATH=$PWD/myproj
- $ cd myproj/src
- $ cat > main.go <<EOF
- package main
-
- import (
- "encoding/hex"
- "fmt"
-
- "go.cypherpunks.ru/gogost/v4/gost34112012256"
- )
-
- func main() {
- h := gost34112012256.New()
- h.Write([]byte("hello world\n"))
- fmt.Println(hex.EncodeToString(h.Sum(nil)))
- }
- EOF
- $ go run main.go
- f72018189a5cfb803dbe1f2149cf554c40093d8e7f81c21e08ac5bcd09d9934d
-
-You have to verify downloaded tarballs integrity and authenticity to be
-sure that you retrieved trusted and untampered software. GNU Privacy
-Guard is used for that purpose.
-
-For the very first time it is necessary to get signing public key and
-import it. It is provided below, but you should check alternative
-resources.
-
- pub rsa2048/0x82343436696FC85A 2016-09-13 [SC]
- CEBD 1282 2C46 9C02 A81A 0467 8234 3436 696F C85A
- uid GoGOST releases <gogost at cypherpunks dot ru>
-
- Look in PUBKEY.asc file.
- $ gpg --auto-key-locate dane --locate-keys gogost at cypherpunks dot ru
- $ gpg --auto-key-locate wkd --locate-keys gogost at cypherpunks dot ru
-
-GoGOST is also go-get-able. For example to use streebog256 utility:
-
- $ go get go.cypherpunks.ru/gogost/cmd/streebog256
-
-go.cypherpunks.ru uses CACert.org certificate authority, that is not
-included by default in some operating system distributions and probably
-you have to install it in your system, because "go get" uses HTTPS
-connections. If you have issues using either sum.golang.org or
-proxy.golang.org, then you can disable their usage with
-GOPRIVATE=go.cypherpunks.ru/gogost environment variable.
-
-Also you can use "replace" feature inside your go.mod, like:
-
- require go.cypherpunks.ru/gogost/v4 v4.2.0
- replace go.cypherpunks.ru/gogost/v4 => /home/stargrave/gogost-4.2.0/src/go.cypherpunks.ru/gogost/v4
+++ /dev/null
-4.2.0:
- * PRF_IPSEC_PRFPLUS_GOSTR3411_2012_{256,512} implementation
- * Generic prf+ function (taken from IKEv2) implementation
-
-4.1.0:
- * ESPTREE/IKETREE implementation
- * CurveIdtc26gost34102012256paramSetB, CurveIdtc26gost34102012256paramSetC,
- CurveIdtc26gost34102012256paramSetD curve aliases
- * Forbid any later GNU GPL version autousage
- (project's licence now is GNU GPLv3 only)
- * Project now is go get-able and uses go.cypherpunks.ru namespace:
- go get go.cypherpunks.ru/gogost
- go get go.cypherpunks.ru/gogost/cmd/streebog{256,512}
-
-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
- * KDF_GOSTR3411_2012_256 KDF
- * 34.12-2015 64-bit block cipher Магма (Magma)
- * Additional EAC 28147-89 Sbox
- * 34.10-2012 TC26 twisted Edwards curve related parameters
- * Coordinates conversion from twisted Edwards to Weierstrass
- form and vice versa
- * Fixed gost3410.PrivateKey's length validation
- * Backward incompatible change: gost3410.NewCurve takes big.Int,
- instead of encoded integers
- * Backward incompatible Sbox and curves parameters renaming, to
- comply with OIDs identifying them:
-
- Gost2814789_TestParamSet -> SboxIdGost2814789TestParamSet
- Gost28147_CryptoProParamSetA -> SboxIdGost2814789CryptoProAParamSet
- Gost28147_CryptoProParamSetB -> SboxIdGost2814789CryptoProBParamSet
- Gost28147_CryptoProParamSetC -> SboxIdGost2814789CryptoProCParamSet
- Gost28147_CryptoProParamSetD -> SboxIdGost2814789CryptoProDParamSet
- GostR3411_94_TestParamSet -> SboxIdGostR341194TestParamSet
- Gost28147_tc26_ParamZ -> SboxIdtc26gost28147paramZ
- GostR3411_94_CryptoProParamSet -> SboxIdGostR341194CryptoProParamSet
- EACParamSet -> SboxEACParamSet
-
- CurveParamsGostR34102001cc -> CurveGostR34102001ParamSetcc
- CurveParamsGostR34102001Test -> CurveIdGostR34102001TestParamSet
- CurveParamsGostR34102001CryptoProA -> CurveIdGostR34102001CryptoProAParamSet
- CurveParamsGostR34102001CryptoProB -> CurveIdGostR34102001CryptoProBParamSet
- CurveParamsGostR34102001CryptoProC -> CurveIdGostR34102001CryptoProCParamSet
- CurveParamsGostR34102001CryptoProXchA -> CurveIdGostR34102001CryptoProXchAParamSet
- CurveParamsGostR34102001CryptoProXchB -> CurveIdGostR34102001CryptoProXchBParamSet
- CurveParamsGostR34102012TC26ParamSetA -> CurveIdtc26gost341012512paramSetA
- CurveParamsGostR34102012TC26ParamSetB -> CurveIdtc26gost341012512paramSetB
-
- * Various additional test vectors
- * go modules friendliness
-
-2.0:
- * 34.11-2012 is split on two different modules: gost34112012256 and
- gost34112012512
- * 34.11-94's digest is reversed. Now it is compatible with TC26's
- HMAC and PBKDF2 test vectors
- * gogost-streebog is split to streebog256 and streebog512
- correspondingly by analogy with sha* utilities
- * added VKO 34.10-2012 support with corresponding test vectors
- * gost3410.DigestSizeX is renamed to gost3410.ModeX because it is
- not related to digest size, but parameters and key sizes
- * KEK functions take big.Int UKM value. Use NewUKM to unmarshal
- raw binary UKM
-
-1.1:
- * gogost-streebog is able to use either 256 or 512 bits digest size
- * 34.13-2015 padding methods
- * 28147-89 CBC mode of operation
-
-1.0:
- Initial release
-@node Download
-@unnumbered Download
-
-Preferable way is to download tarball with the signature from
-website and, for example, run tests with benchmarks:
-
-@example
-$ [fetch|wget] http://gogost.cypherpunks.ru/gogost-@value{VERSION}.tar.xz
-$ [fetch|wget] http://gogost.cypherpunks.ru/gogost-@value{VERSION}.tar.xz.sig
-$ gpg --verify gogost-@value{VERSION}.tar.xz.sig gogost-@value{VERSION}.tar.xz
-$ xz -d < gogost-@value{VERSION}.tar.xz | tar xf -
-$ make -C gogost-@value{VERSION} all bench
-$ echo hello world | gogost-@value{VERSION}/streebog256
-f72018189a5cfb803dbe1f2149cf554c40093d8e7f81c21e08ac5bcd09d9934d
-@end example
-
-And then you can include its source code in your project for example
-like this:
-
-@example
-$ mkdir -p myproj/src
-$ cp -r gogost-@value{VERSION}/src/go.cypherpunks.ru myproj/src
-$ export GOPATH=$PWD/myproj
-$ cd myproj/src
-$ cat > main.go <<EOF
-package main
-
-import (
- "encoding/hex"
- "fmt"
-
- "go.cypherpunks.ru/gogost/v4/gost34112012256"
-)
-
-func main() @{
- h := gost34112012256.New()
- h.Write([]byte("hello world\n"))
- fmt.Println(hex.EncodeToString(h.Sum(nil)))
-@}
-EOF
-$ go run main.go
-f72018189a5cfb803dbe1f2149cf554c40093d8e7f81c21e08ac5bcd09d9934d
-@end example
-
@multitable {XXXXX} {XXXX-XX-XX} {XXXX KiB} {link sign} {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx} {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}
@headitem Version @tab Date @tab Size @tab Tarball @tab SHA256 checksum @tab Streebog-256 checksum
@tab @code{313fa58c2c030dd5acd20b524842bd2d4ec7403fcfca2a4a238ddc187c3ef0df}
@end multitable
-
-You @strong{have to} verify downloaded tarballs integrity and
-authenticity to be sure that you retrieved trusted and untampered
-software. @url{https://www.gnupg.org/, GNU Privacy Guard} is used
-for that purpose.
-
-For the very first time it is necessary to get signing public key and
-import it. It is provided below, but you should check alternative
-resources.
-
-@verbatim
-pub rsa2048/0x82343436696FC85A 2016-09-13 [SC]
- CEBD 1282 2C46 9C02 A81A 0467 8234 3436 696F C85A
-uid GoGOST releases <gogost at cypherpunks dot ru>
-@end verbatim
-
-@itemize
-
-@item @url{https://lists.cypherpunks.ru/mailman/listinfo/gost, gost} maillist
-
-@item
-@example
-$ gpg --auto-key-locate dane --locate-keys gogost at cypherpunks dot ru
-$ gpg --auto-key-locate wkd --locate-keys gogost at cypherpunks dot ru
-@end example
-
-@item
-@verbatiminclude PUBKEY.asc
-
-@end itemize
-
-GoGOST is also @command{go get}-able. For example to use
-@command{streebog256} utility:
-
-@example
-$ go get go.cypherpunks.ru/gogost/cmd/streebog256
-@end example
-
-@code{go.cypherpunks.ru} uses @url{https://www.cacert.org/, CACert.org}
-certificate authority, that is not included by default in some operating
-system distributions and probably you have to install it in your system,
-because @command{go get} uses HTTPS connections. If you have issues
-using either @code{sum.golang.org} or @code{proxy.golang.org}, then you
-can disable their usage with @env{GOPRIVATE=go.cypherpunks.ru/gogost}
-environment variable.
-
-Also you can use @code{replace} feature inside your @file{go.mod}, like:
-
-@example
-require go.cypherpunks.ru/gogost/v4 v@value{VERSION}
-replace go.cypherpunks.ru/gogost/v4 => /home/stargrave/gogost-@value{VERSION}/src/go.cypherpunks.ru/gogost/v4
-@end example
-
-You can obtain development source code with
-@command{git clone git://git.cypherpunks.ru/gogost.git}.
--- /dev/null
+@node Download
+@unnumbered Download
+
+@set VERSION 4.2.1
+
+Preferable way is to download tarball with the signature from
+website and, for example, run tests with benchmarks:
+
+@example
+$ [fetch|wget] http://gogost.cypherpunks.ru/gogost-@value{VERSION}.tar.xz
+$ [fetch|wget] http://gogost.cypherpunks.ru/gogost-@value{VERSION}.tar.xz.sig
+$ gpg --verify gogost-@value{VERSION}.tar.xz.sig gogost-@value{VERSION}.tar.xz
+$ xz -d < gogost-@value{VERSION}.tar.xz | tar xf -
+$ make -C gogost-@value{VERSION} all bench
+$ echo hello world | gogost-@value{VERSION}/streebog256
+f72018189a5cfb803dbe1f2149cf554c40093d8e7f81c21e08ac5bcd09d9934d
+@end example
+
+And then you can include its source code in your project for example
+like this:
+
+@example
+$ mkdir -p myproj/src
+$ cp -r gogost-@value{VERSION}/src/go.cypherpunks.ru myproj/src
+$ export GOPATH=$PWD/myproj
+$ cd myproj/src
+$ cat > main.go <<EOF
+package main
+
+import (
+ "encoding/hex"
+ "fmt"
+
+ "go.cypherpunks.ru/gogost/v4/gost34112012256"
+)
+
+func main() @{
+ h := gost34112012256.New()
+ h.Write([]byte("hello world\n"))
+ fmt.Println(hex.EncodeToString(h.Sum(nil)))
+@}
+EOF
+$ go run main.go
+f72018189a5cfb803dbe1f2149cf554c40093d8e7f81c21e08ac5bcd09d9934d
+@end example
+
+You @strong{have to} verify downloaded tarballs integrity and
+authenticity to be sure that you retrieved trusted and untampered
+software. @url{https://www.gnupg.org/, GNU Privacy Guard} is used
+for that purpose.
+
+For the very first time it is necessary to get signing public key and
+import it. It is provided below, but you should check alternative
+resources.
+
+@verbatim
+pub rsa2048/0x82343436696FC85A 2016-09-13 [SC]
+ CEBD 1282 2C46 9C02 A81A 0467 8234 3436 696F C85A
+uid GoGOST releases <gogost at cypherpunks dot ru>
+@end verbatim
+
+@itemize
+
+@item @url{https://lists.cypherpunks.ru/mailman/listinfo/gost, gost} maillist
+
+@item
+@example
+$ gpg --auto-key-locate dane --locate-keys gogost at cypherpunks dot ru
+$ gpg --auto-key-locate wkd --locate-keys gogost at cypherpunks dot ru
+@end example
+
+@item
+@verbatiminclude PUBKEY.asc
+
+@end itemize
+
+GoGOST is also @command{go get}-able. For example to use
+@command{streebog256} utility:
+
+@example
+$ go get go.cypherpunks.ru/gogost/cmd/streebog256
+@end example
+
+@code{go.cypherpunks.ru} uses @url{https://www.cacert.org/, CACert.org}
+certificate authority, that is not included by default in some operating
+system distributions and probably you have to install it in your system,
+because @command{go get} uses HTTPS connections. If you have issues
+using either @code{sum.golang.org} or @code{proxy.golang.org}, then you
+can disable their usage with @env{GOPRIVATE=go.cypherpunks.ru/gogost}
+environment variable.
+
+Also you can use @code{replace} feature inside your @file{go.mod}, like:
+
+@example
+require go.cypherpunks.ru/gogost/v4 v@value{VERSION}
+replace go.cypherpunks.ru/gogost/v4 => /home/stargrave/gogost-@value{VERSION}/src/go.cypherpunks.ru/gogost/v4
+@end example
+
+You can obtain development source code with
+@command{git clone git://git.cypherpunks.ru/gogost.git}.
tar cf - AUTHORS CONTRIBUTORS LICENSE PATENTS README.md pbkdf2 hkdf ) |
tar xfC - src/golang.org/x/crypto
+cat > download.texi <<EOF
+You can obtain releases source code prepared tarballs on
+@url{http://gocheese.cypherpunks.ru/}.
+EOF
+
+texi=$(mktemp)
+cat > $texi <<EOF
+\input texinfo
+@documentencoding UTF-8
+@settitle INSTALL
+@include install.texi
+@bye
+EOF
+makeinfo --plaintext -o INSTALL $texi
+rm $texi
+
+cat > $texi <<EOF
+\input texinfo
+@documentencoding UTF-8
+@settitle NEWS
+@include news.texi
+@bye
+EOF
+makeinfo --plaintext -o NEWS $texi
+
find . -name .git -type d | xargs rm -fr
-rm -f *.texi www.mk style.css makedist* TODO
+rm -f *.texi www.mk style.css makedist.sh TODO
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
@table @strong
+@anchor{Release 4.2.1}
+@item 4.2.1
+ Dummy release. More nicer tarballs.
+
@anchor{Release 4.2.0}
@item 4.2.0
@itemize
@documentencoding UTF-8
@settitle GoGOST
-@set VERSION 4.2.1
-
@copying
Copyright @copyright{} 2015-2020 @email{stargrave@@stargrave.org, Sergey Matveev}
@end copying
@insertcopying
@include news.texi
-@include download.texi
+@include install.texi
@bye