ページ内ナビ
概要
libsodiumは、暗号化・復号、電子署名、パスワードハッシュなどをアプリケーションへ組み込むための暗号ライブラリです。NaClとのAPI互換性を保ちながら機能を広げ、Windows、iOS、Android、JavaScript、WebAssemblyを含む複数環境で同じ形式とアルゴリズムを利用できます。低水準の暗号部品を直接組み合わせず、高水準APIから安全な構成を選びたい開発者向けです。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
暗号化・署名・鍵導出を用途別の高水準APIで提供する
共通鍵暗号、公開鍵暗号、電子署名、安全な乱数、パスワードハッシュ、鍵交換、鍵導出などを一つのライブラリで扱えます。公式Quickstartは、利用前にsodium_init()を呼び、暗号化では認証タグを検証できるcrypto_secretbox、crypto_aead、crypto_secretstreamなどの高水準APIを選ぶよう案内しています。
向いている用途
暗号方式の細部より、安全な用途別インターフェースを優先したい場合に向く
保存データや通信内容の暗号化、署名、パスワード保存、鍵交換を複数環境へ実装するときの候補です。C APIを直接使う構成だけでなく、公式が一覧化する各言語のバインディングから同じ暗号方式とデータ形式を使いたい場合にも適しています。
導入前の確認
初期化・戻り値・鍵とnonceの管理をアプリ側で正しく行う
sodium_init()は他の関数より先に呼ぶ必要があります。エラーを返す関数や検証関数の結果を無視せず、秘密鍵は予測不能な値として安全に保管してください。nonceは秘密でなくても再利用できない方式があり、同じ鍵との組み合わせを繰り返すと機密性を失うため、プロトコル側の管理が必要です。
公式資料は、低水準のcrypto_stream()をそのまま暗号化へ使うと改ざんを検出できないため、認証付きの高水準APIを優先するよう警告しています。手動ビルドではAutotoolsとCコンパイラが必要で、配布用配布用書庫の検証、ビルド後のテスト、環境に応じた動的リンカー設定も確認してください。ライセンスはISCです。
参考にした公式資料
- [1]jedisct1/libsodium — README at 1.0.22(2026-10-04)
- [2]libsodium quickstart and FAQ at observed documentation commit(2026-10-04)
- [3]libsodium installation guide at observed documentation commit(2026-10-04)
- [4]jedisct1/libsodium — ISC LICENSE at 1.0.22(2026-10-04)
- [5]libsodium 1.0.22 release(2026-10-04)
編集部からの補足
暗号アルゴリズムの種類だけでなく、アプリ側が鍵・nonce・エラー処理を正しく管理できるかを導入判断の中心に置くべきライブラリです。独自方式を作らず、高水準APIと公式の用途別ガイドに沿える体制かを確認してください。
3ステップで試す
- 1
1.0.22の配布用ソースを取得する
同じリリースには.sigと.minisigもあります。本格採用時は信頼する鍵と対応ツールを別途用意し、書庫の完全性と配布元を検証してください。
curl -LO https://github.com/jedisct1/libsodium/releases/download/1.0.22-RELEASE/libsodium-1.0.22.tar.gz - 2
展開してビルドを構成する
POSIX互換環境とCコンパイラを想定した公式のAutotools手順です。
tar xzf libsodium-1.0.22.tar.gz cd libsodium-1.0.22 ./configure - 3
ビルドとテストを実行する
システムへインストールする前に、同梱テストが通ることを確認します。
make -j2 && make check
成長
成長の推移 · 直近30日
13,973 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 4
- Open PR
- 0
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- NGINX31,787 Stars
共通タグ 2件 · 同じ言語
Web配信・reverse proxy・load balancingを担い、mainlineとstableを選んで運用するserver
C - ImageMagick17,593 Stars
共通タグ 2件 · 同じ言語
画像変換・編集・合成をCLI/APIで再現可能なpipelineへする
C - Fluent Bit8,131 Stars
共通タグ 2件 · 同じ言語
logs・metrics・tracesを軽量plugin pipelineで収集・変換・配送するTelemetry Agent
C - GIMP6,470 Stars
共通タグ 2件 · 同じ言語
非破壊レイヤーを備えた3.2系のオープンソース画像編集ソフト
C - Bitcoin Core90,305 Stars
共通タグ 2件
Bitcoin P2P networkのblock・transactionを自分でfull validationし、optional wallet/RPCを同じnodeで運用する
C++ - BoringSSL2,280 Stars
共通タグ 3件 · 共通カテゴリ 2件
Chrome・Android等で使われるGoogle向けOpenSSL forkのTLS・cryptography library
C++
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。