NaCl (ソフトウェア)
NaCl (Networking and Cryptography library、[ˈsɒlt]) は、セキュア通信、暗号化、復号及びデジタル署名のための高速なライブラリである[3]。 パブリックドメインソフトウェアとして配布されている。
| 作者 |
|
|---|---|
| 初版 | 2008年 |
| 最新版 |
20110221
/ 2011年2月21日[1] |
| プログラミング 言語 | |
| 対応OS | Unix系 |
| 種別 | 暗号化ライブラリ |
| ライセンス | パブリックドメイン[2] |
| 公式サイト |
nacl |
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.18
/ 2019年5月30日[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日閲覧。
- “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. 2020年12月1日閲覧。
- “License”. doc.libsodium.org. 2020年12月1日閲覧。
関連項目
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.