NaCl (ソフトウェア)

NaCl (Networking and Cryptography library、) は、セキュア通信、暗号化、復号及びデジタル署名のための高速なライブラリである。
パブリックドメインソフトウェアとして配布されている。
NaClはqmailやCurve25519の開発で知られているイリノイ大学シカゴ校の数学及び暗号学の教授、プログラマのダニエル・バーンスタインによって開発された。
その他の主な開発者は及びペーター・シュワーベである。
論文によると、NaClの開発時の主な目標は「以前の暗号化ライブラリが被った様々な種類の暗号災害を回避すること。」であった。
実装.
リファレンス実装はC言語で書かれており、インラインアセンブラも度々使用されている。
C++及びPythonはラッパーとして扱われる。
NaClにはPHPなどの様々なプログラミング言語向けの言語バインディングが存在する。
NaClはに開発されたクロスプラットフォームの暗号化ライブラリである"libsodium"の基盤であり、API互換性がある。