]> Cypherpunks.ru repositories - gogost.git/blob - www.texi
VKO 34.10-2012 support. DigestSizeX incompatible changes
[gogost.git] / www.texi
1 \input texinfo
2 @documentencoding UTF-8
3 @settitle GoGOST
4
5 @copying
6 Copyright @copyright{} 2015-2016 @email{stargrave@@stargrave.org, Sergey Matveev}
7 @end copying
8
9 @node Top
10 @top GoGOST
11
12 Pure Go GOST cryptographic functions library.
13 GOST is GOvernment STandard of Russian Federation (and Soviet Union).
14 It is
15 @url{https://www.gnu.org/philosophy/pragmatic.html, copylefted}
16 @url{https://www.gnu.org/philosophy/free-sw.html, free software}:
17 licenced under @url{https://www.gnu.org/licenses/gpl-3.0.html, GPLv3+}.
18 You can read about GOST algorithms @url{http://www.cypherpunks.ru/gost/, more}.
19
20 Currently supported algorithms are:
21
22 @itemize
23 @item GOST 28147-89 (@url{https://tools.ietf.org/html/rfc5830.html, RFC 5830})
24     block cipher with ECB, CNT (CTR), CFB, MAC,
25     CBC (@url{https://tools.ietf.org/html/rfc4357.html, RFC 4357})
26     modes of operation
27 @item various 28147-89-related S-boxes included
28 @item GOST R 34.11-94 hash function
29     (@url{https://tools.ietf.org/html/rfc5831.html, RFC 5831})
30 @item GOST R 34.11-2012 Стрибог (Streebog) hash function
31     (@url{https://tools.ietf.org/html/rfc6986.html, RFC 6986})
32 @item GOST R 34.10-2001
33     (@url{https://tools.ietf.org/html/rfc5832.html, RFC 5832})
34     public key signature function
35 @item GOST R 34.10-2012
36     (@url{https://tools.ietf.org/html/rfc7091.html, RFC 7091})
37     public key signature function
38 @item various 34.10 curve parameters included
39 @item VKO GOST R 34.10-2001 key agreement function
40     (@url{https://tools.ietf.org/html/rfc4357.html, RFC 4357})
41 @item VKO GOST R 34.10-2012 key agreement function
42     (@url{https://tools.ietf.org/html/rfc7836.html, RFC 7836})
43 @item GOST R 34.12-2015 128-bit block cipher Кузнечик (Kuznechik)
44     (@url{https://tools.ietf.org/html/rfc7801.html, RFC 7801})
45 @item GOST R 34.13-2015 padding methods
46 @end itemize
47
48 Please send questions, bug reports and patches to
49 @url{https://lists.cypherpunks.ru/mailman/listinfo/gost, gost}
50 mailing list. Announcements also go to this mailing list.
51
52 @insertcopying
53
54 @node Download
55 @unnumbered Download
56
57 Preferable way is to download tarball with the signature from
58 website and, for example, run tests with benchmarks:
59
60 @verbatim
61 % wget http://www.cypherpunks.ru/gogost/gogost-1.1.tar.xz
62 % wget http://www.cypherpunks.ru/gogost/gogost-1.1.tar.xz.sig
63 % gpg --verify gogost-1.1.tar.xz.sig gogost-1.1.tar.xz
64 % xz -d < gogost-1.1.tar.gz | tar xf -
65 % make -C gogost-1.1 bench
66 @end verbatim
67
68 @multitable {XXXXX} {XXXX KiB} {link sign} {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx} {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}
69 @headitem Version @tab Size @tab Tarball @tab SHA256 checksum @tab Streebog-256 checksum
70
71 @item 1.2 @tab 34 KiB
72 @tab @url{gogost-1.2.tar.xz, link} @url{gogost-1.2.tar.xz.sig, sign}
73 @tab @code{B894D0E4 923F0361 8A33A360 65AE860F FCFAF8F5 42A82D71 EA0A0BA7 7BC99093}
74 @tab @code{fc6d3533e28d356398877674b6ee18954581c7f46832a5cf994ae243ab00ddf5}
75
76 @item 1.1 @tab 33 KiB
77 @tab @url{gogost-1.1.tar.xz, link} @url{gogost-1.1.tar.xz.sig, sign}
78 @tab @code{26D37912 6FE220C1 C0381835 DEFFDC4B BDCDC394 15D6E9C1 F8A5A302 04F9452B}
79 @tab @code{313fa58c2c030dd5acd20b524842bd2d4ec7403fcfca2a4a238ddc187c3ef0df}
80
81 @end multitable
82
83 You @strong{have to} verify downloaded tarballs integrity and
84 authenticity to be sure that you retrieved trusted and untampered
85 software. @url{https://www.gnupg.org/, The GNU Privacy Guard} is used
86 for that purpose.
87
88 For the very first time it it necessary to get signing public key and
89 import it. It is provided below, but you should check alternative
90 resources.
91
92 @verbatim
93 pub   rsa2048/0x82343436696FC85A 2016-09-13 [SC]
94       CEBD 1282 2C46 9C02 A81A  0467 8234 3436 696F C85A
95 uid   GoGOST releases <gogost at cypherpunks dot ru>
96 @end verbatim
97
98 @itemize
99
100 @item @url{https://lists.cypherpunks.ru/mailman/listinfo/gost, gost} maillist
101
102 @item
103 @verbatim
104 % gpg --keyserver hkp://keys.gnupg.net/ --recv-keys 0x82343436696FC85A
105 % gpg --auto-key-locate dane --locate-keys gogost at cypherpunks dot ru
106 % gpg --auto-key-locate wkd --locate-keys gogost at cypherpunks dot ru
107 % gpg --auto-key-locate pka --locate-keys gogost at cypherpunks dot ru
108 @end verbatim
109
110 @item
111 @verbatiminclude PUBKEY.asc
112
113 @end itemize
114
115 You can obtain development source code by cloning
116 @url{http://git-scm.com/, Git}
117 @url{https://git.cypherpunks.ru/cgit.cgi/gogost.git/}.
118
119 @bye