NaCl (ソフトウェア)
表示
この項目「NaCl (ソフトウェア)」は翻訳されたばかりのものです。不自然あるいは曖昧な表現などが含まれる可能性があり、このままでは読みづらいかもしれません。(原文:英語版 "NaCl (software)" 2020年11月20日 (金) 18:33 (UTC)) 修正、加筆に協力し、現在の表現をより自然な表現にして下さる方を求めています。ノートページや履歴も参照してください。(2020年12月) |
作者 | |
---|---|
初版 | 2008年 |
最新版 |
20110221
/ 2011年2月21日[1] |
プログラミング 言語 | |
対応OS | Unix系 |
種別 | 暗号化ライブラリ |
ライセンス | パブリックドメイン[2] |
公式サイト |
nacl |
NaCl (Networking and Cryptography library、[ˈsɒlt]) は、セキュア通信、暗号化、復号及びデジタル署名のための高速なライブラリである[3]。 パブリックドメインソフトウェアとして配布されている。
NaClはqmailやCurve25519の開発で知られているイリノイ大学シカゴ校の数学及び暗号学の教授、プログラマのダニエル・バーンスタインによって開発された。 その他の主な開発者はタニア・ラング[4]及びペーター・シュワーベ[5]である。 論文によると、NaClの開発時の主な目標は「以前の暗号化ライブラリが被った様々な種類の暗号災害を回避すること。」であった[2]。
基本的な機能
[編集]公開鍵暗号
[編集]- デジタル署名
- Ed25519
- 鍵共有
- Curve25519
共通鍵暗号
[編集]低レベルの機能
[編集]実装
[編集]リファレンス実装はC言語で書かれており、インラインアセンブラも度々使用されている。 C++及びPythonはラッパーとして扱われる[9]。
NaClにはPHP[10]などの様々なプログラミング言語向けの言語バインディングが存在する。 NaClは2013年に開発されたクロスプラットフォームの暗号化ライブラリであるlibsodiumの基盤であり、API互換性がある。
代替実装
[編集]作者 | フランク・デニス |
---|---|
初版 | 2014年9月24日[11] |
最新版 |
1.0.20
/ 2024年5月25日[12] |
リポジトリ |
github |
プログラミング 言語 | C言語 |
対応OS | |
種別 | 暗号化ライブラリ |
ライセンス | ISCライセンス[13] |
公式サイト |
doc |
- libsodium - クロスコンパイル、インストール、パッケージ化が可能な移植性の高いNaClのフォーク。
- TweetNaCl - 僅か100ツイートに収まる小さなC言語のライブラリだが、全てのNaClの関数に対応している。
- TweetNaCl.js - NaCl/TweetNaClをJavaScriptへ移植したバージョン。
- SPARKNaCl - TweetNaClをSPARKで再実装したバージョン。
- Crypt::NaCl::Sodium - Perl向けのlibsodiumの言語バインディング。
脚注
[編集]- ^ “Installation”. nacl.cr.yp.to. 2020年12月1日閲覧。
- ^ a b “The security impactof a new cryptographic library”. cr.yp.to (2012年7月25日). 2020年12月1日閲覧。
- ^ “NaCl: Networking and Cryptography library”. nacl.cr.yp.to. 2020年12月1日閲覧。
- ^ “Tanja Lange's homepage”. www.hyperelliptic.org. 2020年12月1日閲覧。
- ^ “Peter Schwabe”. cryptojedi.org. 2020年12月1日閲覧。
- ^ “Hashing: crypto_hash”. nacl.cr.yp.to. 2020年12月1日閲覧。
- ^ “Algorithm details”. doc.libsodium.org. 2020年12月1日閲覧。
- ^ Bernstein, Daniel J. (2009年3月10日). “Cryptography in NaCl”. cr.yp.to. 2020年12月1日閲覧。
- ^ “Internals”. nacl.cr.yp.to. 2020年12月1日閲覧。
- ^ pecl-nacl - GitHub
- ^ “1.0.0”. GitHub (2014年9月24日). 2020年12月1日閲覧。
- ^ “Releases”. GitHub. 2024年10月4日閲覧。
- ^ “License”. doc.libsodium.org. 2020年12月1日閲覧。