From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Mon, 8 Oct 2018 12:09:44 +0300 From: Vitaly Chikunov To: oss-gost-crypto@lists.altlinux.org Message-ID: <20181008090943.j7sdvifibiuvvwpb@sole.flsd.net> References: <20181003143423.h66weow34llqvt5t@sole.flsd.net> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20181003143423.h66weow34llqvt5t@sole.flsd.net> User-Agent: NeoMutt/20171215-106-ac61c7 Cc: "Anton V. Boyarshinov" Subject: Re: [oss-gost-crypto] =?koi8-r?b?7c/E1czJIExpbnV4INMgy9LJ0NTPx9LBxsnF?= =?koi8-r?b?yiDn7/P0?= X-BeenThere: oss-gost-crypto@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: Open-source aspects of GOST Cryptography List-Id: Open-source aspects of GOST Cryptography List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Oct 2018 09:09:44 -0000 Archived-At: List-Archive: FYI On Wed, Oct 03, 2018 at 05:34:23PM +0300, Vitaly Chikunov wrote: > On Wed, Oct 03, 2018 at 01:48:01PM +0300, Dmitry Eremin-Solenikov wrote: > > > > Раз уж пошел разговор про ядерные модули, сконвертировал код для > > поддержки Linux Crypto API: https://github.com/GostCrypt/linux-crypto > > К слову, моё ядро для сходных же целей > https://github.com/vt-alt/linux бранч tfm-streebog Я еще больше адаптировал Streebog для апстрима: https://github.com/vt-alt/linux бранч streebog 1. Пофиксил жалобы checkpatch.pl, какие можно. 2. Полностью убрал ifdef __LITTLE_ENDIAN'ы и дублирование массивов с константами -- даже с этими изменениями исходники самые большие в crypto/, а были в два раза больше. Заменил где надо на le64_to_cpu/cpu_to_le64. Это noop на x86, а на других архитектурах импакт зависит от наличия swab64. (Однако, на big endian архитектурах не тестировал.) 3. Выкинул не используемый массив A[]. 4. Переделал add512 на более простой код. 5. Переделал XLPS макрос на более быстрый (по тестам) код. (Пробовал разные варианты переделки.) Bulk speed по тестам tcrypt увеличилась (на E5630 под qemu+kvm) с 59 Mb/s до 70 Mb/s. К слову сказать, у sha256-generic скорость 120 Mb/s, а у китайского sm3 85Mb/s. Для желающих поэкспериментировать тесты можно запустить так: insmod tcrypt.ko mode=400 alg=sb256 sec=1 6. Перенес тесты из тела модуля в testmgr. (Раньше исходники можно было легко собирать как in- так и out-of-tree, сейчас out-of-tree будет не так удобно сделать не потеряв тесты.) streebog.h перенес в include/crypto/.