Thread View: pl.comp.programming
12 messages
12 total messages
Started by Maciej Sobczak
Tue, 14 Jan 2020 20:44
Lekka biblioteka krypto?
Author: Maciej Sobczak
Date: Tue, 14 Jan 2020 20:44
Date: Tue, 14 Jan 2020 20:44
9 lines
1671 bytes
1671 bytes
Zna ktoś jakąś lekką bibliotekę kryptograficzną dla C lub C++? Czyli taką, która pozwala np. wyliczyć hash albo zaszyfrować/odszyfrować coś znanym algorytmem albo może też wygenerować klucze do tegoż. Istotnymi parametrami są ilość kodu, jego szeroko rozumiana "hackowalność" i brak zależności od innych bibliotek. Znam i używałem BeeCrypt. Poza licencją jest OK. Czy są jakieś alternatywy? -- Maciej Sobczak * http://www.inspirel.com
Re: Lekka biblioteka krypto?
Author: godek.maciek
Date: Tue, 14 Jan 2020 21:45
Date: Tue, 14 Jan 2020 21:45
21 lines
2488 bytes
2488 bytes
W dniu wtorek, 14 stycznia 2020 21:44:34 UTC+1 użytkownik Maciej Sobczak napisał: > Zna ktoś jakąś lekką bibliotekę kryptograficzną dla C lub C++? > Czyli taką, która pozwala np. wyliczyć hash albo zaszyfrować/odszyfrować coś znanym algorytmem albo może też wygenerować klucze do tegoż. > > Istotnymi parametrami są ilość kodu, jego szeroko rozumiana "hackowalność" i brak zależności od innych bibliotek. > > Znam i używałem BeeCrypt. Poza licencją jest OK. Czy są jakieś alternatywy? Ja zawsze wygugliwałem sobie w sieci poszczególne algorytmy, i z reguły udawało się coś znaleźć. Jeżeli idzie o bardziej systematyczny zbiór bibliotek, to swego czasu znalazłem gościa, który utrzymuje coś takiego dla języka Scheme: https://github.com/weinholt/industria https://github.com/weinholt/hashing kod jest raczej czytelny, a w razie czego można pojechać jakimś kompilatorem Scheme->C (np. Chicken albo Gambit) i zobaczyć, czy efekt będzie zadowalający. Szybkie zapytanie na GitHubie zwróciło mi też np. coś takiego (w C++): https://github.com/JamisHoo/Cryptographic-Algorithms ale nie używałem.
Re: Lekka biblioteka krypto?
Author: Borneq
Date: Tue, 14 Jan 2020 21:52
Date: Tue, 14 Jan 2020 21:52
13 lines
1709 bytes
1709 bytes
W dniu 2020-01-14 o 21:44, Maciej Sobczak pisze: > Zna ktoś jakąś lekką bibliotekę kryptograficzną dla C lub C++? > Czyli taką, która pozwala np. wyliczyć hash albo zaszyfrować/odszyfrować coś znanym algorytmem albo może też wygenerować klucze do tegoż. > > Istotnymi parametrami są ilość kodu, jego szeroko rozumiana "hackowalność" i brak zależności od innych bibliotek. > > Znam i używałem BeeCrypt. Poza licencją jest OK. Czy są jakieś alternatywy? > Choćby moje tłumaczenie z Pascala: https://github.com/borneq/DCPCryptCpp powinna działać, przy czym ma dodaną jeszcze funkcję sha3 w implementacji , która - jest czytelna - działa szybko
Re: Lekka biblioteka krypto?
Author: M.M.
Date: Wed, 15 Jan 2020 01:11
Date: Wed, 15 Jan 2020 01:11
14 lines
2063 bytes
2063 bytes
On Tuesday, January 14, 2020 at 9:44:34 PM UTC+1, Maciej Sobczak wrote: > Zna ktoś jakąś lekką bibliotekę kryptograficzną dla C lub C++? > Czyli taką, która pozwala np. wyliczyć hash albo zaszyfrować/odszyfrować coś znanym algorytmem albo może też wygenerować klucze do tegoż. > > Istotnymi parametrami są ilość kodu, jego szeroko rozumiana "hackowalność" i brak zależności od innych bibliotek. > > Znam i używałem BeeCrypt. Poza licencją jest OK. Czy są jakieś alternatywy? > > -- > Maciej Sobczak * http://www.inspirel.com A po prostu openssl? Pozdrawiam
Re: Lekka biblioteka krypto?
Author: M.M.
Date: Wed, 15 Jan 2020 01:15
Date: Wed, 15 Jan 2020 01:15
11 lines
1809 bytes
1809 bytes
On Tuesday, January 14, 2020 at 9:44:34 PM UTC+1, Maciej Sobczak wrote: > Zna ktoś jakąś lekką bibliotekę kryptograficzną dla C lub C++? > Czyli taką, która pozwala np. wyliczyć hash Do samych hashy qt się nadaje: https://doc.qt.io/qt-5/qcryptographichash.html Szyfrowania w qt nie widziałem. Pozdrawiam
Re: Lekka biblioteka krypto?
Author: Maciej Sobczak
Date: Wed, 15 Jan 2020 08:17
Date: Wed, 15 Jan 2020 08:17
12 lines
2086 bytes
2086 bytes
> kod jest raczej czytelny, a w razie czego można pojechać jakimś kompilatorem Scheme->C To jest w ogóle ciekawe zagadnienie, bo nie jest jasne, co się ma wtedy stać z licencją. Tak czy inaczej, po pierwszym rzucie oka wygląda jakby Scheme miał wbudowaną arytmetykę dużych liczb a ta biblioteka już na tym polega. Co zrobi translator? > Szybkie zapytanie na GitHubie Tylko widzisz - zapytanie na GitHubie to ja też umiem. Natomiast nie wiem, co o takim znalezisku myśleć. Dlatego pytam na grupie, bo opinia na podstawie doświadczenia jest cenniejsza, niż wynik z indeksu. -- Maciej Sobczak * http://www.inspirel.com
Re: Lekka biblioteka krypto?
Author: Maciej Sobczak
Date: Wed, 15 Jan 2020 08:38
Date: Wed, 15 Jan 2020 08:38
9 lines
1679 bytes
1679 bytes
> Choćby moje tłumaczenie z Pascala: https://github.com/borneq/DCPCryptCpp Kod wygląda na fajny, czytelny i ogólnie przyjazny. Ale widzę, że są tylko symetryczne algorytmy. Zgadza się? A jak generować klucze? Jakimś zewnętrznym narzędziem? -- Maciej Sobczak * http://www.inspirel.com
Re: Lekka biblioteka krypto?
Author: Maciej Sobczak
Date: Wed, 15 Jan 2020 08:48
Date: Wed, 15 Jan 2020 08:48
9 lines
2166 bytes
2166 bytes
> A po prostu openssl? Nie kojarzy mi się z określeniem "lekka". :-) To ma chodzić na mikrokontrolerze i ma tam nie dominować nad właściwą aplikacją. O ile w ogóle da się ją tak użyć. Bo w szczególności to, co autor (jakiejkolwiek) biblioteki wyobrażał sobie na temat środowiska kompilacji to jest ogólnie nieprawda. Dlatego zależy mi na tym, żeby była "hackowalna", czyli jak najprostsza w rozszarpywaniu jej na kawałki i przeszczepianiu w inne miejsce. W tej kategorii najfajniej wyglądają BeeCrypt (ale ma trudną licencję) i właśnie Andrzejowe DCPCryptCpp (ale nie ma asymetrycznych algorytmów). -- Maciej Sobczak * http://www.inspirel.com
Re: Lekka biblioteka krypto?
Author: M.M.
Date: Wed, 15 Jan 2020 10:30
Date: Wed, 15 Jan 2020 10:30
28 lines
2921 bytes
2921 bytes
On Wednesday, January 15, 2020 at 9:48:50 AM UTC+1, Maciej Sobczak wrote: > > A po prostu openssl? > > Nie kojarzy mi się z określeniem "lekka". :-) > To ma chodzić na mikrokontrolerze i ma tam nie dominować nad właściwą aplikacją. O ile w ogóle da się ją tak użyć. > > Bo w szczególności to, co autor (jakiejkolwiek) biblioteki wyobrażał sobie na temat środowiska kompilacji to jest ogólnie nieprawda. Dlatego zależy mi na tym, żeby była "hackowalna", czyli jak najprostsza w rozszarpywaniu jej na kawałki i przeszczepianiu w inne miejsce. W tej kategorii najfajniej wyglądają BeeCrypt (ale ma trudną licencję) i właśnie Andrzejowe DCPCryptCpp (ale nie ma asymetrycznych algorytmów). > > -- > Maciej Sobczak * http://www.inspirel.com Nie wiem, ale może nie odpuszczaj tak szybko OpenSSL. https://www.avrfreaks.net/forum/openssl Cytat: [ Have a quick eye-over http://avr32linux.org/twiki/bin/... Porting OpenSSL across hopefully is as easy as adding a --host=avr32-linux on the configure command but often that isn't the case. Once it's compiled, install it to your AVR32 root fs (SD card, NFS etc.). This is most easily done my mounting your AVR32 root fs on your build machine and specifying the prefixes for make install as being in there. Once that's all done, you're good to go! Code using OpenSSL shouldn't be different under the AVR32 so any example code you find around will be applicable. ] Pozdrawiam
Re: Lekka biblioteka krypto?
Author: Borneq
Date: Wed, 15 Jan 2020 12:52
Date: Wed, 15 Jan 2020 12:52
12 lines
1710 bytes
1710 bytes
W dniu 2020-01-15 o 09:38, Maciej Sobczak pisze: >> Choćby moje tłumaczenie z Pascala: https://github.com/borneq/DCPCryptCpp > > Kod wygląda na fajny, czytelny i ogólnie przyjazny. > Ale widzę, że są tylko symetryczne algorytmy. Zgadza się? > > A jak generować klucze? Jakimś zewnętrznym narzędziem? > To bardziej skomplikowana sprawa. Może użyć bibliotek (do tej pory nie używałem ich) SSL jak libeay32.dll czy ssleay32.dll pod Windows? Bo tu trzeba by mieć i generator pseudolosowy i to mocny kryptograficznie i zgodność ze standardami.
Re: Lekka biblioteka krypto?
Author: Borneq
Date: Wed, 15 Jan 2020 13:00
Date: Wed, 15 Jan 2020 13:00
24 lines
2887 bytes
2887 bytes
W dniu 2020-01-15 o 09:48, Maciej Sobczak pisze: >> A po prostu openssl? > > Nie kojarzy mi się z określeniem "lekka". :-) > To ma chodzić na mikrokontrolerze i ma tam nie dominować nad właściwą aplikacją. O ile w ogóle da się ją tak użyć. > > Bo w szczególności to, co autor (jakiejkolwiek) biblioteki wyobrażał sobie na temat środowiska kompilacji to jest ogólnie nieprawda. Dlatego zależy mi na tym, żeby była "hackowalna", czyli jak najprostsza w rozszarpywaniu jej na kawałki i przeszczepianiu w inne miejsce. W tej kategorii najfajniej wyglądają BeeCrypt (ale ma trudną licencję) i właśnie Andrzejowe DCPCryptCpp (ale nie ma asymetrycznych algorytmów). > Trzeba by jeszcze sprawdzić dokładnie licencje: Tłumaczyłem z https://wiki.freepascal.org/DCPcrypt które ma właśnie licencję MIT, do tego włączyłem fajną obsługę sha3 (kiedyś miałem inną, powolną i mniej czytelną) z innego projektu i Argon2. Może kiedyś jeszcze wezmę się aby napisać inną część biblioteki rozbudowaną o podpisy, ale tu: - potrzeba źródła entropii - musi być random bezpieczne kryptograficznie - operacje na dużych liczbach, wykonuje to Boost, ale może dla prędkości trzeba by włączyć trochę kodu GMP, zarówno dla random jak i dla kluczy. Dla RSA trzeba by sporo mieć kodu działąjącego na dużych liczbach, bo tu byłoby wiele typów operacji gdy szukamy liczb pierwszych. Nie wiem za bardzo czy kryptografia krzywych eliptycznych nie powoduje, że kryptografia liczb pierwszych przestaje być potrzebna? Dla krzywych eliptycznych możemy działać na o wiele krótszych liczbach i chyba ma wszystkie właściwości asymetryczne?
Re: Lekka biblioteka krypto?
Author: M.M.
Date: Wed, 15 Jan 2020 13:12
Date: Wed, 15 Jan 2020 13:12
32 lines
3630 bytes
3630 bytes
On Wednesday, January 15, 2020 at 2:00:40 PM UTC+1, Borneq wrote: > W dniu 2020-01-15 o 09:48, Maciej Sobczak pisze: > >> A po prostu openssl? > > > > Nie kojarzy mi się z określeniem "lekka". :-) > > To ma chodzić na mikrokontrolerze i ma tam nie dominować nad właściwą aplikacją. O ile w ogóle da się ją tak użyć. > > > > Bo w szczególności to, co autor (jakiejkolwiek) biblioteki wyobrażał sobie na temat środowiska kompilacji to jest ogólnie nieprawda. Dlatego zależy mi na tym, żeby była "hackowalna", czyli jak najprostsza w rozszarpywaniu jej na kawałki i przeszczepianiu w inne miejsce. W tej kategorii najfajniej wyglądają BeeCrypt (ale ma trudną licencję) i właśnie Andrzejowe DCPCryptCpp (ale nie ma asymetrycznych algorytmów). > > > Trzeba by jeszcze sprawdzić dokładnie licencje: > Tłumaczyłem z https://wiki.freepascal.org/DCPcrypt które ma właśnie > licencję MIT, do tego włączyłem fajną obsługę sha3 (kiedyś miałem inną, > powolną i mniej czytelną) z innego projektu i Argon2. > Może kiedyś jeszcze wezmę się aby napisać inną część biblioteki > rozbudowaną o podpisy, ale tu: > - potrzeba źródła entropii > - musi być random bezpieczne kryptograficznie > - operacje na dużych liczbach, wykonuje to Boost, ale może dla prędkości > trzeba by włączyć trochę kodu GMP, zarówno dla random jak i dla kluczy. > Dla RSA trzeba by sporo mieć kodu działąjącego na dużych liczbach, bo tu > byłoby wiele typów operacji gdy szukamy liczb pierwszych. > Nie wiem za bardzo czy kryptografia krzywych eliptycznych nie powoduje, > że kryptografia liczb pierwszych przestaje być potrzebna? Dla krzywych > eliptycznych możemy działać na o wiele krótszych liczbach i chyba ma > wszystkie właściwości asymetryczne? I nie mogą to być byle jakie liczby pierwsze, poza oczywistym faktem że muszą być duże, musi być też miedzy nimi duży odstęp (są metody łamania gdy między liczbami jest mały odstęp) i jeszcze kilka wymogów. Jakaś pomyłka w tych szczegółach i algorytm szyfrujący jest podatny na łamanie. Pozdrawiam
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads