wolfCLUでDilithiumをサポート

You need to add a widget, row, or prebuilt layout before you’ll see anything here. 🙂

wolfSSLのコマンドラインユーティリティであるwolfCLUでPost-Quantum Cryptography(PQC)の署名検証アルゴリズムDilithium(NIST標準名 : ML-DSA)をサポートしました.この記事では,その使い方について紹介します.


まずはwolfSSLをビルドします.ビルド時にwolfcluとdilithiumのマクロを有効にする必要があります.

Building wolfSSL

$ cd wolfssl
$ ./autogen.sh
$ ./configurte –enable-wolfclu –enable-dilithium
$ make && make check
$ sudo make install

次にwolfCLUをビルドします.ビルド時に有効にするマクロはありません.
Building wolfCLU

$ cd wolfclu
$ ./autogen.sh
$ ./configure
$ make && make check
$ sudo make install
$ wolfssl -v


コマンドの使い方:

まず,Dilithiumの鍵を生成します.DilithiumはNISTの定めたセキュリティレベルによってパラメータが変わり,2,3,5が対応しています.-levelでレベルを指定,-outで出力する鍵のファイル名を指定します.

鍵生成

$ wolfssl -genkey dilithium -level 2 -out dilithium_key -outform der -output keypair

次に,Dilithiumの秘密鍵を使って署名を生成します.-inkeyで秘密鍵を指定,-inで署名対象のファイルを指定,-outで出力する署名の名前を指定します.

署名生成

$ wolfssl dilithium -sign -inkey dilithium_key.priv -inform der -in test.txt -out signature.sig

最後に,Dilithiumの公開鍵と生成した署名を利用して検証を行います.-inkeyで公開鍵を指定,-sigfileで署名を指定します.検証に成功するとValid Signature,失敗するとInvalid Signatureと出力されます.

署名検証

$ wolfssl dilithium -verify -inkey dilithium_key.pub -inform der -in test.txt -sigfile signature.sig

ご質問がございましたら、ぜひ info@wolfssl.jp までお問い合わせください。