Preferable way is to download tarball with the signature from website and, for example, run tests with benchmarks:
$ [fetch|wget] http://www.gogost.cypherpunks.ru/gogost-5.1.1.tar.xz $ [fetch|wget] http://www.gogost.cypherpunks.ru/gogost-5.1.1.tar.xz.sig $ gpg --verify gogost-5.1.1.tar.xz.sig gogost-5.1.1.tar.xz $ xz --decompress --stdout gogost-5.1.1.tar.xz | tar xf - $ cd gogost-5.1.1 $ redo all $ echo hello world | ./streebog256 f72018189a5cfb803dbe1f2149cf554c40093d8e7f81c21e08ac5bcd09d9934d
It uses redo build system for that
examples. You can use either dozen of various implementations, or at
least minimalistic POSIX shell contrib/do
(just replace
redo
with contrib/do
in the example above) included
in tarball.
Version | Date | Size | Tarball | SHA256 checksum | Streebog-256 checksum |
---|---|---|---|---|---|
5.1.1 | 2021-01-16 | 60 KiB | link sign | F11CFDED 18327364 11BDF5EE 1236C5B6 25733220 1ECCF500 31B887A2 E9601BE6 | 2926f15d273f229a49e69c63a1ae9b94fed7e25046f7ee0d32afba08dc7ec970 |
5.1.0 | 2020-10-07 | 63 KiB | link sign | 4AC24706 DA444606 E7E77F64 D27FE0FE 645C8389 E0B92871 563809BA 2D0194E6 | ee468925f1f1cf55311c62b8953150a2318c7b1d514e499eb2fa97fa93b52fb6 |
5.0.2 | 2020-09-05 | 62 KiB | link sign | 2A62D4B8 B45CBD6D EFF8DD2A 973F16B3 463F8365 467408A0 2DD538F9 0EFD0B69 | 0dd8ed5b0cfae0b8ad30658dab3e12188c005a590db0a698731fb85dcec679c4 |
5.0.1 | 2020-09-05 | 62 KiB | link sign | 4DAEA73C 44527737 054C659A 9B619A21 643EA3AA 66F6E092 4AC8777A 5D897C6A | 0bde87f569e0dbad29856610dcbd2ffbcaca4f4899046cb138d92b059856b4b2 |
5.0.0 | 2020-09-04 | 62 KiB | link sign | 222CB86E 559E9CCF E80FFFB1 B3A7908B A978FE84 9E12B7F9 DA571512 6A24BCA7 | 2a0fc616372fe905e8677e1e82d8bd82f852e6393c03cbfb34f69f855bcbfc85 |
4.3.1 | 2020-09-01 | 63 KiB | link sign | FEB48FAA 49F43FB4 6FF4812C ECB9BD8B 077EA3A1 693088CA 1C2F29E8 F2AFE500 | 785b17e7f84f3b472d5bdcb710e124908da656bdec2df7f6bcf0a1b4042403ce |
4.3.0 | 2020-08-02 | 58 KiB | link sign | B5550996 57149869 46F01316 937CA4E2 C0786F90 F0281E59 FD3E4D0B 633785EC | e5a187c1e9753b747918a13008f128efa0b9fbc8f2b26ef8af1315a53ac8b8ba |
4.2.4 | 2020-06-24 | 58 KiB | link sign | AB7716CB B1E67C5F 5F38B4F9 EEE2733E 931A0498 084AF7BC E816F961 16EB26AE | f3c198b616de3cf15626d7741bfed1dd927a7cc85a8b24d68f48f86d64417a8c |
4.2.3 | 2020-01-22 | 58 KiB | link sign | 0259919D 6C5F61CC BDAD40E8 52E94EA9 29C0A2C1 7C819158 445BA28E 6BA0B105 | a0272ddd522ab49795b43a9efcd6e152510e4b1c3afd4feddd45e0a122643a57 |
4.2.2 | 2020-01-07 | 58 KiB | link sign | 88735A72 1FC0D998 768EA056 F6AC018D BACD25F2 3C72458B 312D4B75 36CF39C5 | 91eea4919647876b1989313fbce6497bedebead2a4437449a16e0bea39088201 |
4.2.1 | 2019-12-18 | 57 KiB | link sign | 00AA93C7 EE5CE982 CABC881B CC3E4C35 5900C370 B16D3629 9F97F5E4 D3277862 | 0e307c6a01f15cdd3cb5071f88bbcc419e85c0b911de1381d0d5d058a509681e |
4.2.0 | 2019-10-18 | 57 KiB | link sign | 07B44D64 E99924D2 612F9161 037EAFCE 191911B3 B2A9748F 6D340BB7 FBF8EF5A | 6fc059688e4cf121c3af4a5b3bbb13661478c5df91de5f6f2da89f64486d5977 |
4.1.0 | 2019-10-03 | 55 KiB | link sign | F2FEF2E0 ADEB5742 FA2B3338 64E8B91B 3CCAA97D 5BA62177 21E08A11 F1FA8133 | 72e0d52aa25158ab1bb45e5498ce703b516c616b71101b74d5ee259f516c4e91 |
4.0 | 2019-08-12 | 56 KiB | link sign | 4899B930 2110C9A9 592821D6 B206146F 2A66FC5A 3DEE9D6E 11F5EA51 72FEE6E6 | ad8b58d42c3829e66dd1994265478eab921393cf0f7a8b520d900e38092a2cd6 |
3.0 | 2019-07-19 | 47 KiB | link sign | 0BC2F39C DDB66493 BDF02DA7 C0A04633 E2A33462 4E3C0C7C 567712A6 6078FC82 | 40de433a7e37fdca1ac2a9ef6093c85314937d59fa72e8e4dc91d5bf4eb064d7 |
2.0 | 2016-11-26 | 39 KiB | link sign | 28E8C15C 0EC5CC2A 47A8CCDA DF9EADB5 E46970AA FB7FAAF3 AA250FFC 79CE57F7 | e2858b9c1e7834663838c44b9b9ebbd1f37e5b85ceba5698b6fb5d180e071710 |
1.2 | 2016-11-13 | 34 KiB | link sign | B894D0E4 923F0361 8A33A360 65AE860F FCFAF8F5 42A82D71 EA0A0BA7 7BC99093 | fc6d3533e28d356398877674b6ee18954581c7f46832a5cf994ae243ab00ddf5 |
1.1 | 2016-10-04 | 33 KiB | link sign | 26D37912 6FE220C1 C0381835 DEFFDC4B BDCDC394 15D6E9C1 F8A5A302 04F9452B | 313fa58c2c030dd5acd20b524842bd2d4ec7403fcfca2a4a238ddc187c3ef0df |
And then you can include its source code in your project for example like this:
$ mkdir -p myproj/vendor/go.cypherpunks.ru/gogost $ mv gogost-5.1.1 myproj/vendor/go.cypherpunks.ru/gogost/v5 $ cd myproj $ cat > main.go <<EOF package main import ( "encoding/hex" "fmt" "go.cypherpunks.ru/gogost/v5/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>
$ gpg --auto-key-locate dane --locate-keys gogost at cypherpunks dot ru $ gpg --auto-key-locate wkd --locate-keys gogost at cypherpunks dot ru
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFfXoXsBCADKKxVI2GjDU5f3L2Y2m9oz089viCwVkD0plf3Bo8yaAnyxp/an EjTYQnfE2QQxbixKz2A+z/mfrFrJld3zM/rmu0WJxmEBb7J59j8uKa8DblxJuYJh rWWhwzm8FSC2bITzF0dFSSXSF9xcM8CoRJOBeOzpVNPopKxXW94MgHw/xlXvjASn cbLDKM2eFYXnWMRZsnrfVs87r8OoHxzDCWZ16/CjB5qspn5Yf7c/sXE2C5EIMJce biiXcLTPxKG5B5Tncmsh9HA0CquGciftm34bJxTJSPkw/0B3ROyY7yadlud7XjLI Ak2AP3y0AHgI4q4Q9YzPeotryG91hj6lii8jABEBAAG0J0dvR09TVCByZWxlYXNl cyA8Z29nb3N0QGN5cGhlcnB1bmtzLnJ1PokBQAQTAQgAKgUCV9ehewIbAwwLCgkN CAwHCwMEAQIHFQoJCAsDAgUWAgEDAAIeAQIXgAAKCRCCNDQ2aW/IWibQCADF59c2 aKHVEqqm6tnyu0CFKuVWAikoss3DB8A3Vp1kLxOOoXcnSDMM1v+C6oGU7TDcobZ9 zH2XZpnfj9MEZ5jypb2z+QlkPN7cJBOGvSJ8XpTt8E8/heyD40KS61VBNXgN3BZL owKBcppwthSVRntjexHzn7ha4HE8j8ysypMBtsw7x+3iKZD4roHrYdp4ddOoZT1s xLsNmmbUzln2ieCD/mMb8taVpFJhuAWH2o6HJTh31b/+T0AN3QL999AQcR93jF2U o6/MJ0m3TzXHvUTnIOXCU7xlG464+6+rRACBbRlO3wa0WSdSeQSFIy1ienYxj63W iXmU5IA05VS613JaiF4EEBEIAAYFAlfXoZcACgkQrhqBCeSYV+/Y1AD9Eg0+OMLb 8ygnl+v8XUQqsf7fCcELW3oadFMu0RhcDNQA/20GNbS0omsycQkqmxYMQLkWa5wx 4kzapQYmseDye0zy =sx2q -----END PGP PUBLIC KEY BLOCK-----
GoGOST is also go get
-able. For example to use
streebog256
utility:
$ go get go.cypherpunks.ru/gogost/cmd/streebog256
If you have problems with *.golang.org
’s inability to verify
authenticity of go.cypherpunks.ru
TLS connection, then you can
disable their usage by setting GOPRIVATE=go.cypherpunks.ru
. You
can override CA certificate file path with SSL_CERT_FILE
and
GIT_SSL_CAINFO
environment variables.
Also you can use replace
feature inside your go.mod, like:
require go.cypherpunks.ru/gogost/v5 v5.1.1 replace go.cypherpunks.ru/gogost/v5 => /path/to/gogost-5.1.1
You can obtain development source code with
git clone git://git.cypherpunks.ru/gogost.git
(also you can use https://git.cypherpunks.ru/gogost.git).