From: Sergey Matveev Date: Fri, 21 Oct 2016 21:04:26 +0000 (+0300) Subject: Initial commit X-Git-Url: http://www.git.cypherpunks.ru/?p=gost-www.git;a=commitdiff_plain;h=c77dd71421989733ab7f0097189ec824fd36d347 Initial commit --- c77dd71421989733ab7f0097189ec824fd36d347 diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..6d08aa4 --- /dev/null +++ b/Makefile @@ -0,0 +1,18 @@ +all: gost.html + +MAKEINFO ?= makeinfo + +CSS != cat style.css + +.PHONY: gost.html + +gost.html: + rm -f gost.html/*.html + $(MAKEINFO) --html \ + --set-customization-variable CSS_LINES='$(CSS)' \ + --set-customization-variable SHOW_TITLE=0 \ + --set-customization-variable DATE_IN_HEADER=1 \ + --set-customization-variable TOP_NODE_UP_URL=index.html \ + --set-customization-variable CLOSE_QUOTE_SYMBOL=\" \ + --set-customization-variable OPEN_QUOTE_SYMBOL=\" \ + -o gost.html index.texi diff --git a/en/28147-89.texi b/en/28147-89.texi new file mode 100644 index 0000000..66d5ba9 --- /dev/null +++ b/en/28147-89.texi @@ -0,0 +1,40 @@ +@node en2814789 +@section Magma (GOST 28147-89) + +@table @asis +@item Algorithm type + Block cipher +@item Blocksize + 64 bit +@item Keysize + 256 bit +@item Structure + Feistel network +@item Rounds + 32 +@item RFC + @url{https://tools.ietf.org/html/rfc5830.html, 5830} +@item Best attack + 2^248 with 2^64 open-enciphered text pairs. + Highly depends on used S-boxes +@end table + +@strong{Features}: +@itemize +@item Was developed by KGB in USSR +@item Standard does not define any S-boxes: + @itemize + @item There could be backdoors in S-box, if it was defined and fixed + by the standard. + @item Secret/private S-box could be used as an additional keying + information. + @item You can not determine cipher's strength without knowing the + exact S-box. Self-made S-boxes can highly affect overall cipher's + strength. + @item Implementations using different S-boxes are not interoperable. + @end itemize +@item "Magma" name was issued in @ref{en34122015, Kuznechik} standard, +that also defines this algorithm. +@item You have to be very cautious using that cipher with that small +blocksize and often do rekeying. +@end itemize diff --git a/en/34.10.texi b/en/34.10.texi new file mode 100644 index 0000000..f13bf9d --- /dev/null +++ b/en/34.10.texi @@ -0,0 +1,25 @@ +@node en3410 +@section GOST R 34.10-2001/2012 + +@table @asis +@item Algorithm type + Digital signature, based on elliptic curve +@item Elliptic curve form + Weirstrass +@item Used hash + @itemize + @item @ref{en341194, GOST R 34.11-94} fo GOST R 34.10-2001 + @item @ref{en34112015, Streebog} fo GOST R 34.10-2012 + @end itemize +@item RFC + @itemize + @item @url{https://tools.ietf.org/html/rfc5832.html, RFC 5832}: GOST R 34.10-2001 + @item @url{https://tools.ietf.org/html/rfc7091.html, RFC 7091}: GOST R 34.10-2012 + @end itemize +@end table + +@strong{Features}: +@itemize +@item Standard does not define fixed elliptic curve parameters, so you +have to specify/send them by yourself. +@end itemize diff --git a/en/34.11-2015.texi b/en/34.11-2015.texi new file mode 100644 index 0000000..f399cc0 --- /dev/null +++ b/en/34.11-2015.texi @@ -0,0 +1,30 @@ +@node en34112015 +@section Streebog (GOST R 34.11-2015) + +@table @asis +@item Algorithm type + Hash function +@item Digest size + 256 and 512 bit +@item Blocksize + 512 bit +@item Structure + Merkle-Damgård +@item Rounds + 12 +@item RFC + @url{https://tools.ietf.org/html/rfc6986.html, 6986} +@item Best attack + @itemize + @item Collisions: complexity 2^176, 2^128 memory for 9.5 rounds + @item Preimage: complexity 2^266, 2^259 data + @end itemize +@end table + +@strong{Features}: +@itemize +@item Replaces obsolete @ref{en341194, GOST R 34.11-94}. +@item End hash computation example of standard's text contains string +from @url{https://en.wikipedia.org/wiki/The_Tale_of_Igor%27s_Campaign, +"The Tale of Igor's Campaign"}. +@end itemize diff --git a/en/34.11-94.texi b/en/34.11-94.texi new file mode 100644 index 0000000..107594c --- /dev/null +++ b/en/34.11-94.texi @@ -0,0 +1,31 @@ +@node en341194 +@section GOST R 34.11-94 + +@table @asis +@item Algorithm type + Hash function +@item Digest size + 256 bit +@item Blocksize + 256 bit +@item Structure + Merkle-Damgård +@item Rounds + 32 +@item RFC + @url{https://tools.ietf.org/html/rfc5831.html, 5831} +@item Best attack + @itemize + @item Collisions: complexity 2^105 + @item Preimage: complexity 2^192 + @end itemize +@end table + +@strong{Features}: +@itemize +@item Uses @ref{en2814789, Magma} block cipher inside. +@item You have to specify S-box to use for that Magma cipher. +@item Standard does not define how digest output must be presented -- +that is why there are incompatible implementations, that output digest +as either little-endian or big-endian value. +@end itemize diff --git a/en/34.12-2015.texi b/en/34.12-2015.texi new file mode 100644 index 0000000..e368767 --- /dev/null +++ b/en/34.12-2015.texi @@ -0,0 +1,27 @@ +@node en34122015 +@section Kuznechik (GOST R 34.12-2015) + +@table @asis +@item Algorithm type + Block cipher +@item Blocksize + 128 bit +@item Keysize + 256 bit +@item Structure + Substitution-permutation network (SPN) +@item Rounds + 10 +@item RFC + @url{https://tools.ietf.org/html/rfc7801.html, 7801} +@item Best attack + Complexity 2^140.3, 2^153.3 memory, 2^113 data for 5 rounds +@end table + +@strong{Features}: +@itemize +@item Feistel network is used during key schedule. +@item Defined S-boxes was not created pseudorandomly, but with reverse +engineered @url{https://eprint.iacr.org/2016/071.pdf, algorithm}. +However there is no proof that it reduces cipher's strength. +@end itemize diff --git a/en/34.13-2015.texi b/en/34.13-2015.texi new file mode 100644 index 0000000..83cc9cb --- /dev/null +++ b/en/34.13-2015.texi @@ -0,0 +1,42 @@ +@node en34132015 +@section Cipher modes of operation + +@ref{en2814789, GOST 28147-89} standard defines the following modes of +operation for Magma cipher: +@itemize + @item ECB + @item CFB + @item CTR + @item MAC +@end itemize + +@strong{Features}: +@itemize +@item 28147-89 MAC is completely unusable: + @itemize + @item Reduced 16-round Magma cipher is used instead of 32 one. + @item Authenticating data does not have neither padding, nor + length specifying, so @code{MAC(0xDEAD) = MAC(0xDEAD00)}. + @end itemize +@item Specified counter (CTR) mode increments counters with predefined +constants for 32-bit halves of the block. This differs from simpler +counter mode implementations. +@end itemize + +Modern @strong{GOST R 34.13-2015} standard defines the following modes +of operation: +@itemize +@item ECB +@item CBC +@item OFB +@item CFB +@item CTR +@item MAC +@end itemize + +@strong{Features}: +@itemize +@item Common simple counter mode implementation. +@item Specified MAC is identical to +@url{https://en.wikipedia.org/wiki/CMAC, CMAC} and can be used safely. +@end itemize diff --git a/en/index.texi b/en/index.texi new file mode 100644 index 0000000..4757b44 --- /dev/null +++ b/en/index.texi @@ -0,0 +1,87 @@ +@node English +@unnumbered GOST cryptography + +This site is dedicated to Russian Federation's cryptographic algorithms +and is intended to popularize them. Many people even do not know about +their existence. + +Why those algorithms could be interesting and be used as an alternative +to the western ones? Because they obviously are not worse, in some +places are much better and have high serious security margin. + +Information here is aimed for software and protocol developers. + +@multitable @columnfractions 0.5 0.5 +@headitem Western algorithm @tab Russian analogue + +@item + @itemize + @item @url{https://en.wikipedia.org/wiki/Advanced_Encryption_Standard, AES} + @item @url{https://en.wikipedia.org/wiki/3DES, 3DES} + @end itemize + @tab + @itemize + @item @ref{en34122015, Kuznechik} (GOST R 34.12-2015) + @item @ref{en2814789, Magma} (GOST 28147-89) + @end itemize + +@item + @itemize + @item @url{https://en.wikipedia.org/wiki/SHA2, SHA2-256} + @end itemize + @tab + @itemize + @item @ref{en34112015, Streebog} (GOST R 34.11-2015) + @item @ref{en341194, GOST R 34.11-94} (obsolete) + @end itemize + +@item + @itemize + @item @url{https://en.wikipedia.org/wiki/SHA2, SHA2-512} + @item @url{https://en.wikipedia.org/wiki/SHA3, SHA3} + @end itemize + @tab + @itemize + @item @ref{en34112015, Streebog} (GOST R 34.11-2015) + @end itemize + +@item + @itemize + @item @url{https://en.wikipedia.org/wiki/ECDSA, ECDSA} + @end itemize + @tab + @itemize + @item @ref{en3410, GOST R 34.10-2012} + @item @ref{en3410, GOST R 34.10-2001} (obsolete) + @end itemize + +@item + @itemize + @item @url{https://en.wikipedia.org/wiki/ECDH, ECDH} + @end itemize + @tab + @itemize + @item @ref{enVKO, VKO GOST R 34.10-2001} + @end itemize + +@end multitable + +@menu +* Kuznechik (block cipher): en34122015. +* Streebog (hash function): en34112015. +* 34.10 (digital signature): en3410. +* VKO (common key derivation): enVKO. +* Magma (block cipher): en2814789. +* Cipher modes of operation: en34132015. +* Key meshing: enMeshing. +* 34.11-94 (hash function): en341194. +@end menu + +@include en/34.12-2015.texi +@include en/34.11-2015.texi +@include en/34.10.texi +@include en/vko.texi +@include en/28147-89.texi +@include en/34.13-2015.texi +@include en/meshing.texi +@include en/34.11-94.texi diff --git a/en/meshing.texi b/en/meshing.texi new file mode 100644 index 0000000..6bf3c5f --- /dev/null +++ b/en/meshing.texi @@ -0,0 +1,15 @@ +@node enMeshing +@section Key meshing + +There is no key meshing western algorithm analogue. That algorithm +changes cipherkey each kilobyte of data processed. It is used together +with @ref{en2814789, Magma} and is defined in +@url{https://tools.ietf.org/html/rfc4357.html, RFC 4357}. CryptoPro +developers tell that it is intended to resist side-channel attacks. + +Implementation is rather simple and uses two crypt/decrypt operations +over the key and initialization vector. + +It has already showed usefulness: there is @url{https://sweet32.info/, +Sweet32} attack on all 64-bit blockciphers, that is not applicable to +Magma with key meshing used. diff --git a/en/vko.texi b/en/vko.texi new file mode 100644 index 0000000..715aa4d --- /dev/null +++ b/en/vko.texi @@ -0,0 +1,19 @@ +@node enVKO +@section VKO 34.10-2001 + +@table @asis +@item Algorithm type + Key-agreement +@item Keysize + 256 bit +@item RFC + @url{https://tools.ietf.org/html/rfc4357.html, 4357} +@end table + +@strong{Features}: +@itemize +@item This algorithm multiplies own private key, remote public key and +hashes the result, producing common key. Basically it is Diffie-Hellman +key-agreement based on elliptic curves. +@item Additional user key material (UKM) is specified at inputs. +@end itemize diff --git a/index.texi b/index.texi new file mode 100644 index 0000000..ed87cdd --- /dev/null +++ b/index.texi @@ -0,0 +1,21 @@ +\input texinfo +@documentlanguage ru +@documentencoding UTF-8 +@settitle GOST cryptography + +@copying +This website contents are distributed under @url{http://creativecommons.org/licenses/by-sa/4.0/, CC BY-SA 4.0 International} licence. +@end copying + +@node Top +@top GOST cryptography + +@menu +* Русскоязычная версия: Russian. +* English version: English. +@end menu + +@include ru/index.texi +@include en/index.texi + +@bye diff --git a/ru/28147-89.texi b/ru/28147-89.texi new file mode 100644 index 0000000..c91e026 --- /dev/null +++ b/ru/28147-89.texi @@ -0,0 +1,41 @@ +@node ru2814789 +@section Магма (ГОСТ 28147-89) + +@table @asis +@item Что за алгоритм + Блочный шифр +@item Размер блока + 64 бит +@item Размер ключа + 256 бит +@item Структура + Сеть Фейстеля +@item Число раундов + 32 +@item RFC + @url{https://tools.ietf.org/html/rfc5830.html, 5830} +@item Лучшая атака + 2^248 имея 2^64 пар открытый-зашифрованный текст. + Всё очень сильно зависит от используемых таблиц замен +@end table + +@strong{Особенности}: +@itemize +@item Разработан ещё в СССР, 8-ым управлением КГБ. +@item Стандарт не фиксирует значения таблиц замен (S-box). + @itemize + @item Если бы S-box был фиксирован в стандарте, то в нём могли бы + быть "лазейки". + @item Секретный S-box можно использовать как дополнительную ключевую + информацию. + @item Это не позволяет определить стойкость алгоритма не зная + таблиц замены. Самостоятельный выбор может существенно повлиять на + криптостойкость алгоритма. + @item Реализации алгоритма, использующие разные таблицы, не + совместимы между собой. + @end itemize +@item Название "Магма" введено в стандарте @ref{ru34122015, Кузнечика}, +который также описывает и этот блочный шифр. +@item Из-за маленького размера блока необходимо быть аккуратным при его +использовании и часто менять ключи. +@end itemize diff --git a/ru/34.10.texi b/ru/34.10.texi new file mode 100644 index 0000000..79fd8ff --- /dev/null +++ b/ru/34.10.texi @@ -0,0 +1,25 @@ +@node ru3410 +@section ГОСТ Р 34.10-2001/2012 + +@table @asis +@item Что за алгоритм + Цифровая подпись, на основе эллиптических кривых +@item Форма эллиптической кривой + Вайерштрасса (Weirstrass) +@item Используемый хэш + @itemize + @item @ref{ru341194, ГОСТ Р 34.11-94} для ГОСТ Р 34.10-2001 + @item @ref{ru34112015, Стрибог} для ГОСТ Р 34.10-2012 + @end itemize +@item RFC + @itemize + @item @url{https://tools.ietf.org/html/rfc5832.html, RFC 5832}: ГОСТ Р 34.10-2001 + @item @url{https://tools.ietf.org/html/rfc7091.html, RFC 7091}: ГОСТ Р 34.10-2012 + @end itemize +@end table + +@strong{Особенности}: +@itemize +@item Стандарт не задаёт фиксированные параметры эллиптической кривой, +поэтому их надо указывать/передавать при использовании. +@end itemize diff --git a/ru/34.11-2015.texi b/ru/34.11-2015.texi new file mode 100644 index 0000000..26861fc --- /dev/null +++ b/ru/34.11-2015.texi @@ -0,0 +1,30 @@ +@node ru34112015 +@section Стрибог (ГОСТ Р 34.11-2015) + +@table @asis +@item Что за алгоритм + Хэш-функция +@item Размер хэша + 256 и 512 бит +@item Размер блока + 512 бит +@item Структура + Меркла-Дамгарда +@item Число раундов + 12 +@item RFC + @url{https://tools.ietf.org/html/rfc6986.html, 6986} +@item Лучшая атака + @itemize + @item Коллизии: На 9.5 раундов сложность 2^176, 2^128 памяти + @item Прообраз (preimage): сложность 2^266, 2^259 данных + @end itemize +@end table + +@strong{Особенности}: +@itemize +@item Заменил устаревший @ref{ru341194, ГОСТ Р 34.11-94}. +@item В конце текста стандарта в качестве примера вычисления хэша +приводится строка из "Слово о полку Игореве": @emph{Се ветри, Стрибожи +внуци, веютъ с моря стрелами на храбрыя плъкы Игоревы}. +@end itemize diff --git a/ru/34.11-94.texi b/ru/34.11-94.texi new file mode 100644 index 0000000..fa7ce33 --- /dev/null +++ b/ru/34.11-94.texi @@ -0,0 +1,32 @@ +@node ru341194 +@section ГОСТ Р 34.11-94 + +@table @asis +@item Что за алгоритм + Хэш-функция +@item Размер хэша + 256 бит +@item Размер блока + 256 бит +@item Структура + Меркла-Дамгарда +@item Число раундов + 32 +@item RFC + @url{https://tools.ietf.org/html/rfc5831.html, 5831} +@item Лучшая атака + @itemize + @item Коллизии: сложность 2^105 + @item Прообраз (preimage): сложность 2^192 + @end itemize +@end table + +@strong{Особенности}: +@itemize +@item Внутри себя использует блочный шифр @ref{ru2814789, Магма}. +@item Для этой хэш-функции необходимо задавать используемые таблицы +замены Магмы. +@item Стандарт не определяет в каком виде должен быть представлен +результат -- поэтому есть несовместимые между собой реализации в который +хэш представлен в виде little-endian или big-endian значения. +@end itemize diff --git a/ru/34.12-2015.texi b/ru/34.12-2015.texi new file mode 100644 index 0000000..a9248e4 --- /dev/null +++ b/ru/34.12-2015.texi @@ -0,0 +1,29 @@ +@node ru34122015 +@section Кузнечик (ГОСТ Р 34.12-2015) + +@table @asis +@item Что за алгоритм + Блочный шифр +@item Размер блока + 128 бит +@item Размер ключа + 256 бит +@item Структура + Подстановочно-перестановочная сеть (SPN) +@item Число раундов + 10 +@item RFC + @url{https://tools.ietf.org/html/rfc7801.html, 7801} +@item Лучшая атака + На 5 раундов сложность 2^140.3, 2^153.3 памяти, 2^113 данных +@end table + +@strong{Особенности}: +@itemize +@item Развёртывание ключа (key schedule) использует сеть Фейстеля. +@item Заданные узлы замены (S-box) не были созданы псевдослучайным +образом, а использовали алгоритм который +@url{https://eprint.iacr.org/2016/071.pdf, удалось узнать}. Однако нет +доказательств что это негативно сказалось на криптографической стойкости +алгоритма. +@end itemize diff --git a/ru/34.13-2015.texi b/ru/34.13-2015.texi new file mode 100644 index 0000000..16e9ef1 --- /dev/null +++ b/ru/34.13-2015.texi @@ -0,0 +1,42 @@ +@node ru34132015 +@section Режимы шифрования блочных шифров + +@ref{ru2814789, ГОСТ 28147-89} определял следующие режимы шифрования и +аутентификации для блочного шифра Магма: +@itemize + @item ECB (простая замена) + @item CFB (гаммирование с обратной связью + @item CTR (гаммирование) + @item MAC (выработка имитовставки) +@end itemize + +@strong{Особенности}: +@itemize +@item Использовать 28147-89 MAC режим категорически нельзя: + @itemize + @item Шифр Магма используется в 16-раундовом варианте (вместо 32). + @item Аутентифицируемый текст не имеет ни padding, ни передачи длины + данных, таким образом, @code{MAC(0xDEAD) = MAC(0xDEAD00)}. + @end itemize +@item Режим счётчика в этом стандарте для каждой 32-битной половинки блока +увеличивает счётчик на значение фиксированной константы. Это отличается +от более простых реализаций счётчика. +@end itemize + +Современный @strong{ГОСТ Р 34.13-2015} стандарт определяет следующие +режимы шифрования и аутентификации: +@itemize +@item ECB (простая замена) +@item CBC (простая замена с зацеплением) +@item OFB (гаммирование с обратной связью по выходу) +@item CFB (гаммирование с обратной связью по шифротексту) +@item CTR (гаммирование) +@item MAC (выработка имитовставки) +@end itemize + +@strong{Особенности}: +@itemize +@item Реализация режима счётчика стандартна. +@item Реализация MAC в этом стандарте идентична +@url{https://en.wikipedia.org/wiki/CMAC, CMAC} и его использование безопасно. +@end itemize diff --git a/ru/index.texi b/ru/index.texi new file mode 100644 index 0000000..1f2fbc2 --- /dev/null +++ b/ru/index.texi @@ -0,0 +1,89 @@ +@node Russian +@unnumbered ГОСТ криптография + +Этот сайт посвящён криптографическим алгоритмам Российской Федерации и +его целью является их популяризация на фоне всеобщего мирового засилья +алгоритмами стран Запада. Многие люди даже не знают о существовании +отечественной криптографии. + +Почему они могут заинтересовать людей и быть рассмотрены как достойная +альтернатива зарубежным алгоритмам? Потому-что они явно не хуже, местами +гораздо лучше, имеют высокий серьёзный порог безопасности. + +Информация рассчитана, в первую очередь, на разработчиков протоколов и +программного обеспечения. + +@multitable @columnfractions 0.5 0.5 +@headitem Западный алгоритм @tab Российский аналог + +@item + @itemize + @item @url{https://en.wikipedia.org/wiki/Advanced_Encryption_Standard, AES} + @item @url{https://en.wikipedia.org/wiki/3DES, 3DES} + @end itemize + @tab + @itemize + @item @ref{ru34122015, Кузнечик} (ГОСТ Р 34.12-2015) + @item @ref{ru2814789, Магма} (ГОСТ 28147-89) + @end itemize + +@item + @itemize + @item @url{https://en.wikipedia.org/wiki/SHA2, SHA2-256} + @end itemize + @tab + @itemize + @item @ref{ru34112015, Стрибог} (ГОСТ Р 34.11-2015) + @item @ref{ru341194, ГОСТ Р 34.11-94} (устаревший) + @end itemize + +@item + @itemize + @item @url{https://en.wikipedia.org/wiki/SHA2, SHA2-512} + @item @url{https://en.wikipedia.org/wiki/SHA3, SHA3} + @end itemize + @tab + @itemize + @item @ref{ru34112015, Стрибог} (ГОСТ Р 34.11-2015) + @end itemize + +@item + @itemize + @item @url{https://en.wikipedia.org/wiki/ECDSA, ECDSA} + @end itemize + @tab + @itemize + @item @ref{ru3410, ГОСТ Р 34.10-2012} + @item @ref{ru3410, ГОСТ Р 34.10-2001} (устаревший) + @end itemize + +@item + @itemize + @item @url{https://en.wikipedia.org/wiki/ECDH, ECDH} + @end itemize + @tab + @itemize + @item @ref{ruVKO, ВКО ГОСТ Р 34.10-2001} + @end itemize + +@end multitable + +@menu +* Кузнечик (блочный шифр): ru34122015. +* Стрибог (хэш-функция): ru34112015. +* 34.10 (ЭЦП): ru3410. +* ВКО (согласование ключей): ruVKO. +* Магма (блочный шифр): ru2814789. +* Режимы шифрования: ru34132015. +* Key meshing (запутывание ключа): ruMeshing. +* 34.11-94 (хэш-функция): ru341194. +@end menu + +@include ru/34.12-2015.texi +@include ru/34.11-2015.texi +@include ru/34.10.texi +@include ru/vko.texi +@include ru/28147-89.texi +@include ru/34.13-2015.texi +@include ru/meshing.texi +@include ru/34.11-94.texi diff --git a/ru/meshing.texi b/ru/meshing.texi new file mode 100644 index 0000000..51053ed --- /dev/null +++ b/ru/meshing.texi @@ -0,0 +1,16 @@ +@node ruMeshing +@section Запутывание ключа (key meshing) + +Алгоритм запутывания ключа (key meshing) не имеет аналогов в Западных +алгоритмах. Его суть: делать смену ключа каждый килобайт зашифрованных +данных. Применяется совместно с @ref{ru2814789, Магмой} и описан в +@url{https://tools.ietf.org/html/rfc4357.html, RFC 4357}. По заверению +разработчиков из КриптоПро, он служит для усложнения проведения атак по +побочным каналам. + +Реализация проста и заключается в применении пары операций +шифрования/дешифрования над ключом и вектором инициализации. + +На практике он себя уже проявил: есть @url{https://sweet32.info/, Sweet32} +атака на все 64-битные блочные шифры, которая при использовании алгоритма +запутывания ключа уже неприменима к Магме. diff --git a/ru/vko.texi b/ru/vko.texi new file mode 100644 index 0000000..a1025b7 --- /dev/null +++ b/ru/vko.texi @@ -0,0 +1,21 @@ +@node ruVKO +@section ВКО (VKO) 34.10-2001 + +@table @asis +@item Что за алгоритм + Согласование ключей (выработка общего ключа) +@item Размер ключа + 256 бит +@item RFC + @url{https://tools.ietf.org/html/rfc4357.html, 4357} +@end table + +@strong{Особенности}: +@itemize +@item Этот алгоритм перемножает собственный приватный ключ, публичный +ключ противоположной стороны и хэширует результат, получая общий ключ. +Фактически является функцией согласования ключей Диффи-Хельмана на +основе эллиптических кривых. +@item Дополнительно на вход подаётся пользовательский ключевой материал +UKM (User Key Material). +@end itemize diff --git a/style.css b/style.css new file mode 100644 index 0000000..dc94af9 --- /dev/null +++ b/style.css @@ -0,0 +1,10 @@ +