NaCl (software) - NaCl (software) - Wikipedia
Původní autoři | Daniel J. Bernstein, Tanja Lange, Peter Schwabe |
---|---|
První vydání | 2008 |
Stabilní uvolnění | 20110221 / 21. února 2011 |
Operační systém | Jako UNIX |
Licence | veřejná doména[1] |
webová stránka | nacl |
NaCl (vyslovuje se „sůl“) je zkratka pro „Knihovna sítí a kryptografie“, a veřejná doména "... vysokorychlostní softwarová knihovna pro síťovou komunikaci, šifrování, dešifrování, podpisy atd."[2]
NaCl vytvořil matematik a programátor Daniel J. Bernstein který je nejlépe známý pro vytvoření qmail a Křivka25519. Jádrový tým také zahrnuje Tanja Lange[3] a Peter Schwabe.[4] Hlavním cílem při vytváření NaCl bylo podle článku „vyhnout se různým typům kryptografických katastrof, které utrpěly předchozí kryptografické knihovny“.[1]
Základní funkce
Kryptografie veřejného klíče
- Podpisy použitím Ed25519.
- Klíčová dohoda pomocí Křivka25519.
Kryptografie s tajným klíčem
- Ověřené šifrování použitím Salsa20 a Poly1305.
- Šifrování použitím Salsa20 nebo AES.
- Ověření použitím HMAC-SHA-512-256.
- Jednorázové ověřování pomocí Poly1305.
Funkce nízké úrovně
- Porovnání řetězců.[7]
Funkce odvození klíče (pouze libsodium)
- Heslování hesla pomocí argon2
Implementace
Referenční implementace je napsána v C, často s několika inline assembler. C ++ a Krajta jsou zpracovávány jako obaly.[8]
NaCl má řadu vazeb programovacího jazyka, jako je PHP,[9] a tvoří základ pro Libsodium, multiplatformní kryptografickou knihovnu vytvořenou v roce 2013, která je API kompatibilní s NaCl.
Alternativní implementace
- Libsodium - přenosná, křížově kompilovatelná, instalovatelná, sbalitelná verze API NaCI kompatibilní s API.[10]
- NaCl Pharo - rozšíření Pharo Smalltalk.[11]
- TweetNaCl - malá knihovna C, do které se vejde pouhých 100 tweety (140 symbolů každý), ale podporuje všechny funkce NaCl.[12]
- NaCl pro Tcl - port do jazyka Tcl.[13][je potřeba zdroj třetí strany ]
- NaCl pro JavaScript - port kryptografické knihovny TweetNaCl / NaCl do jazyka JavaScript.[14]
- TweetNaCl pro Java - port kryptografické knihovny TweetNaCl / NaCl do jazyka Java.[15]
- SPARKNaCl - přepis TweetNaCl v podmnožině SPARK Ada s formálními a plně automatickými důkazy o bezpečnosti typu a některých vlastnostech správnosti.[16]
- Krypta :: NaCl :: Sodík Perl 5 vazba na libsodium[17]
Viz také
Reference
- ^ A b https://cr.yp.to/highspeed/coolnacl-20120725.pdf Archivováno 09.08.2017 na Wayback Machine „Dopad nové kryptografické knihovny na bezpečnost“ Daniel J. Bernstein, Tanja Lange, Peter Schwabe
- ^ „NaCl: Síťová a kryptografická knihovna“.
- ^ „Domovská stránka Tanji Langeové“.
- ^ „Domovská stránka Petera Schwabeho“.
- ^ „Hashování“. 2010-08-30. Citováno 2015-11-14.
- ^ „Generic hashing“. 2017-12-13. Citováno 2018-05-19.
- ^ Bernstein, Daniel J. (10. března 2009). Kryptografie v NaCl (PDF). Archivovány od originál (PDF) dne 25. března 2017. Citováno 8. února 2016.
- ^ „Interní NaCl“.
- ^ „Rozšíření NaCl PHP“. Github. 14. 06. 2019.
- ^ "Libsodium".
- ^ „Úložiště SmalltalkHub“.
- ^ „TweetNaCl“.
- ^ "Tclers Wiki - NaCl pro Tcl".
- ^ „TweetNaCl“.
- ^ „TweetNaCl-Java“.
- ^ "SPARKNaCl".
- ^ "Krypta :: NaCl :: Sodík".