Board.KolibriOS.org
http://board.kolibrios.org/

libcrash -- криптографические хэш функции и проч.
http://board.kolibrios.org/viewtopic.php?f=24&t=2189
Страница 1 из 1

Автор:  dunkaist [ Вс дек 16, 2012 11:18 am ]
Заголовок сообщения:  libcrash -- криптографические хэш функции и проч.

Выбирал название между libcrypto и libhash, в итоге получилось libcrash.

Из реализованного crc32, md4, md5, sha1, sha2 (224, 256, 384, 512).

В sha2 работа с 64-битными числами идёт через mmx регистры.

Пример прилагается.

Осторожно, GPL3+. Я вас предупреждал.

Автор:  SoUrcerer [ Вс дек 16, 2012 12:16 pm ]
Заголовок сообщения:  Re: libcrash -- криптографические хэш функции и проч.

Почему не LGPL, если не секрет?
В любом случае, использование данной библиотеки требует кода программ под лицензией GPLv3. Не уверен насчет лицензии библиотек, которые "поставляются" с C--, что может вызвать определенные проблемы.

Автор:  dunkaist [ Вс дек 16, 2012 2:03 pm ]
Заголовок сообщения:  Re: libcrash -- криптографические хэш функции и проч.

Всё просто: если я делюсь с человеком, то хочу, чтобы и он со мной поделился в ответ. А если человек изначально не намерен делиться со мной, то почему я должен делиться с ним? Иными словами, как вы ко мне, так и я к вам.

Насколько я понял из этой картинки, использование других LGPL библиотек допустимо. В частности libs-dev (libini, libimg, ...) распространяются под LGPL2.1+.

Автор:  SoUrcerer [ Вс дек 16, 2012 6:01 pm ]
Заголовок сообщения:  Re: libcrash -- криптографические хэш функции и проч.

Я не знаю, насколько хорошо отнесутся авторы библиотек к обновлению лизцензии с GPLv2 до GPLv3. В остальном мне твой подход нравится :)

Автор:  dunkaist [ Вс дек 16, 2012 6:25 pm ]
Заголовок сообщения:  Re: libcrash -- криптографические хэш функции и проч.

Если ты линкуешь программу П с библиотеками Б1(LGPL*) и Б2(GPL3+), то единственное условие -- GPL3+ для П.

Менять лицензию libs-dev не нужно, они ведь под LGPL, а не GPL. Проблемы только с GPLv2 only.

Автор:  dunkaist [ Пт май 24, 2013 6:36 pm ]
Заголовок сообщения:  Re: libcrash -- криптографические хэш функции и проч.

Добавил хэши sha3 (keccak).

Пример crashtest.asm с svn, вычисляющий всевозможные хэши самого себя:
Изображение

Автор:  SoUrcerer [ Пт май 24, 2013 7:33 pm ]
Заголовок сообщения:  Re: libcrash -- криптографические хэш функции и проч.

Супер, поздравляю, молодец!

Автор:  dunkaist [ Пт май 24, 2013 7:49 pm ]
Заголовок сообщения:  Re: libcrash -- криптографические хэш функции и проч.

Спасибо. Но там ещё много работы: скорости бы добавить. Начиная с sha384 идёт работа с 64-битными числами, и на ней мой код даже с mmx в разы сливает 64-битному сишному, у которого в распоряжении 64-разрядные регистры общего назначения с нативными rol, например, и прибавлением регистра к памяти.

Автор:  Wildwest [ Пт апр 18, 2014 10:02 pm ]
Заголовок сообщения:  Re: libcrash -- криптографические хэш функции и проч.

http://habrahabr.ru/post/219859/

Автор:  0CodErr [ Пт апр 18, 2014 10:14 pm ]
Заголовок сообщения:  Re: libcrash -- криптографические хэш функции и проч.

Wildwest писал(а):
http://habrahabr.ru/post/219859/

Куча "cld" ни одного "std"
Цитата:
#
and eax, edi ; ( state[i*8+k] & (1<<(7-j) )
#
cmp eax, 0 ; if ((state[i*8+k] & (1<<(7-j))) != 0) v ^= A[k*8+j] ???
#
jz .next_ji

Цитата:
#
jb .next_j
#
jmp .next_ki
#
align 4
#
.next_ki:

Цитата:
#
jb .next_i
#
jmp .end
#
.end:

ну и т.п.

Вывод: "нинужно", любой вменяемый компилятор сделает лучше.

Страница 1 из 1 Часовой пояс: UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/