<div dir="ltr"><div dir="ltr">Привет!<div><br></div><div>Виталий, у меня в тестах на Стрибог был тест на корректную работу add512. </div><div><a href="https://github.com/gost-engine/engine/tree/master/etalon">https://github.com/gost-engine/engine/tree/master/etalon</a> файл carry. В реализации исходно была ошибка, и на этом файле она вылезала.<br></div><div><br></div><div>По XLPS - доступны ли в ядре gcc-шные intrinsics?</div></div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, Oct 8, 2018 at 12:09 PM Vitaly Chikunov &lt;<a href="mailto:vt@altlinux.org">vt@altlinux.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">FYI<br>
<br>
On Wed, Oct 03, 2018 at 05:34:23PM +0300, Vitaly Chikunov wrote:<br>
&gt; On Wed, Oct 03, 2018 at 01:48:01PM +0300, Dmitry Eremin-Solenikov wrote:<br>
&gt; &gt; <br>
&gt; &gt; Раз уж пошел разговор про ядерные модули, сконвертировал код для<br>
&gt; &gt; поддержки Linux Crypto API: <a href="https://github.com/GostCrypt/linux-crypto" rel="noreferrer" target="_blank">https://github.com/GostCrypt/linux-crypto</a><br>
&gt; <br>
&gt; К слову, моё ядро для сходных же целей<br>
&gt;   <a href="https://github.com/vt-alt/linux" rel="noreferrer" target="_blank">https://github.com/vt-alt/linux</a> бранч tfm-streebog<br>
<br>
Я еще больше адаптировал Streebog для апстрима:<br>
<br>
  <a href="https://github.com/vt-alt/linux" rel="noreferrer" target="_blank">https://github.com/vt-alt/linux</a> бранч streebog<br>
<br>
1. Пофиксил жалобы <a href="http://checkpatch.pl" rel="noreferrer" target="_blank">checkpatch.pl</a>, какие можно.<br>
<br>
2. Полностью убрал ifdef __LITTLE_ENDIAN&#39;ы и дублирование массивов с<br>
константами -- даже с этими изменениями исходники самые большие в crypto/,<br>
а были в два раза больше. Заменил где надо на le64_to_cpu/cpu_to_le64.<br>
Это noop на x86, а на других архитектурах импакт зависит от наличия swab64.<br>
(Однако, на big endian архитектурах не тестировал.)<br>
<br>
3. Выкинул не используемый массив A[].<br>
<br>
4. Переделал add512 на более простой код.<br>
<br>
5. Переделал XLPS макрос на более быстрый (по тестам) код. (Пробовал<br>
разные варианты переделки.) Bulk speed по тестам tcrypt увеличилась (на<br>
E5630 под qemu+kvm) с 59 Mb/s до 70 Mb/s. К слову сказать, у<br>
sha256-generic скорость 120 Mb/s, а у китайского sm3 85Mb/s.<br>
<br>
Для желающих поэкспериментировать тесты можно запустить так:<br>
<br>
   insmod tcrypt.ko mode=400 alg=sb256 sec=1<br>
<br>
6. Перенес тесты из тела модуля в testmgr. (Раньше исходники можно было<br>
легко собирать как in- так и out-of-tree, сейчас out-of-tree будет не<br>
так удобно сделать не потеряв тесты.) streebog.h перенес в<br>
include/crypto/.<br>
<br>
<br>
_______________________________________________<br>
oss-gost-crypto mailing list<br>
<a href="mailto:oss-gost-crypto@lists.altlinux.org" target="_blank">oss-gost-crypto@lists.altlinux.org</a><br>
<a href="https://lists.altlinux.org/mailman/listinfo/oss-gost-crypto" rel="noreferrer" target="_blank">https://lists.altlinux.org/mailman/listinfo/oss-gost-crypto</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">SY, Dmitry Belyavsky</div>