]> Cypherpunks.ru repositories - gogost.git/blobdiff - www.texi
No I2P mirror anymore
[gogost.git] / www.texi
index b15c0112f380d5261ab6aa5d4782427c701823a6..c8dcaf632b792c64ff3a282bb455634e6c6790d4 100644 (file)
--- a/www.texi
+++ b/www.texi
@@ -3,7 +3,7 @@
 @settitle GoGOST
 
 @copying
-Copyright @copyright{} 2015-2016 @email{stargrave@@stargrave.org, Sergey Matveev}
+Copyright @copyright{} 2015-2018 @email{stargrave@@stargrave.org, Sergey Matveev}
 @end copying
 
 @node Top
@@ -15,7 +15,7 @@ It is
 @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:
 
@@ -36,6 +36,10 @@ Currently supported algorithms are:
     (@url{https://tools.ietf.org/html/rfc7091.html, RFC 7091})
     public key signature function
 @item various 34.10 curve parameters included
+@item VKO GOST R 34.10-2001 key agreement function
+    (@url{https://tools.ietf.org/html/rfc4357.html, RFC 4357})
+@item VKO GOST R 34.10-2012 key agreement function
+    (@url{https://tools.ietf.org/html/rfc7836.html, RFC 7836})
 @item GOST R 34.12-2015 128-bit block cipher Кузнечик (Kuznechik)
     (@url{https://tools.ietf.org/html/rfc7801.html, RFC 7801})
 @item GOST R 34.13-2015 padding methods
@@ -47,6 +51,36 @@ mailing list. Announcements also go to this mailing list.
 
 @insertcopying
 
+@node News
+@unnumbered News
+
+@table @strong
+
+@item 2.0
+    @itemize
+    @item 34.11-2012 is split on two different modules:
+        @code{gost34112012256} and @code{gost34112012512}
+    @item 34.11-94's digest is reversed. Now it is compatible with TC26's
+      HMAC and PBKDF2 test vectors
+    @item @code{gogost-streebog} is split to @code{streebog256} and
+        @code{streebog512} correspondingly by analogy with sha* utilities
+    @item added VKO 34.10-2012 support with corresponding test vectors
+    @item @code{gost3410.DigestSizeX} is renamed to
+        @code{gost3410.ModeX} because it is not related to digest size,
+        but parameters and key sizes
+    @item KEK functions take @code{big.Int} UKM value. Use @code{NewUKM}
+        to unmarshal raw binary UKM
+    @end itemize
+
+@item 1.1
+    @itemize
+    @item gogost-streebog is able to use either 256 or 512 bits digest size
+    @item 34.13-2015 padding methods
+    @item 28147-89 CBC mode of operation
+    @end itemize
+
+@end table
+
 @node Download
 @unnumbered Download
 
@@ -54,16 +88,56 @@ Preferable way is to download tarball with the signature from
 website and, for example, run tests with benchmarks:
 
 @verbatim
-% wget http://www.cypherpunks.ru/gogost/gogost-1.1.tar.xz
-% wget http://www.cypherpunks.ru/gogost/gogost-1.1.tar.xz.sig
+% wget http://gogost.cypherpunks.ru/gogost-1.1.tar.xz
+% wget http://gogost.cypherpunks.ru/gogost-1.1.tar.xz.sig
 % gpg --verify gogost-1.1.tar.xz.sig gogost-1.1.tar.xz
-% xz -d < gogost-1.1.tar.gz | tar xf -
-% make -C gogost-1.1 bench
+% xz -d < gogost-1.1.tar.xz | tar xf -
+% make -C gogost-1.1 all bench
+% echo hello world | ./gogost-1.1/streebog256
+f72018189a5cfb803dbe1f2149cf554c40093d8e7f81c21e08ac5bcd09d9934d
+@end verbatim
+
+And then you can include its source code in your project for example
+like this:
+
+@verbatim
+% mkdir -p myproj/src
+% export GOPATH=$PWD/myproj
+% cd myproj/src
+% cat > main.go <<EOF
+package main
+
+import (
+    "encoding/hex"
+    "fmt"
+
+    "cypherpunks.ru/gogost/gost34112012256"
+)
+
+func main() {
+    h := gost34112012256.New()
+    h.Write([]byte("hello world"))
+    fmt.Println(hex.EncodeToString(h.Sum(nil)))
+}
+EOF
+% cp -r ../../gogost-1.1/src/cypherpunks.ru .
+% go run main.go
+c600fd9dd049cf8abd2f5b32e840d2cb0e41ea44de1c155dcd88dc84fe58a855
 @end verbatim
 
 @multitable {XXXXX} {XXXX KiB} {link sign} {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx} {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}
 @headitem Version @tab Size @tab Tarball @tab SHA256 checksum @tab Streebog-256 checksum
 
+@item 2.0 @tab 39 KiB
+@tab @url{gogost-2.0.tar.xz, link} @url{gogost-2.0.tar.xz.sig, sign}
+@tab @code{28E8C15C 0EC5CC2A 47A8CCDA DF9EADB5 E46970AA FB7FAAF3 AA250FFC 79CE57F7}
+@tab @code{e2858b9c1e7834663838c44b9b9ebbd1f37e5b85ceba5698b6fb5d180e071710}
+
+@item 1.2 @tab 34 KiB
+@tab @url{gogost-1.2.tar.xz, link} @url{gogost-1.2.tar.xz.sig, sign}
+@tab @code{B894D0E4 923F0361 8A33A360 65AE860F FCFAF8F5 42A82D71 EA0A0BA7 7BC99093}
+@tab @code{fc6d3533e28d356398877674b6ee18954581c7f46832a5cf994ae243ab00ddf5}
+
 @item 1.1 @tab 33 KiB
 @tab @url{gogost-1.1.tar.xz, link} @url{gogost-1.1.tar.xz.sig, sign}
 @tab @code{26D37912 6FE220C1 C0381835 DEFFDC4B BDCDC394 15D6E9C1 F8A5A302 04F9452B}
@@ -76,7 +150,7 @@ authenticity to be sure that you retrieved trusted and untampered
 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.
 
@@ -105,6 +179,6 @@ uid   GoGOST releases <gogost at cypherpunks dot ru>
 
 You can obtain development source code by cloning
 @url{http://git-scm.com/, Git}
-@url{https://git.cypherpunks.ru/cgit.cgi/gogost.git/, repository}.
+@url{https://git.cypherpunks.ru/cgit.cgi/gogost.git/}.
 
 @bye