Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Пт дек 15, 2017 9:32 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 10 сообщений ] 
Автор Сообщение
СообщениеДобавлено: Вс дек 16, 2012 11:18 am 
Не в сети
Mentor
Аватара пользователя

Зарегистрирован: Пн окт 19, 2009 10:58 am
Сообщения: 343
Выбирал название между libcrypto и libhash, в итоге получилось libcrash.

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

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

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

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


Вернуться к началу
СообщениеДобавлено: Вс дек 16, 2012 12:16 pm 
Не в сети

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


Вернуться к началу
СообщениеДобавлено: Вс дек 16, 2012 2:03 pm 
Не в сети
Mentor
Аватара пользователя

Зарегистрирован: Пн окт 19, 2009 10:58 am
Сообщения: 343
Всё просто: если я делюсь с человеком, то хочу, чтобы и он со мной поделился в ответ. А если человек изначально не намерен делиться со мной, то почему я должен делиться с ним? Иными словами, как вы ко мне, так и я к вам.

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


Вернуться к началу
СообщениеДобавлено: Вс дек 16, 2012 6:01 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Я не знаю, насколько хорошо отнесутся авторы библиотек к обновлению лизцензии с GPLv2 до GPLv3. В остальном мне твой подход нравится :)


Вернуться к началу
СообщениеДобавлено: Вс дек 16, 2012 6:25 pm 
Не в сети
Mentor
Аватара пользователя

Зарегистрирован: Пн окт 19, 2009 10:58 am
Сообщения: 343
Если ты линкуешь программу П с библиотеками Б1(LGPL*) и Б2(GPL3+), то единственное условие -- GPL3+ для П.

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


Вернуться к началу
СообщениеДобавлено: Пт май 24, 2013 6:36 pm 
Не в сети
Mentor
Аватара пользователя

Зарегистрирован: Пн окт 19, 2009 10:58 am
Сообщения: 343
Добавил хэши sha3 (keccak).

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


Вернуться к началу
СообщениеДобавлено: Пт май 24, 2013 7:33 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Супер, поздравляю, молодец!


Вернуться к началу
СообщениеДобавлено: Пт май 24, 2013 7:49 pm 
Не в сети
Mentor
Аватара пользователя

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


Вернуться к началу
СообщениеДобавлено: Пт апр 18, 2014 10:02 pm 
Не в сети

Зарегистрирован: Ср май 18, 2005 7:27 pm
Сообщения: 1001
http://habrahabr.ru/post/219859/


Вернуться к началу
СообщениеДобавлено: Пт апр 18, 2014 10:14 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1082
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:

ну и т.п.

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


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 10 сообщений ] 

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB