]> Cypherpunks.ru repositories - gogost.git/blob - download.texi
Download link for 4.2.0 release
[gogost.git] / download.texi
1 @node Download
2 @unnumbered Download
3
4 Preferable way is to download tarball with the signature from
5 website and, for example, run tests with benchmarks:
6
7 @verbatim
8 $ wget http://gogost.cypherpunks.ru/gogost-4.2.0.tar.xz
9 $ wget http://gogost.cypherpunks.ru/gogost-4.2.0.tar.xz.sig
10 $ gpg --verify gogost-4.2.0.tar.xz.sig gogost-4.2.0.tar.xz
11 $ xz -d < gogost-4.2.0.tar.xz | tar xf -
12 $ make -C gogost-4.2.0 all bench
13 $ echo hello world | ./gogost-4.2.0/streebog256
14 f72018189a5cfb803dbe1f2149cf554c40093d8e7f81c21e08ac5bcd09d9934d
15 @end verbatim
16
17 And then you can include its source code in your project for example
18 like this:
19
20 @verbatim
21 $ mkdir -p myproj/src
22 $ cp -r gogost-4.2.0/src/go.cypherpunks.ru myproj/src
23 $ export GOPATH=$PWD/myproj
24 $ cd myproj/src
25 $ cat > main.go <<EOF
26 package main
27
28 import (
29     "encoding/hex"
30     "fmt"
31
32     "go.cypherpunks.ru/gogost/v4/gost34112012256"
33 )
34
35 func main() {
36     h := gost34112012256.New()
37     h.Write([]byte("hello world\n"))
38     fmt.Println(hex.EncodeToString(h.Sum(nil)))
39 }
40 EOF
41 $ go run main.go
42 f72018189a5cfb803dbe1f2149cf554c40093d8e7f81c21e08ac5bcd09d9934d
43 @end verbatim
44
45 @multitable {XXXXX} {XXXX-XX-XX} {XXXX KiB} {link sign} {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx} {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}
46 @headitem Version @tab Date @tab Size @tab Tarball @tab SHA256 checksum @tab Streebog-256 checksum
47
48 @item @ref{Release 4.2.0, 4.2.0} @tab 2019-10-18 @tab 57 KiB
49 @tab @url{gogost-4.2.0.tar.xz, link} @url{gogost-4.2.0.tar.xz.sig, sign}
50 @tab @code{07B44D64 E99924D2 612F9161 037EAFCE 191911B3 B2A9748F 6D340BB7 FBF8EF5A}
51 @tab @code{6fc059688e4cf121c3af4a5b3bbb13661478c5df91de5f6f2da89f64486d5977}
52
53 @item @ref{Release 4.1.0, 4.1.0} @tab 2019-10-03 @tab 55 KiB
54 @tab @url{gogost-4.1.0.tar.xz, link} @url{gogost-4.1.0.tar.xz.sig, sign}
55 @tab @code{F2FEF2E0 ADEB5742 FA2B3338 64E8B91B 3CCAA97D 5BA62177 21E08A11 F1FA8133}
56 @tab @code{72e0d52aa25158ab1bb45e5498ce703b516c616b71101b74d5ee259f516c4e91}
57
58 @item @ref{Release 4.0, 4.0} @tab 2019-08-12 @tab 56 KiB
59 @tab @url{gogost-4.0.tar.xz, link} @url{gogost-4.0.tar.xz.sig, sign}
60 @tab @code{4899B930 2110C9A9 592821D6 B206146F 2A66FC5A 3DEE9D6E 11F5EA51 72FEE6E6}
61 @tab @code{ad8b58d42c3829e66dd1994265478eab921393cf0f7a8b520d900e38092a2cd6}
62
63 @item @ref{Release 3.0, 3.0} @tab 2019-07-19 @tab 47 KiB
64 @tab @url{gogost-3.0.tar.xz, link} @url{gogost-3.0.tar.xz.sig, sign}
65 @tab @code{0BC2F39C DDB66493 BDF02DA7 C0A04633 E2A33462 4E3C0C7C 567712A6 6078FC82}
66 @tab @code{40de433a7e37fdca1ac2a9ef6093c85314937d59fa72e8e4dc91d5bf4eb064d7}
67
68 @item @ref{Release 2.0, 2.0} @tab 2016-11-26 @tab 39 KiB
69 @tab @url{gogost-2.0.tar.xz, link} @url{gogost-2.0.tar.xz.sig, sign}
70 @tab @code{28E8C15C 0EC5CC2A 47A8CCDA DF9EADB5 E46970AA FB7FAAF3 AA250FFC 79CE57F7}
71 @tab @code{e2858b9c1e7834663838c44b9b9ebbd1f37e5b85ceba5698b6fb5d180e071710}
72
73 @item 1.2 @tab 2016-11-13 @tab 34 KiB
74 @tab @url{gogost-1.2.tar.xz, link} @url{gogost-1.2.tar.xz.sig, sign}
75 @tab @code{B894D0E4 923F0361 8A33A360 65AE860F FCFAF8F5 42A82D71 EA0A0BA7 7BC99093}
76 @tab @code{fc6d3533e28d356398877674b6ee18954581c7f46832a5cf994ae243ab00ddf5}
77
78 @item @ref{Release 1.1, 1.1} @tab 2016-10-04 @tab 33 KiB
79 @tab @url{gogost-1.1.tar.xz, link} @url{gogost-1.1.tar.xz.sig, sign}
80 @tab @code{26D37912 6FE220C1 C0381835 DEFFDC4B BDCDC394 15D6E9C1 F8A5A302 04F9452B}
81 @tab @code{313fa58c2c030dd5acd20b524842bd2d4ec7403fcfca2a4a238ddc187c3ef0df}
82
83 @end multitable
84
85 You @strong{have to} verify downloaded tarballs integrity and
86 authenticity to be sure that you retrieved trusted and untampered
87 software. @url{https://www.gnupg.org/, The GNU Privacy Guard} is used
88 for that purpose.
89
90 For the very first time it is necessary to get signing public key and
91 import it. It is provided below, but you should check alternative
92 resources.
93
94 @verbatim
95 pub   rsa2048/0x82343436696FC85A 2016-09-13 [SC]
96       CEBD 1282 2C46 9C02 A81A  0467 8234 3436 696F C85A
97 uid   GoGOST releases <gogost at cypherpunks dot ru>
98 @end verbatim
99
100 @itemize
101
102 @item @url{https://lists.cypherpunks.ru/mailman/listinfo/gost, gost} maillist
103
104 @item
105 @verbatim
106 $ gpg --auto-key-locate dane --locate-keys gogost at cypherpunks dot ru
107 $ gpg --auto-key-locate wkd --locate-keys gogost at cypherpunks dot ru
108 @end verbatim
109
110 @item
111 @verbatiminclude PUBKEY.asc
112
113 @end itemize
114
115 GoGOST is also @command{go get}-able. For example to use
116 @command{streebog256} utility:
117 @verbatim
118 $ go get go.cypherpunks.ru/gogost/cmd/streebog256
119 @end verbatim
120
121 @code{go.cypherpunks.ru} uses @url{https://www.cacert.org/, CACert.org}
122 certificate authority, that is not included by default in some operating
123 system distributions and probably you have to install it in your system,
124 because @command{go get} uses HTTPS connections. If you have issues
125 using either @code{sum.golang.org} or @code{proxy.golang.org}, then you
126 can disable their usage with @env{GOPRIVATE=go.cypherpunks.ru/gogost}
127 environment variable.
128
129 Also you can use @code{replace} feature inside your @file{go.mod}, like:
130 @verbatim
131 require go.cypherpunks.ru/gogost/v4 v4.2.0
132 replace go.cypherpunks.ru/gogost/v4 => /home/stargrave/gogost-4.2.0/src/go.cypherpunks.ru/gogost/v4
133 @end verbatim
134
135 You can obtain development source code with
136 @command{git clone git://git.cypherpunks.ru/gogost.git}.