Darmowa biblioteka szyfrowania dla Delphi [zamknięta]

Szukam darmowej i aktualnej biblioteki szyfrowania dla Delphi 2010, która implementuje RSA i AES (Rijndael).

Chcę mieć darmową bibliotekę, ponieważ planuję napisać i opublikować przykładowy kod, który będzie z niej korzystać.

Wersja Delphi 2010 TurboPower LockBox została opublikowana na stronie SongBeamer , która implementuje oba z nich, ale obawiam się, że robi się trochę stary. Na przykład małe rozmiary kluczy RSA i brak nowych zabezpieczeń dla wielu lat.

Aktualizacja: Czy postrzeganie LockBox jest nieaktualne lub brakuje ważnych funkcji jest błędne? Czy nadal ma to znaczenie dla rozwoju produkcji? (Szczególnie rozmiary kluczy RSA)

Author: Shannon, 2009-09-10

10 answers

Algorytm RSA niekoniecznie jest nieaktualny, ale rozmiar klucza jest ważny. Jest nadal regularnie używany w całym miejscu. Klucz RSA o długości 3072 bitów powinien być użyty, jeśli Bezpieczeństwo jest wymagane po 2030 roku. Jest to tylko funkcja poprawy mocy obliczeniowej, a nie słabość algorytmu.

Patrzyłem na LockBox przed SongBeamer zaczynając go utrzymywać (Delphi 2007) znalazłem RSA unstable - po prostu się zawiesza lub produkuje błędne wyniki od czasu do czasu. Od tego czasu mógł zostać naprawiony. Jeśli zamierzasz go używać, Upewnij się, że obsługuje potrzebne długości klawiszy, a następnie utwórz zautomatyzowane testy ze znanymi wejściami i wyjściami. Upewnij się, że działa stabilnie. Jeśli Tak, użyj go za wszelką cenę.

Możesz również użyć Microsoft Crypto API do szyfrowania RSA. Napisałem wrapper dla Delphi 2007, ale nie zaktualizowałem go dla Unicode (wiem, wstyd mi). Ktoś inny może być w stanie łatwo zaktualizować go do pracy z Unicode.

Inną opcją byłoby użycie funkcji kryptograficznych. NET Framework poprzez interoperacyjność COM czy coś takiego.

 13
Author: Jim McKeeth,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-09-25 07:16:23

TurboPower LockBox 3.1.0 jest już wydany. Obsługuje:

  • Delphi 2007 i Delphi 2010
  • Unicodestrings dla Delphi 2010
  • AES, DES, 3DES, Blowfish i dwa szyfry
  • długa lista trybów łańcucha bloków
  • hasze MD5 I SHA1
  • szyfrowanie, deszyfrowanie, podpis i weryfikacja RSA
  • Klawisze RSA o zmiennej długości-prawie brak kontrastów w zakresie.
  • D-Kod badania jednostkowego
  • automatyczne solenie
  • właściwe zarządzanie of IV ' S (w przeciwieństwie do DCPcrypt)
  • White Box, Free and Open Source
  • 100% widoczny natywny kod źródłowy (brak DLL)

Http://sourceforge.net/projects/tplockbox / i http://lockbox.seanbdurkin.id.au/

 14
Author: Sean B. Durkin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-10-25 23:48:15

Cześć Bruce używam tej biblioteki od Delphi 5,

Delphi Encryption Compedium Part I v. 5.2

  • Pełna przeróbka poprzedniej aktualizacji DEC 3, do DEC 5.1 (wydanej w 2006)
  • Wiele Szyfrów (Blowfish, Twofish, 3DES, Rijndael...) Wiele hashów (MD2 / 4/ 5, SHA1-512, RipeMD128-320...)
  • Funkcje sumy kontrolnej (CRC32, CRC16...)
  • funkcje konwersji tekstu (MIME Base 64, kodowanie XX/UU...)
  • Bezpieczna Liczba Losowa Funkcje
  • z szyfrowaniem szyfrów w trybach (CTS/CBC/CFB/OFB / EBC...)
  • pełne i łatwe zorientowanie obiektowe
  • wysoce zoptymalizowany, szybki rdzeń
  • obsługuje ANSI i Unicode w D2009 (i poniżej, używając WideStrings)...

Jest Freeeware i z kodem Sorce, niestety nie implementuje RSA.

 12
Author: RRUZ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-09-10 04:20:43

Wygląda jak D2010 praca zakończona:

TurboPower LockBox . Szyfrowanie Danych . Sep 04 2009 . Pobierz

Status: powinno działać dobrze.
Biblioteka ta została rozbudowana tak, że obsługuje szyfrowanie Ansi i UnicodeStrings.
09/04/2009
* Pakiety Delphi 2010
* powinno się kompilować bez podpowiedzi i ostrzeżeń

 9
Author: François,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-09-10 01:18:57
Nie wiem dokładnie, co masz na myśli mówiąc "długo w zębie "(Stary?), ale ja po prostu wybrałbym Lockbox, ponieważ zapewnia wszystko, co potrzeba. Z wyjątkiem aktualizacji z 2009 roku, ostatnie oficjalne zmiany zostały wprowadzone w 2003 roku. Ale jeśli to działa, to działa.
 5
Author: Wouter van Nifterick,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-09-10 01:04:58

Dla przykładowego kodu LockBox może być ok, ale nie używam go już w produkcji. Szyfrowanie idzie "długo w ząb". Algorytmy się starzeją. Wcześniej nieodkryte wady, ulepszone techniki kryptoanalizy, postępy matematyczne, zwiększenie mocy procesora sprawiają, że raz bezpieczne algorytmy i rozmiary kluczy nie są już wystarczająco bezpieczne. 3DES, MD5, SHA-1 są już uważane za niewystarczające. Ostatnio opublikowano ataki na AES ( http://eprint.iacr.org/2009/374 ). minum zalecany rozmiar klucza RSA wynosi teraz 1024 bity, podczas gdy klucze 2048 i 3072 są zalecane, jeśli dane muszą być chronione przez lata. Lockbox oferuje tylko klucze 1024 bitów lub mniej . Należy również wybrać odpowiedni tryb szyfrowania blokowego. A Klasa LockBox TLbRijndael (AES) domyślnie używa EBC, który ma znane wady i nie oferuje nic więcej niż CBC. Ze względu na znaczenie bezpieczeństwa elektronicznego zdobyte w tych latach, a wynikające z tego badania zarówno przez dobrych, jak i złych, siedmioletni Biblioteka jest naprawdę stara - sama jej rekompilacja i dodanie wsparcia dla ciągów UTF-16 nie wystarcza. Należy pamiętać, że fałszywe bezpieczeństwo jest gorsze niż brak bezpieczeństwa w ogóle. Jeśli administrator systemu zostanie poinformowany "nie mamy żadnych zabezpieczeń", sam będzie pracował nad wdrożeniem zabezpieczeń (powiedzmy IPSec, VPN lub tym podobne). Jeśli powie "Tak, mamy RSA i AES!"poczuje się dobrze, nawet jeśli twoja implementacja AES i RSA jest przestarzała i nie jest już bezpieczna.

 2
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-09-10 15:08:54

Nie próbowałem tego w D2010, ale dcpcrypt podobno działa w D2009.

 1
Author: Argalatyr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-09-09 22:45:03

Podstawy Biblioteki Cody posiada implementacje zarówno szyfrowania AES, jak i RSA. Nie korzystałem jednak z biblioteki, więc nie mogę skomentować jej jakości.

 1
Author: Shannon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-10 01:18:31

Wydaje się, że istnieje wiele darmowych implementacji AES Delphi. Zapraszam do dodawania swoich ulubionych tutaj.

Wydaje się, że nie ma tak wielu darmowych implementacji RSA i bardzo niewiele bibliotek, które oferują obie te rzeczy.

Wygląda na to, że LockBox jest nadal całkiem rozsądną opcją. Zwłaszcza, że nie potrzebuję szyfrowania, którego złamanie zajmie dosłownie lata.

Myślę, że korzystanie bezpośrednio z Crypto API Microsoftu może być najbardziej praktyczną opcją.

 0
Author: Bruce McGee,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-09-18 13:37:04

Daniele Teti wydał kolekcję filtrów DataSnap dla Delphi 2010, która obejmuje hash, szyfr i kompresję. Wspomina, że może również wdrożyć szyfry asymetryczne w przyszłości.

Http://www.danieleteti.it/

To jest open source, więc nie krępuj się przyczynić.

 0
Author: Bruce McGee,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-10-02 13:20:41