C++の応用 - ハッシュ

提供:MochiuWiki - SUSE, Electronic Circuit, PCB
2024年5月22日 (水) 16:42時点におけるWiki (トーク | 投稿記録)による版 (ページの作成:「== 概要 == <br><br> == Botanライブラリ == ==== Botanライブラリとは ==== Botan(牡丹の花)は、2条項BSDライセンスでリリースされたC++暗号化ライブラリである。<br> Botanは、TLSプロトコル、X.509証明書、最新のAEAD暗号、PKCS#11とTPMハードウェアのサポート、パスワードハッシュ、ポスト量子暗号スキーム等、<br> C++における暗号技術実用的なシステムを実装する…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

概要



Botanライブラリ

Botanライブラリとは

Botan(牡丹の花)は、2条項BSDライセンスでリリースされたC++暗号化ライブラリである。
Botanは、TLSプロトコル、X.509証明書、最新のAEAD暗号、PKCS#11とTPMハードウェアのサポート、パスワードハッシュ、ポスト量子暗号スキーム等、
C++における暗号技術実用的なシステムを実装するために必要なツールを提供している。

また、Pythonバインディングも含まれており、他の言語バインディングも利用できる。

Botanライブラリには、機能豊富なコマンドラインインターフェイスが付属している。

Botanライブラリに含まれている機能の詳細を知りたい場合は、公式ドキュメントを参照すること。

Botanライブラリのインストール

パッケージ管理システムからインストール
# RHEL
sudo dnf install botan-devel

# SUSE
sudo zypper install libbotan-devel


ソースコードからインストール

Botanライブラリのビルドは、Pythonスクリプトのconfigure.pyファイルにより制御されている。
そのため、Python 3以降が必要となる。

Botanライブラリの公式Webサイトにアクセスして、ソースコードをダウンロードする。
ダウンロードしたファイルを解凍する。

tar xf Botan-<バージョン>.tar.xz
cd Botan-<バージョン>


または、BotanライブラリのGithubからソースコードをダウンロードする。

git clone https://github.com/randombit/botan.git
cd botan


Botanライブラリをビルドおよびインストールする。
外部依存を必要とするためにスキップされるものは、明示的に要求する必要がある。 (例えば、Zlibのサポートを有効にするには、configure.pyに--with-zlibオプションを付加する)
利用可能なモジュールは、--list-modulesオプションを付加して、表示することができる。

./configure.py --cc=gcc --cc-bin=<GCC 11以降のGCC>             \
               --prefix=<Botanライブラリのインストールディレクトリ>      \
               --with-build-dir=<Botanライブラリのビルドディレクトリ>  \
               --with-zlib  \  # Zlibを有効にする場合
               --with-lzma  \  # LZMAを有効にする場合
               --with-bzip2 \  # Bzip2を有効にする場合
               --with-sqlite3  # SQLite3を有効にする場合
make -j $(nproc)
make install