Preferable way is to download tarball with the signature from website and, for example, run tests with benchmarks:
$ [fetch|wget] http://www.gogost.cypherpunks.su/gogost-6.1.0.tar.zst $ [fetch|wget] http://www.gogost.cypherpunks.su/gogost-6.1.0.tar.zst.{asc,sig} [verify signature] $ tar xf gogost-6.1.0.tar.zst $ cd gogost-6.1.0 $ go build -o streebog256 ./cmd/streebog256 $ echo hello world | ./streebog256 f72018189a5cfb803dbe1f2149cf554c40093d8e7f81c21e08ac5bcd09d9934d
Version | Date | Size | Tarball |
---|---|---|---|
6.1.0 | 2025-02-12 | 82 KiB | meta4 tar pgp ssh |
6.0.2 | 2025-01-17 | 85 KiB | meta4 tar pgp ssh |
6.0.1 | 2024-08-06 | 85 KiB | meta4 tar pgp ssh |
6.0.0 | 2024-07-23 | 85 KiB | meta4 tar pgp ssh |
5.15.0 | 2024-07-16 | 85 KiB | meta4 tar pgp ssh |
5.14.1 | 2024-04-22 | 67 KiB | meta4 tar pgp ssh |
5.14.0 | 2023-12-08 | 66 KiB | meta4 tar pgp ssh |
5.13.0 | 2023-08-07 | 65 KiB | meta4 tar pgp ssh |
5.12.0 | 2023-08-03 | 65 KiB | meta4 tar pgp ssh |
5.11.0 | 2023-06-14 | 70 KiB | meta4 tar pgp ssh |
5.10.0 | 2023-04-05 | 70 KiB | meta4 tar pgp ssh |
5.9.1 | 2022-11-02 | 67 KiB | meta4 tar pgp ssh |
5.9.0 | 2021-11-16 | 67 KiB | meta4 tar pgp ssh |
5.8.0 | 2021-10-08 | 67 KiB | meta4 tar pgp ssh |
5.7.1 | 2021-10-04 | 66 KiB | meta4 tar pgp ssh |
5.7.0 | 2021-08-17 | 61 KiB | meta4 tar pgp ssh |
5.6.0 | 2021-04-02 | 61 KiB | meta4 tar pgp ssh |
5.5.0 | 2021-01-25 | 61 KiB | meta4 tar pgp ssh |
5.4.0 | 2021-01-24 | 60 KiB | meta4 tar pgp ssh |
5.3.0 | 2021-01-21 | 61 KiB | meta4 tar pgp ssh |
5.2.0 | 2021-01-21 | 60 KiB | meta4 tar pgp ssh |
5.1.1 | 2021-01-16 | 60 KiB | meta4 tar pgp ssh |
5.1.0 | 2020-10-07 | 63 KiB | meta4 tar pgp ssh |
5.0.2 | 2020-09-05 | 62 KiB | meta4 tar pgp ssh |
5.0.1 | 2020-09-05 | 62 KiB | meta4 tar pgp ssh |
5.0.0 | 2020-09-04 | 62 KiB | meta4 tar pgp ssh |
4.3.1 | 2020-09-01 | 63 KiB | meta4 tar pgp ssh |
4.3.0 | 2020-08-02 | 58 KiB | meta4 tar pgp ssh |
4.2.4 | 2020-06-24 | 58 KiB | meta4 tar pgp ssh |
4.2.3 | 2020-01-22 | 58 KiB | meta4 tar pgp ssh |
4.2.2 | 2020-01-07 | 58 KiB | meta4 tar pgp ssh |
4.2.1 | 2019-12-18 | 57 KiB | meta4 tar pgp ssh |
4.2.0 | 2019-10-18 | 57 KiB | meta4 tar pgp ssh |
4.1.0 | 2019-10-03 | 55 KiB | meta4 tar pgp ssh |
4.0 | 2019-08-12 | 56 KiB | meta4 tar pgp ssh |
3.0 | 2019-07-19 | 47 KiB | meta4 tar pgp ssh |
2.0 | 2016-11-26 | 39 KiB | meta4 tar pgp ssh |
1.2 | 2016-11-13 | 34 KiB | meta4 tar pgp ssh |
1.1 | 2016-10-04 | 33 KiB | meta4 tar pgp ssh |
And then you can include its source code in your project for example like this:
$ mkdir -p myproj/vendor/go.cypherpunks.su/gogost $ mv gogost-6.1.0 myproj/vendor/go.cypherpunks.su/gogost/v6 $ cd myproj $ cat >main.go <<EOF package main import ( "encoding/hex" "fmt" "go.cypherpunks.su/gogost/v6/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 authenticity to be sure that you retrieved trusted and untampered software. There are two options:
Use GNU Privacy Guard free software implementation. For the very first time it is necessary to get signing public key and import it. It is provided here, but you should check alternate resources.
pub rsa2048/0x82343436696FC85A 2016-09-13 CEBD 1282 2C46 9C02 A81A 0467 8234 3436 696F C85A uid GoGOST releases <gogost at cypherpunks dot su>
$ gpg --auto-key-locate dane --locate-keys gogost at cypherpunks dot su $ gpg --auto-key-locate wkd --locate-keys gogost at cypherpunks dot su
Public key and its OpenPGP
signature made with the key above.
Its fingerprint: SHA256:u8X9rPDOhxpyzGs/IugbxXbDeOu/0AttKY+LGAvHBH0
.
$ ssh-keygen -Y verify -f PUBKEY-SSH.pub -I gogost@cypherpunks.su -n file \ -s gogost-6.1.0.tar.zst.sig <gogost-6.1.0.tar.zst
GoGOST is also go get
-able. For example to install
streebog256
utility:
$ go install go.cypherpunks.su/gogost/v6/cmd/streebog256@latest
Aware that go.cypherpunks.su
uses
ca.cypherpunks.su X.509 certificate authority.
proxy.golang.org
and sum.golang.org
services won’t be able to verify go.cypherpunks.su
’s TLS
authenticity, because there are no common trust anchors. You can skip
their usage by setting $GOPRIVATE=go.cypherpunks.su
.
$SSL_CERT_FILE
environment variable.
replace
command in
your local go.mod:
require go.cypherpunks.su/gogost/v6 v6.1.0 replace go.cypherpunks.su/gogost/v6 => /path/to/gogost-6.1.0
$ go work use /path/to/gogost-6.1.0
You can obtain development source code with
git clone git://git.cypherpunks.su/gogost.git
.
You can also use
anongit@master.git.stargrave.org:cypherpunks.su/gogost.git
,
anongit@slave.git.stargrave.org:cypherpunks.su/gogost.git
,
anongit@master.git.cypherpunks.su:cypherpunks.su/gogost.git
,
anongit@slave.git.cypherpunks.su:cypherpunks.su/gogost.git
,
git://git.stargrave.org/gogost.git,
git://y.git.stargrave.org/gogost.git,
git://y.git.cypherpunks.su/gogost.git URLs instead.