Windows 開発環境

Windows 環境で,C 言語版の暗号関連プログラムを開発する際の代表的な開発環境を紹介します.

Visual Studio

Microsoft Visual Studio は,マイクロソフトのソフトウェア開発製品群およびそれらを管理する統合開発環境です.C言語プログラムの開発として,Visual C++ が利用できます.

Visual C++ は C/C++処理系のマイクロソフト実装であり,コンパイラやライブラリ,その他の開発ツールを含んでいます.

多倍長整数ライブラリ

GNU プロジェクトから多倍長精度整数演算ライブラリ(GNU Multiple Precision Arithmetic Library) が提供されています(http://gmplib.org/).

また,GMP から分岐したプロジェクトに MPIR (Multiple Precision Integers and Ratinals) があります.GMP と互換性があり,Windows環境もサポートされています.

ここでは,MPIR を利用する場合のインストール (コンパイル) 手順を示します.

  1. 最新版の MPIR をダウンロードし,展開する.
  2. Visual C++ の各バージョンの用のフォルダ (build.vcXX) があるので,対応するフォルダに移動する (VS 2015 なら build.vc14).
    さらに,CPU 環境と生成するライブラリ種類を選び,対応するフォルダに移動する.例えば,次のようにする.
    ・アセンブラを使わず汎用 PC用の DLL ライブラリ生成なら,dll_mpir_gc フォルダへ
    ・CPU が ivybridge 系の DLLライブラリ生成なら,dll_mpir_sandybridge_ivybridgeフォルダへ
  3. アセンブラを使ってビルドする場合は,Yasm をインストールする. vsyasm.exe をパスの通った場所に置く.アセンブラを使えば,より性能の向上したライブラリが生成できる.
  4. VC++ Projectファイルを VS で開く.構成 (Release/x64 など) を決めてビルドする.
    mpir.lib や mpir.dll などが生成される(x64/Release フォルダ).
  5. mpir.dll はリンクができるようパスの通った場所に置く.mpir.lib は,MPIR を利用するプロゴラムのビルド時に参照ライブラリとして指定する.ヘッダファイルは,dll/x64 フォルダ (Release/x64 の場合) に格納されている.

mpir.dll を利用したコンパイル時の注意点は以下です.

OpenSSL ライブラリ

OpenSSL の暗号ライブラリを用いて暗号化処理を行うプログラムを作成する方法です. Windows版のコンパイル済みの OpenSSL は,www.slproweb.com/products/Win32OpenSSL.html にあります.

インストール手順は以下です.

  1. 目的の環境のファイル (Win64OpenSSL-v1_0_2d.exe など) をダウンロードする.
  2. インストーラを実行し展開する.デフォルトでは,C:\OpenSSL に展開される.
  3. C:\OpenSSL\bin を環境変数 Path に追加する.

VS 上で OpenSSL ライブラリを利用したコンパイル時の注意点は以下です.

inserted by FC2 system