From: Sergey Matveev Date: Fri, 8 Oct 2021 19:32:34 +0000 (+0300) Subject: Новый GoGOST и gostls13 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=7e67d10499c35e0ec7787abba48c36afb0ce2b04;p=stargrave-blog.git Новый GoGOST и gostls13 В прежних версиях gostls13 tls.LoadX509KeyPair не загружал ГОСТовые ключи и сертификаты: crypto/x509 модуль то их парсил, но уже в самом tls helper-е switch/if-ы ничего не знали про ГОСТ. Исправил и теперь ГОСТ вообще без трудностей можно использовать самыми штатными средствами. Ну и занялся оптимизацией Кузнечика-MGM. А главным образом MGM: переделав его работу на кручение/верчение пары 64-битных чисел. Если чистая Си-шная реализация Кузнечик-MGM выдаёт чуть более 5MiB/sec, то GoGOST показывает более 3MiB. Как-раз чаще всего я видел что на Go аналогичные программы где-то на треть медленнее, что тут и получилось, означая что я почти всё выжал что можно было. 3-5 MiB/sec выглядит как-то медленно. Ну... и AES не шибко быстр, если реализовать его без многих лет научных изысканий по оптимизации. И если забыть про SIMD и ассемблер. Плюс MGM два раза шифрует (и GF^128 делает соответственно), что в два раза сбавляет скорости. Но конечно штатно мы все уже привыкли или к быстрым Salsa20-like шифрам, или SIMD или аппаратному ускорению. ---