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 Maslo

Neueste Beiträge

Browser-Apps mit Avalonia entwickeln - Avalonia
Klassische UI-Frameworks finden ihren Weg in den Browser
7 Minuten
11. Aug 2025
Arbeiten mit Tabellen und KI in Dataverse
Microsoft unterstützt die zentrale Datenmanagement-Lösung Dataverse in Power Apps mit KI-Features.
7 Minuten
6. Aug 2025
Managed DevOps Pools - Azure DevOps Pipelines Security
Agent Pools als Managed Service mit einfacher Integration in private Netzwerke und Authentisierung mittels Managed Identity tragen deutlich zur Sicherheit der Agent-Infrastruktur bei.
7 Minuten
7. Aug 2025
Miscellaneous

Das könnte Dich auch interessieren

Sicher ist sicher - Azure DevOps Pipelines Security
Als integraler Bestandteil der Entwicklungsumgebung ist Azure DevOps Pipelines oft Ziel von Angriffen. Da ist es gut zu wissen, wo die Schwachstellen des Systems liegen.
14 Minuten
16. Jun 2025
CodeProject.AI Server in neuer Version - Lokaler AI-Server
CodeProject.AI Server (jetzt in Version 2.1.10) ist ein lokal installierter, selbstgehosteter, schneller, kostenloser und Open Source Artificial Intelligence Server für jede Plattform und jede Sprache.
2 Minuten
Für Einsteiger: Backend-Webentwicklung mit .NET - Microsoft
Auf YouTube bietet Microsoft eine Videoserie für Einsteiger in die Backend-Webentwicklung mit .NET.
2 Minuten
13. Feb 2024
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige