NaCl (Software)

aus Wikipedia, der freien Enzyklopädie
NaCl
Basisdaten

Kategorie Kryptographie
Lizenz Public Domain
deutschsprachig nein
nacl.cr.yp.to
Sodium
Basisdaten

Entwickler Community[1]
Erscheinungsjahr
Aktuelle Version
Betriebssystem
Programmiersprache
Kategorie Kryptographie
Lizenz
deutschsprachig nein
libsodium.org

NaCl (gesprochen Salz) und das darauf basierende Sodium, auch libsodium genannt, sind Kryptographie-Programmbibliotheken, die modern, leicht zu nutzen, sicher, schnell, frei und Open-Source-Software sind.[2][3]

Sie werden in Discord, Dovecot, KeePassXC, PowerDNS, Saltstack, Stellar, Threema, Tox, Wire und WordPress verwendet.[4] Sodium gehört seit 2017 zum Sprachkern von PHP.[2]

Die Bibliotheken bieten unter anderem Funktionen für drei Hasharten sowie jeweils symmetrische und asymmetrische Authentifizierung, Ver- und Entschlüsselung.[5]

NaCl

Das NaCl-Kernentwicklerteam besteht aus Daniel J. Bernstein, Tanja Lange und Peter Schwabe.[3] NaCl ist in C programmiert, einige geschwindigkeitskritische Teile in Assembler. Für die Programmiersprachen C, C++ und Python gibt es Schnittstellen, unterstützt werden aber nur unixoide Betriebssysteme.[3]

Sodium

Sodium ist eine Weiterentwicklung von NaCl, das zusätzliche Betriebssysteme und Schnittstellen zu über 30 Programmiersprachen unterstützt.[6] Nicht zuletzt durch die Aufnahme von Sodium in den Sprachkern von PHP im Jahr 2017[2] hat seine Verbreitung stark zugenommen.

Namen

NaCl ist die Abkürzung von „Networking and Cryptography Library“[7] (Netzwerk- und Kryptographiebibliothek); es stellt keine Netzwerkfunktionen bereit, kann aber von Netzwerksoftware verwendet werden. Salz in der Kryptologie bezeichnet eine zusätzliche Zeichenfolge bei Passwörtern. Speisesalz ist Natriumchlorid mit der chemischen Formel NaCl, was die Aussprache „Salz“ der NaCl-Bibliothek erklärt. Das in Speisesalz enthaltene Natrium wird auch Sodium genannt. Die häufig verwendete Variante „libsodium“ entspricht der Linux-Namenskonvention für dynamische Bibliotheken.

Einzelnachweise

  1. Introduction. In: libsodium.org. 30. Mai 2019, abgerufen am 7. Januar 2020 (englisch).
  2. a b c Dennis Schirrmacher: Libsodium in PHP: Krypto-Bibliothek für die Skriptsprache auf dem neuesten Stand der Technik. In: heise online. Heise Medien, 21. Februar 2017, abgerufen am 6. Januar 2020.
  3. a b c NaCl: Networking and Cryptography library. 15. März 2016, abgerufen am 6. Januar 2020 (englisch).
  4. Frank Denis: Projects using libsodium. In: libsodium.org. 6. Dezember 2019, abgerufen am 6. Januar 2020 (englisch).
  5. Scott Arciszewski: Libsodium Quick Reference: Similarly-Named Functions and Their Use-Cases. In: paragonie.com. Paragon Initiative Enterprises Blog, 10. Juni 2017, abgerufen am 6. Januar 2020 (englisch).
  6. Frank Denis: Bindings for other languages. In: libsodium.org. 22. August 2019, abgerufen am 6. Januar 2020 (englisch).
  7. Daniel J. Bernstein, Tanja Lange, Peter Schwabe: The security impact of a new cryptographic library. In: Alejandro Hevia and Gregory Neven (Hrsg.): Proceedings of LatinCrypt 2012 (= Lecture Notes in Computer Science). Band 7533. Springer, ISBN 978-3-642-33480-1, S. 159–176, doi:10.1007/978-3-642-33481-8_9 (englisch, coolnacl-20120725.pdf).