NaCl (Software)

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
NaCl
Basisdaten

Entwickler Daniel J. Bernstein[1], Tanja Lange[1], Peter Schwabe[1]
Erscheinungsjahr 2008
Aktuelle Version 20110221[2]
(21. Februar 2011)
Betriebssystem Unix-ähnliches System
Programmiersprache C[3], C++
Kategorie Kryptographie
Lizenz Public Domain
deutschsprachig nein
nacl.cr.yp.to
Sodium
Basisdaten

Entwickler Community[4]
Erscheinungsjahr 8. Juli 2013[5]
Aktuelle Version 1.0.19[6]
(13. September 2023)
Betriebssystem Unix-ähnliches System[7], Microsoft Windows[8], iOS[8], Android[8]
Programmiersprache C[9][10]
Kategorie Kryptographie
Lizenz ISC-Lizenz[11]
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.[12][13]

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

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

NaCl[Bearbeiten | Quelltext bearbeiten]

Das NaCl-Kernentwicklerteam besteht aus Daniel J. Bernstein, Tanja Lange und Peter Schwabe.[13] 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.[13]

Sodium[Bearbeiten | Quelltext bearbeiten]

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

Namen[Bearbeiten | Quelltext bearbeiten]

NaCl ist die Abkürzung von „Networking and Cryptography Library“[17] (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[Bearbeiten | Quelltext bearbeiten]

  1. a b c NaCl: Networking and Cryptography library. 15. März 2016 (abgerufen am 7. Januar 2020).
  2. Installation. 15. März 2016 (abgerufen am 7. Januar 2020).
  3. Features. (abgerufen am 27. März 2017).
  4. Introduction. In: libsodium.org. 30. Mai 2019, abgerufen am 7. Januar 2020 (englisch).
  5. Frank Denis: github.com.
  6. Release 1.0.19. 13. September 2023 (abgerufen am 18. September 2023).
  7. download.libsodium.org.
  8. a b c download.libsodium.org.
  9. github.com.
  10. www.openhub.net.
  11. github.com.
  12. 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.
  13. a b c NaCl: Networking and Cryptography library. 15. März 2016, abgerufen am 6. Januar 2020 (englisch).
  14. Frank Denis: Projects using libsodium. In: libsodium.org. 6. Dezember 2019, abgerufen am 6. Januar 2020 (englisch).
  15. 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).
  16. Frank Denis: Bindings for other languages. In: libsodium.org. 22. August 2019, abgerufen am 6. Januar 2020 (englisch).
  17. 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).