@settitle PyGOST
@copying
-Copyright @copyright{} 2015-2017 @email{stargrave@@stargrave.org, Sergey Matveev}
+Copyright @copyright{} 2015-2018 @email{stargrave@@stargrave.org, Sergey Matveev}
@end copying
@node Top
@url{https://www.gnu.org/philosophy/pragmatic.html, copylefted}
@url{https://www.gnu.org/philosophy/free-sw.html, free software}:
licenced under @url{https://www.gnu.org/licenses/gpl-3.0.html, GPLv3+}.
-You can read about GOST algorithms @url{http://www.cypherpunks.ru/gost/, more}.
+You can read about GOST algorithms @url{http://gost.cypherpunks.ru/, more}.
Currently supported algorithms are:
@item GOST R 34.11-94 based @url{https://en.wikipedia.org/wiki/PBKDF2, PBKDF2} function
@item GOST R 34.11-2012 Стрибог (Streebog) hash function
(@url{https://tools.ietf.org/html/rfc6986.html, RFC 6986})
+@item GOST R 34.11-2012 based PBKDF2 function (Р 50.1.111-2016)
@item GOST R 34.10-2001
(@url{https://tools.ietf.org/html/rfc5832.html, RFC 5832})
public key signature function
@unnumbered News
@table @strong
+@item 3.11
+Fixed PEP247 typing stub with invalid hexdigest method.
+
+@item 3.10
+Additional missing 34.11-* typing stubs.
+
+@item 3.9
+Add missing 34.11-2012 PBKDF2 typing stub.
+
+@item 3.8
+ @itemize
+ @item 34.11-2012 based PBKDF2 function added
+ @item 34.13-2015 does not require double blocksized IVs
+ @end itemize
+
+@item 3.7
+Fixed 34.13-2015 OFB bug with IVs longer than 2 blocks.
+
+@item 3.6
+Fixed source files installation during @command{setup.py install} invocation.
+
+@item 3.5
+Dummy release: added long description in package metadata.
+
+@item 3.4
+Small mypy stubs related fixes.
+
@item 3.3
@itemize
@item @code{GOST3412Kuz} renamed to @code{GOST3412Kuznechik}
Preferable way is to download tarball with the signature:
@verbatim
-% wget http://www.cypherpunks.ru/pygost/pygost-2.3.tar.xz
-% wget http://www.cypherpunks.ru/pygost/pygost-2.3.tar.xz.sig
-% gpg --verify pygost-2.3.tar.xz.sig pygost-2.3.tar.xz
-% xz -d < pygost-2.3.tar.xz | tar xf -
-% cd pygost-2.3
+% wget http://pygost.cypherpunks.ru/pygost-3.8.tar.xz
+% wget http://pygost.cypherpunks.ru/pygost-3.8.tar.xz.sig
+% gpg --verify pygost-3.8.tar.xz.sig pygost-3.8.tar.xz
+% xz -d < pygost-3.8.tar.xz | tar xf -
+% cd pygost-3.8
% python setup.py install
@end verbatim
@multitable {XXXXX} {XXXX KiB} {link sign} {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx} {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}
@headitem Version @tab Size @tab Tarball @tab SHA256 checksum @tab Streebog-256 checksum
+@item 3.11 @tab 44 KiB
+@tab @url{pygost-3.11.tar.xz, link} @url{pygost-3.11.tar.xz.sig, sign}
+@tab @code{34C092B7 78778DD4 1587BD31 AC62E7E6 3C45CEB8 7B664293 CCCA66DB 21147835}
+@tab @code{fdf1f96b93feb7ef5d6cd2f525a493bcd26933a1e15970f182d554595c2d2839}
+
+@item 3.10 @tab 44 KiB
+@tab @url{pygost-3.10.tar.xz, link} @url{pygost-3.10.tar.xz.sig, sign}
+@tab @code{8508C513 EBA78BA3 9D4BE5DA 42A2CE39 B0EB8998 9C9EBF20 5E100A1F B594AB10}
+@tab @code{357fe05d52f1d30e0972a3b7fa381bdc84be45ebcc01e59d921c78d8e3a456c0}
+
+@item 3.9 @tab 44 KiB
+@tab @url{pygost-3.9.tar.xz, link} @url{pygost-3.9.tar.xz.sig, sign}
+@tab @code{EA734025 6A892D4C 6272E577 B773CADA 6D5DEAB5 651D82D0 4721F92C 068CCC10}
+@tab @code{4302d934b9ccfbd63da4e3587eff322cbf6712fa45ffeb917fb831121a673dc9}
+
+@item 3.8 @tab 44 KiB
+@tab @url{pygost-3.8.tar.xz, link} @url{pygost-3.8.tar.xz.sig, sign}
+@tab @code{C8219F12 900B15D6 DA479157 BC48EE08 8BDF7FD0 548E02E4 16B44B6A 4A2FFDD3}
+@tab @code{0ad60ab474171cb72aa7282a77e5a87a3b8c6f958a0d781504dde2f82e7b839a}
+
+@item 3.7 @tab 43 KiB
+@tab @url{pygost-3.7.tar.xz, link} @url{pygost-3.7.tar.xz.sig, sign}
+@tab @code{2BE1647A 2ED7C794 7B80EBFA 32EB71B1 2AA95711 71CAA0CE E8319BF7 17361E28}
+@tab @code{b76ba4964a61b15a65be60c19d85063b88222fff881d9a9a8ff7dd8a07b2fc67}
+
+@item 3.6 @tab 43 KiB
+@tab @url{pygost-3.6.tar.xz, link} @url{pygost-3.6.tar.xz.sig, sign}
+@tab @code{37EA8A31 B308DBC6 B3229922 ABA0355F 46008BEC 2649BF98 11F62091 17BD94B3}
+@tab @code{47495afde7218e5d01160800daa0f9c786f5c95579686b0ce5a37fb7550bc735}
+
+@item 3.5 @tab 43 KiB
+@tab @url{pygost-3.5.tar.xz, link} @url{pygost-3.5.tar.xz.sig, sign}
+@tab @code{14E504AE 81E74DDD 122E5BF1 0B9E25D7 82D51AB6 5ED43533 0BF276A4 8A7C7AA4}
+@tab @code{eb2106523cf8ed1b462d7a0a57f771f94759047a7e0e5a0b96ee35b24293e264}
+
+@item 3.4 @tab 43 KiB
+@tab @url{pygost-3.4.tar.xz, link} @url{pygost-3.4.tar.xz.sig, sign}
+@tab @code{89715612 8A197071 AD7689FA 96F89304 19E42F76 87632309 B47E5FDE 1AD6126D}
+@tab @code{e590ddc7485e6f99658f26ac23cd2266648f27efa584a33f93abec8b80e1771d}
+
@item 3.3 @tab 41 KiB
@tab @url{pygost-3.3.tar.xz, link} @url{pygost-3.3.tar.xz.sig, sign}
@tab @code{D118F539 537CCD5D 9CCE850E DD8EFD8E ACDA9D6E 0C113A0F C575574A F4BD452A}
But also you can use PIP (@strong{no} authentication is performed!):
@verbatim
-% pip install pygost==2.3
+% pip install pygost==3.7
@end verbatim
You @strong{have to} verify downloaded tarballs integrity and
software. @url{https://www.gnupg.org/, The GNU Privacy Guard} is used
for that purpose.
-For the very first time it it necessary to get signing public key and
+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.
% gpg --keyserver hkp://keys.gnupg.net/ --recv-keys 0xE6FD1269CD0C009E
% gpg --auto-key-locate dane --locate-keys pygost at cypherpunks dot ru
% gpg --auto-key-locate wkd --locate-keys pygost at cypherpunks dot ru
-% gpg --auto-key-locate pka --locate-keys pygost at cypherpunks dot ru
@end verbatim
@item