NaCl (ソフトウェア)

NaCl
作者
初版 2008年(18年前) (2008)
最新版
20110221 / 2011年2月21日(15年前) (2011-02-21)
プログラミング
言語
対応OS Unix系
種別 暗号化ライブラリ
ライセンス パブリックドメイン
公式サイト nacl.cr.yp.to ウィキデータを編集
テンプレートを表示

NaCl (Networking and Cryptography library、[ˈsɒlt]) は、セキュア通信、暗号化、復号及びデジタル署名のための高速なライブラリである。 パブリックドメインソフトウェアとして配布されている。

NaClはqmailやCurve25519の開発で知られているイリノイ大学シカゴ校の数学及び暗号学の教授、プログラマのダニエル・バーンスタインによって開発された。 その他の主な開発者はタニア・ラング(英語版)及びペーター・シュワーベである。 論文によると、NaClの開発時の主な目標は「以前の暗号化ライブラリが被った様々な種類の暗号災害を回避すること。」であった。

基本的な機能

公開鍵暗号

デジタル署名
Ed25519
鍵共有
Curve25519

共通鍵暗号

認証付き暗号
Salsa20及びPoly1305
暗号化
Salsa20又はAES
認証
HMAC-SHA-512-256
ワンタイム認証
Poly1305

低レベルの機能

実装

リファレンス実装はC言語で書かれており、インラインアセンブラも度々使用されている。 C++及びPythonはラッパーとして扱われる。

NaClにはPHPなどの様々なプログラミング言語向けの言語バインディングが存在する。 NaClは2013年に開発されたクロスプラットフォームの暗号化ライブラリであるlibsodiumの基盤であり、API互換性がある。

代替実装

libsodium
作者 フランク・デニス
初版 2014年9月24日(12年前) (2014-09-24)
最新版
1.0.20 / 2024年5月25日(2年前) (2024-05-25)
リポジトリ github.com/jedisct1/libsodium
プログラミング
言語
C言語
対応OS
種別 暗号化ライブラリ
ライセンス ISCライセンス
公式サイト doc.libsodium.org
テンプレートを表示

脚注

  1. ↑ “Installation”. nacl.cr.yp.to. 2020年12月1日閲覧。
  2. 1 2 “The security impactof a new cryptographic library”. cr.yp.to (2012年7月25日). 2020年12月1日閲覧。
  3. ↑ “NaCl: Networking and Cryptography library”. nacl.cr.yp.to. 2020年12月1日閲覧。
  4. ↑ “Tanja Lange's homepage”. www.hyperelliptic.org. 2020年12月1日閲覧。
  5. ↑ “Peter Schwabe”. cryptojedi.org. 2020年12月1日閲覧。
  6. ↑ “Hashing: crypto_hash”. nacl.cr.yp.to. 2020年12月1日閲覧。
  7. ↑ “Algorithm details”. doc.libsodium.org. 2020年12月1日閲覧。
  8. ↑ Bernstein, Daniel J. (2009年3月10日). “Cryptography in NaCl”. cr.yp.to. 2020年12月1日閲覧。
  9. ↑ “Internals”. nacl.cr.yp.to. 2020年12月1日閲覧。
  10. ↑ pecl-nacl - GitHub
  11. ↑ “1.0.0”. GitHub (2014年9月24日). 2020年12月1日閲覧。
  12. ↑ “Releases”. GitHub. 2024年10月4日閲覧。
  13. ↑ “License”. doc.libsodium.org. 2020年12月1日閲覧。

関連項目

外部リンク