Board.KolibriOS.org

Official KolibriOS board
It is currently Sun Aug 18, 2019 10:03 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 10 posts ] 
Author Message
PostPosted: Sun Dec 16, 2012 11:18 am 
Offline
Mentor
User avatar

Joined: Mon Oct 19, 2009 10:58 am
Posts: 421
Выбирал название между libcrypto и libhash, в итоге получилось libcrash.

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

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

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

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


Top
   
PostPosted: Sun Dec 16, 2012 12:16 pm 
Offline

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


Top
   
PostPosted: Sun Dec 16, 2012 2:03 pm 
Offline
Mentor
User avatar

Joined: Mon Oct 19, 2009 10:58 am
Posts: 421
Всё просто: если я делюсь с человеком, то хочу, чтобы и он со мной поделился в ответ. А если человек изначально не намерен делиться со мной, то почему я должен делиться с ним? Иными словами, как вы ко мне, так и я к вам.

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


Top
   
PostPosted: Sun Dec 16, 2012 6:01 pm 
Offline

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


Top
   
PostPosted: Sun Dec 16, 2012 6:25 pm 
Offline
Mentor
User avatar

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

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


Top
   
PostPosted: Fri May 24, 2013 6:36 pm 
Offline
Mentor
User avatar

Joined: Mon Oct 19, 2009 10:58 am
Posts: 421
Добавил хэши sha3 (keccak).

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


Top
   
PostPosted: Fri May 24, 2013 7:33 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Супер, поздравляю, молодец!


Top
   
PostPosted: Fri May 24, 2013 7:49 pm 
Offline
Mentor
User avatar

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


Top
   
PostPosted: Fri Apr 18, 2014 10:02 pm 
Offline

Joined: Wed May 18, 2005 7:27 pm
Posts: 1001
http://habrahabr.ru/post/219859/


Top
   
PostPosted: Fri Apr 18, 2014 10:14 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Wildwest wrote:
http://habrahabr.ru/post/219859/

Куча "cld" ни одного "std"
Quote:
#
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

Quote:
#
jb .next_j
#
jmp .next_ki
#
align 4
#
.next_ki:

Quote:
#
jb .next_i
#
jmp .end
#
.end:

ну и т.п.

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


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 10 posts ] 

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited