Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 5 Min.

Cryptography Libraries

Mit Verschlüsselungsbibliotheken unterbinden Sie das unerwünschte Auslesen, Verteilen und Manipulieren von Daten und Kennworten.
© dotnetpro
Immer dann, wenn Sie das unberechtigte Einsehen, Verarbeiten und Verteilen von (sensiblen) Daten unterbinden wollen und müssen, greifen Sie auf Kryptografiefunktionen zurück. Diese helfen nicht nur beim Verschlüsseln und Entschlüsseln von Daten, sondern auch bei der Generierung von Hashwerten. Letztgenannte werden zur Bestätigung von korrekten Kennworteingaben genutzt, ohne das tatsächliche Kennwort ablegen zu müssen.

  1 

Eine der bekanntesten und funktional umfassendsten Open-Source-Bibliotheken für die Datenverschlüsselung ist Bouncy Castle. Die Bibliothek liegt in Fassungen für Java und
.NET vor, wird permanent durch ein Entwicklerteam weiterentwickelt und unterliegt einer angepassten MIT-X11-Lizenz, die eine freie und umfassende Nutzung, Verteilung und Anpassung sicherstellt. Die Bibliothek nutzt eine angepasste Version der BZip2-Bibliothek, die ihrerseits der Apache-2.0-Lizenz unterliegt. Die bereitgestellte Funktionalität lässt keine Wünsche offen. Sie generieren und verarbeiten PKCS-12-Dateien, erzeugen und verarbeiten X.509-Zertifikate, verarbeiten PBE-Algorithmen (Password-based Encryption) und nutzen Algorithmen zur Signierung (zum Beispiel MD2with­RSA, MD4withRSA, MD5withRSA, RIPEMD128withRSA). Ferner verarbeiten Sie symmetrische Schlüssel (wie AES, Blowfish, Camellia, ChaCha, DES, IDEA, Rijndael, Salsa20), symmetrische Schlüsselmodi (CBC, CFB, CTS, OFB, OpenPGPCFB, SIC), asymmetrische Schlüsselalgorithmen (etwa ElGamal, DSA, ECDSA, RSA) oder auch unterschiedliche Verarbeitungstypen (zum Beispiel MD2, MD4, MD5). Außerdem stehen Signiermechanismen bereit. Neben OpenPGP werden zudem die Cryptographic Message Syntax (CMS), das Online Certificate Status Protocol (OCSP) und das Time Stamp Protocol (TSP) unterstützt. Bouncy Castle kann per NuGet-Paket mit dem Namen BouncyCastle.Cryptography an eigene Projekte angebunden werden.www.bouncycastle.org/csharp

System.Security.Cryptography: Datenverschlüsselung in .NET

.NET stellt ein Kryptografiemodell mitsamt symmetrischen und asymmetrischen Ver- und Entschlüsselungs- sowie Hashwertalgorithmen bereit. Darüber generieren Sie Schlüssel, verschlüsseln und entschlüsseln Daten, generieren Hashwerte oder greifen auf spezielle Hardware-Komponenten zu, die sich der hardwareseitigen Verschlüsselung widmen (Hardware En­cryption Devices). Alle kryptografischen Dienste werden über den Namensraum <em>System.Security.Cryptography</em> bereitgestellt.

 2 

Neben Bouncy Castle ist mittlerweile die Inferno Crypto Library die beste Bibliothek, wenn es um die Datenverschlüsselung geht. Sie unterliegt der MIT-Lizenz und wurde vollständig mit C# realisiert. In der umfassenden Online-Dokumentation werden nicht nur die Entwurfsprinzipien und Ziele zusammengefasst. Sie finden auch Hintergrundinformationen und C#-Quelltextbeispiele. Per High-Level-API verschlüsseln und entschlüsseln Sie Daten, berechnen Hashwerte, generieren Zufallswerte für die Verschlüsselung (CryptoRandom), leiten kryptografische Schlüssel ab (KDF, Key Derivation Function), PBKDF2 und SP800_108_Ctr), ver- und entschlüsseln Streams (AEAD Transform) und verarbeiten DSA-Signaturen. Die einfache Projektanbindung erfolgt über das NuGet-Paket Inferno.https://securitydriven.net/inferno

NaCl.Core: Moderne Verschlüsselungsgrundfunktionen

Die Open-Source-Bibliothek NaCl.Core stellt neue Grundfunktionen und datenstrombasierte Verschlüsselungsgrundfunktionen bereit, darunter Salsa20, ChaCha20, XChaCha20, Poly- 1305, ChaCha20Poly1305 und XChaCha20Poly1305. Die verwaltete Lösung unterliegt der MIT-Lizenz, wurde mit C# realisiert und lässt sich einfach über ein NuGet-Paket in eigene Projekte einbinden.

 3 

Hashwertfunktionen sind Einwegfunktionen und nicht umkehrbar. Im Open-Source-Bereich stehen zur Hashwertberechnung unter .NET die Bibliotheken SharpHash, HashLib und acryptohashnet bereit. SharpHash unterliegt der Mozilla Public License in der Version 2.0 und hilft bei der Ermittlung von nicht kryptografischen (zum Beispiel AP, XXHash32, FNV64, Murmur2_64, MumurHash3_x64_128) und kryptografischen Hashwerten (etwa MD2, MD4, MD5, SHA-0, SHA-1, SHA-2, Grindahl, HAS160) sowie Prüfsummen (CRC, CRC3, CRC64 und Adler32).HashLib ist eine alternative Bibliothek, die mit C++ und C# entwickelt wurde und ebenfalls eine Vielzahl an 32-, 64- und 128-Bit-Hash-Algorithmen bereitstellt (beispielsweise Bernstein, Bernstein1, DEK, DJBJenkins3, Murmur2, Murmur3, ShiftAndXor, SuperFast, FNV, FNV1a, SipHash). Ebenso wie SharpHash stehen auch bei HashLib die bereits zuvor genannten Prüfsummenfunktionen bereit.Acryptohashnet ist eine weitere, vollständig in C# umgesetzte Hashwertbibliothek, die der LGPL-Lizenz in der Version 2.1 unterliegt. Sie ist unter .NET Standard 2.0 und dazu kompatiblen Plattformen nutzbar. Sie unterstützt alle wichtigen Hashwertfunktionen wie SHA0, SHA1, SHA2, SHA256, SHA512, MD2, MD4, MD5, RIPEMD, Tiger, Haval, Snefru.www.dotnetpro.de/SL2307HighFive1

 4 

Die Bibliothek StreamCryptor widmet sich der (a-)synchronen Ver- und Entschlüsselung von Datenströmen, die über Dateien bezogen werden (FileStream). Zu verarbeitende Dateien müssen dabei nicht komplett in den Speicher geladen werden. Dementsprechend gibt es auch keine Größenbeschränkungen für die zu verarbeitenden Dateien. Verschlüsselte Dateien nutzen das SCCEF-Format (StreamCryptor Chunked Encrypted File).Für die Serialisierung der Dateien wird auf die Google-Bibliothek protobuf zurückgegriffen. Alle Ver- und Entschlüsselungen werden mit der Bibliothek libsodium-net realisiert. Jede verschlüsselte Datei wird mit einem Header und Footer ausgestattet. Der Header enthält Versions- und Dateilängeninformationen sowie Dateinamen und Schlüssel. Der Footer verwaltet eine Prüfsumme, über die eine Dateimanipulation unterbunden wird. StreamCryptor adressiert das .NET Framework in der Version 4.5 und höher, unterliegt der MIT-Lizenz und kann per NuGet-Paket an Projekte gebunden werden.www.dotnetpro.de/SL2307HighFive2

Crypto: Plattformübergreifende Dateiverschlüsselung in C#

Das in C# entwickelte Open-Source-Tool Crypto ist eine plattformübergreifende x86-Anwendung für das .NET Framework 2.0 und Mono. Es wird an der Eingabeaufforderung ausgeführt und erlaubt das (De-)Codieren, Verschlüsseln und Entschlüsseln von Dateien beliebiger Größe. Das Tool unterliegt der MIT-Lizenz und definiert 64 Bases, 35 Ciphers und 126 digestive (a-)symmetrische Algorithmen (darunter AWS, 3DES, DES, Blowfish, RC4, Salsa20, XSalsa20, ChaCha, PGP). Auch Hash- und Prüfsummenfunktionen stehen in großem Umfang bereit.

 5 

CryptoNet ist eine einfache, kompakte und schnell arbeitende Open-Source-Bibliothek, die Funktionen zur symmetrischen und asymmetrischen Verschlüsselung via RSA (Rivest–Shamir–Adleman) und AES (Advanced Encryption Standard) bereitstellt. Sie basiert auf den Kryptografiefunktionen von Microsoft und hat keine weiteren Abhängigkeiten. Die Bibliothek unterliegt der MIT-Lizenz, unterstützt .NET Standard 2.0 und ist plattformübergreifend unter Windows, Linux und iOS nutzbar. Sie ist zudem sehr einfach per NuGet-Paket an eigene Projekte anbindbar.Als Alternative zu CryptoNet greifen Sie auf die Bibliothek Vasconcellos.Crypt zurück. Diese wurde ebenfalls für .NET Standard 2.0 entwickelt, unterstützt das Verschlüsseln via AES, RSA und DES (Data Encryption Standard) und unterliegt der MIT-Lizenz. Auch Vasconcellos.Crypt ist als NuGet-Paket verfügbar. ⇥Andreas Maslohttps://maythamfahmi.github.io/CryptoNet

Neueste Beiträge

DWX hakt nach: Wie stellt man Daten besonders lesbar dar?
Dass das Design von Websites maßgeblich für die Lesbarkeit der Inhalte verantwortlich ist, ist klar. Das gleiche gilt aber auch für die Aufbereitung von Daten für Berichte. Worauf besonders zu achten ist, erklären Dr. Ina Humpert und Dr. Julia Norget.
3 Minuten
27. Jun 2025
DWX hakt nach: Wie gestaltet man intuitive User Experiences?
DWX hakt nach: Wie gestaltet man intuitive User Experiences? Intuitive Bedienbarkeit klingt gut – doch wie gelingt sie in der Praxis? UX-Expertin Vicky Pirker verrät auf der Developer Week, worauf es wirklich ankommt. Hier gibt sie vorab einen Einblick in ihre Session.
4 Minuten
27. Jun 2025
„Sieh die KI als Juniorentwickler“
CTO Christian Weyer fühlt sich jung wie schon lange nicht mehr. Woran das liegt und warum er keine Angst um seinen Job hat, erzählt er im dotnetpro-Interview.
15 Minuten
27. Jun 2025
Miscellaneous

Das könnte Dich auch interessieren

UIs für Linux - Bedienoberflächen entwickeln mithilfe von C#, .NET und Avalonia
Es gibt viele UI-Frameworks für .NET, doch nur sehr wenige davon unterstützen Linux. Avalonia schafft als etabliertes Open-Source-Projekt Abhilfe.
16 Minuten
16. Jun 2025
Mythos Motivation - Teamentwicklung
Entwickler bringen Arbeitsfreude und Engagement meist schon von Haus aus mit. Diesen inneren Antrieb zu erhalten sollte für Führungskräfte im Fokus stehen.
13 Minuten
19. Jan 2017
Evolutionäres Prototyping von Business-Apps - Low Code/No Code und KI mit Power Apps
Microsoft baut Power Apps zunehmend mit Features aus, um die Low-Code-/No-Code-Welt mit der KI und der professionellen Programmierung zu verbinden.
19 Minuten
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige