OSS探訪GitHubでログイン

暗号化・署名・パスワードハッシュを移植性の高いAPIで扱う暗号ライブラリ

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
13,973
主要言語
C
ライセンス
未判定
リポジトリ最終更新
2026/09/28
ページ内ナビ

概要

libsodiumは、暗号化・復号、電子署名、パスワードハッシュなどをアプリケーションへ組み込むための暗号ライブラリです。NaClとのAPI互換性を保ちながら機能を広げ、Windows、iOS、Android、JavaScript、WebAssemblyを含む複数環境で同じ形式とアルゴリズムを利用できます。低水準の暗号部品を直接組み合わせず、高水準APIから安全な構成を選びたい開発者向けです。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

暗号化・署名・鍵導出を用途別の高水準APIで提供する

共通鍵暗号、公開鍵暗号、電子署名、安全な乱数、パスワードハッシュ、鍵交換、鍵導出などを一つのライブラリで扱えます。公式Quickstartは、利用前にsodium_init()を呼び、暗号化では認証タグを検証できるcrypto_secretbox、crypto_aead、crypto_secretstreamなどの高水準APIを選ぶよう案内しています。

出典:[1][2]

同じデータ形式を複数OSと言語バインディングで共有する

Windows、iOS、Android、JavaScript、WebAssemblyなどに対応し、対応プラットフォーム間でアルゴリズムと入出力形式をそろえています。1.0.22ではNIST標準のML-KEM768、X25519と組み合わせたX-Wing、SHA-3の一括・ストリーミングAPIも追加されました。

出典:[1][2][5]

向いている用途

暗号方式の細部より、安全な用途別インターフェースを優先したい場合に向く

保存データや通信内容の暗号化、署名、パスワード保存、鍵交換を複数環境へ実装するときの候補です。C APIを直接使う構成だけでなく、公式が一覧化する各言語のバインディングから同じ暗号方式とデータ形式を使いたい場合にも適しています。

導入前の確認

初期化・戻り値・鍵とnonceの管理をアプリ側で正しく行う

sodium_init()は他の関数より先に呼ぶ必要があります。エラーを返す関数や検証関数の結果を無視せず、秘密鍵は予測不能な値として安全に保管してください。nonceは秘密でなくても再利用できない方式があり、同じ鍵との組み合わせを繰り返すと機密性を失うため、プロトコル側の管理が必要です。

公式資料は、低水準のcrypto_stream()をそのまま暗号化へ使うと改ざんを検出できないため、認証付きの高水準APIを優先するよう警告しています。手動ビルドではAutotoolsとCコンパイラが必要で、配布用配布用書庫の検証、ビルド後のテスト、環境に応じた動的リンカー設定も確認してください。ライセンスはISCです。

出典:[2][3][4]

参考にした公式資料

  1. [1]jedisct1/libsodium — README at 1.0.22(2026-10-04)
  2. [2]libsodium quickstart and FAQ at observed documentation commit(2026-10-04)
  3. [3]libsodium installation guide at observed documentation commit(2026-10-04)
  4. [4]jedisct1/libsodium — ISC LICENSE at 1.0.22(2026-10-04)
  5. [5]libsodium 1.0.22 release(2026-10-04)
編集部からの補足

暗号アルゴリズムの種類だけでなく、アプリ側が鍵・nonce・エラー処理を正しく管理できるかを導入判断の中心に置くべきライブラリです。独自方式を作らず、高水準APIと公式の用途別ガイドに沿える体制かを確認してください。

3ステップで試す

  1. 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. 2

    展開してビルドを構成する

    POSIX互換環境とCコンパイラを想定した公式のAutotools手順です。

    tar xzf libsodium-1.0.22.tar.gz cd libsodium-1.0.22 ./configure
  3. 3

    ビルドとテストを実行する

    システムへインストールする前に、同梱テストが通ることを確認します。

    make -j2 && make check
公式READMEで確認

成長

成長の推移 · 直近30日

13,973 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
4
Open PR
0

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • crypto
  • cryptography
  • c
  • zig-package
Stars
13,973
Forks
1,887
Watchers
377
Open Issues
1
Contributors
128
所有者種別
User
主要言語
C
ライセンス
未判定
リポジトリ最終更新
2026/09/28

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?