]> Cypherpunks.ru repositories - gogost.git/blob - www.texi
VKO 34.10-2001 implementation
[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 VKO 34.10-2001 Diffie-Hellman function
29     (@url{https://tools.ietf.org/html/rfc4357.html, RFC 4357})
30 @item GOST R 34.11-94 hash function
31     (@url{https://tools.ietf.org/html/rfc5831.html, RFC 5831})
32 @item GOST R 34.11-2012 Стрибог (Streebog) hash function
33     (@url{https://tools.ietf.org/html/rfc6986.html, RFC 6986})
34 @item GOST R 34.10-2001
35     (@url{https://tools.ietf.org/html/rfc5832.html, RFC 5832})
36     public key signature function
37 @item GOST R 34.10-2012
38     (@url{https://tools.ietf.org/html/rfc7091.html, RFC 7091})
39     public key signature function
40 @item various 34.10 curve parameters included
41 @item GOST R 34.12-2015 128-bit block cipher Кузнечик (Kuznechik)
42     (@url{https://tools.ietf.org/html/rfc7801.html, RFC 7801})
43 @item GOST R 34.13-2015 padding methods
44 @end itemize
45
46 Please send questions, bug reports and patches to
47 @url{https://lists.cypherpunks.ru/mailman/listinfo/gost, gost}
48 mailing list. Announcements also go to this mailing list.
49
50 @insertcopying
51
52 @node Download
53 @unnumbered Download
54
55 Preferable way is to download tarball with the signature from
56 website and, for example, run tests with benchmarks:
57
58 @verbatim
59 % wget http://www.cypherpunks.ru/gogost/gogost-1.1.tar.xz
60 % wget http://www.cypherpunks.ru/gogost/gogost-1.1.tar.xz.sig
61 % gpg --verify gogost-1.1.tar.xz.sig gogost-1.1.tar.xz
62 % xz -d < gogost-1.1.tar.gz | tar xf -
63 % make -C gogost-1.1 bench
64 @end verbatim
65
66 @multitable {XXXXX} {XXXX KiB} {link sign} {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx} {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}
67 @headitem Version @tab Size @tab Tarball @tab SHA256 checksum @tab Streebog-256 checksum
68
69 @item 1.1 @tab 33 KiB
70 @tab @url{gogost-1.1.tar.xz, link} @url{gogost-1.1.tar.xz.sig, sign}
71 @tab @code{26D37912 6FE220C1 C0381835 DEFFDC4B BDCDC394 15D6E9C1 F8A5A302 04F9452B}
72 @tab @code{313fa58c2c030dd5acd20b524842bd2d4ec7403fcfca2a4a238ddc187c3ef0df}
73
74 @end multitable
75
76 You @strong{have to} verify downloaded tarballs integrity and
77 authenticity to be sure that you retrieved trusted and untampered
78 software. @url{https://www.gnupg.org/, The GNU Privacy Guard} is used
79 for that purpose.
80
81 For the very first time it it necessary to get signing public key and
82 import it. It is provided below, but you should check alternative
83 resources.
84
85 @verbatim
86 pub   rsa2048/0x82343436696FC85A 2016-09-13 [SC]
87       CEBD 1282 2C46 9C02 A81A  0467 8234 3436 696F C85A
88 uid   GoGOST releases <gogost at cypherpunks dot ru>
89 @end verbatim
90
91 @itemize
92
93 @item @url{https://lists.cypherpunks.ru/mailman/listinfo/gost, gost} maillist
94
95 @item
96 @verbatim
97 % gpg --keyserver hkp://keys.gnupg.net/ --recv-keys 0x82343436696FC85A
98 % gpg --auto-key-locate dane --locate-keys gogost at cypherpunks dot ru
99 % gpg --auto-key-locate wkd --locate-keys gogost at cypherpunks dot ru
100 % gpg --auto-key-locate pka --locate-keys gogost at cypherpunks dot ru
101 @end verbatim
102
103 @item
104 @verbatiminclude PUBKEY.asc
105
106 @end itemize
107
108 You can obtain development source code by cloning
109 @url{http://git-scm.com/, Git}
110 @url{https://git.cypherpunks.ru/cgit.cgi/gogost.git/, repository}.
111
112 @bye