]> Cypherpunks.ru repositories - gogost.git/blob - www.texi
Update NEWS
[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 News
55 @unnumbered News
56
57 @table @strong
58
59 @item 2.0
60     @itemize
61     @item 34.11-2012 is split on two different modules:
62         @code{gost34112012256} and @code{gost34112012512}
63     @item 34.11-94's digest is reversed. Now it is compatible with TC26's
64       HMAC and PBKDF2 test vectors
65     @item @code{gogost-streebog} is split to @code{streebog256} and
66         @code{streebog512} correspondingly by analogy with sha* utilities
67     @item added VKO 34.10-2012 support with corresponding test vectors
68     @item @code{gost3410.DigestSizeX} is renamed to
69         @code{gost3410.ModeX} because it is not related to digest size,
70         but parameters and key sizes
71     @item KEK functions take @code{big.Int} UKM value. Use @code{NewUKM}
72         to unmarshal raw binary UKM
73     @end itemize
74
75 @item 1.1
76     @itemize
77     @item gogost-streebog is able to use either 256 or 512 bits digest size
78     @item 34.13-2015 padding methods
79     @item 28147-89 CBC mode of operation
80     @end itemize
81
82 @end table
83
84 @node Download
85 @unnumbered Download
86
87 Preferable way is to download tarball with the signature from
88 website and, for example, run tests with benchmarks:
89
90 @verbatim
91 % wget http://www.cypherpunks.ru/gogost/gogost-1.1.tar.xz
92 % wget http://www.cypherpunks.ru/gogost/gogost-1.1.tar.xz.sig
93 % gpg --verify gogost-1.1.tar.xz.sig gogost-1.1.tar.xz
94 % xz -d < gogost-1.1.tar.gz | tar xf -
95 % make -C gogost-1.1 bench
96 @end verbatim
97
98 @multitable {XXXXX} {XXXX KiB} {link sign} {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx} {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}
99 @headitem Version @tab Size @tab Tarball @tab SHA256 checksum @tab Streebog-256 checksum
100
101 @item 1.2 @tab 34 KiB
102 @tab @url{gogost-1.2.tar.xz, link} @url{gogost-1.2.tar.xz.sig, sign}
103 @tab @code{B894D0E4 923F0361 8A33A360 65AE860F FCFAF8F5 42A82D71 EA0A0BA7 7BC99093}
104 @tab @code{fc6d3533e28d356398877674b6ee18954581c7f46832a5cf994ae243ab00ddf5}
105
106 @item 1.1 @tab 33 KiB
107 @tab @url{gogost-1.1.tar.xz, link} @url{gogost-1.1.tar.xz.sig, sign}
108 @tab @code{26D37912 6FE220C1 C0381835 DEFFDC4B BDCDC394 15D6E9C1 F8A5A302 04F9452B}
109 @tab @code{313fa58c2c030dd5acd20b524842bd2d4ec7403fcfca2a4a238ddc187c3ef0df}
110
111 @end multitable
112
113 You @strong{have to} verify downloaded tarballs integrity and
114 authenticity to be sure that you retrieved trusted and untampered
115 software. @url{https://www.gnupg.org/, The GNU Privacy Guard} is used
116 for that purpose.
117
118 For the very first time it it necessary to get signing public key and
119 import it. It is provided below, but you should check alternative
120 resources.
121
122 @verbatim
123 pub   rsa2048/0x82343436696FC85A 2016-09-13 [SC]
124       CEBD 1282 2C46 9C02 A81A  0467 8234 3436 696F C85A
125 uid   GoGOST releases <gogost at cypherpunks dot ru>
126 @end verbatim
127
128 @itemize
129
130 @item @url{https://lists.cypherpunks.ru/mailman/listinfo/gost, gost} maillist
131
132 @item
133 @verbatim
134 % gpg --keyserver hkp://keys.gnupg.net/ --recv-keys 0x82343436696FC85A
135 % gpg --auto-key-locate dane --locate-keys gogost at cypherpunks dot ru
136 % gpg --auto-key-locate wkd --locate-keys gogost at cypherpunks dot ru
137 % gpg --auto-key-locate pka --locate-keys gogost at cypherpunks dot ru
138 @end verbatim
139
140 @item
141 @verbatiminclude PUBKEY.asc
142
143 @end itemize
144
145 You can obtain development source code by cloning
146 @url{http://git-scm.com/, Git}
147 @url{https://git.cypherpunks.ru/cgit.cgi/gogost.git/}.
148
149 @bye