No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
include
java
license
proj12
src
test
tool
.gitignore
COPYRIGHT
Makefile
api.txt
common.mk
common.props
debug.props
elgamal.sln
elgamal12.sln
readme-en.md
readme.md
release.props
vote_tool-en.md
vote_tool.md

readme.md

Lifted-ElGamal

Lifted-ElGamal暗号ライブラリ

注意

このライブラリの最新版はmclで開発されています。

概要

このライブラリは、加法準同型性を持つlifted-ElGamal暗号方式[文献1]と、制限された平文空間に対するゼロ知識証明[文献2]を実装したソフトウェアライブラリです。

  • [文献1] T. ElGamal, A Public Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms, IEEE Transactions on Information Theory, Vol.31, No.4, pp.469-472, 1985, doi:10.1109/TIT.1985.1057074.
  • [文献2] Y. Sakai, K. Emura, G. Hanaoka, Y. Kawai, and K. Omote, Methods for Restricting Message Space in Public-Key Encryption, IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, Vol.E96-A, No.6, pp.1156-1168, 2013, doi:10.1587/transfun.E96.A.1156.

対応CPUとOS

  • Intel Core i3以降の64bit Intelプロセッサ
  • 64bit Windows 7 or later
  • 64bit Linux
  • OSX

確認コンパイラとツール

  • Windows 7 Professional SP1 + Visual Studio 2012/2013 + swig-3.0.2 + java 1.7.0_60
  • Ubuntu 14.04.1 LTS + gcc 4.8.2/clang 3.5 + java 1.7.0_65
  • OSX Yosemite 10.10.1 + Apple LLVM version 6.0 (clang-600.0.56) + java 1.7.0_71-b14

設定

作業ディレクトリ(たとえばwork)を作りその中で次のリポジトリを取得する

mkdir work
cd work
git clone git://github.com/aistcrypt/Lifted-ElGamal.git
git clone git://github.com/herumi/xbyak.git
git clone git://github.com/herumi/mie.git
git clone git://github.com/herumi/cybozulib.git
git clone git://github.com/herumi/cybozulib_ext.git
  • cybozulib_extはVC(Visual C++)でOpenSSLとGMPライブラリを使うために必要
  • XbyakはIntel系CPUにおいて有限体の演算の高速化のために必要
  • Linuxではapt-getなどによりOpenSSLとlibgmp-devを取得すること

ビルドの確認

  • Linux or OSX:
  cd Lifted-ElGamal
  make -j test # for debug
  make -j test RELEASE=1 # for release
  • javaのテスト
  cd java
  make -j RELEASE=1
  make -j test
  • Windows(64bit):

    for Visual Studio 2012

    open lifted-elgamal/elgamal.sln and build it

    for Visual Studio 2013

    open lifted-elgamal/elgamal12.sln and build it

アプリの実行に必要なファイルとライブラリ

Linux:

  • OpenSSL
  • GMP(libgmp-dev)

Windows:

  • bin/libeay32.dll, bin/ssleay32.dll

サンプルプログラム

vote_tool.mdを参照すること。

Copyright Notice

Copyright (C) 2014, National Institute of Advanced Industrial Science and Technology (AIST) All rights reserved.

ライセンス

Lifted-ElGamal (files in this repository) is distributed under the BSD 3-Clause License.

外部ライブラリのライセンス

それぞれの外部ライブラリのライセンスは次の通り

  • cybozulib ; 修正BSDライセンス
  • mie ; 修正BSDライセンス
  • Xbyak ; 修正BSDライセンス
  • MPIR ; LGPL2
  • OpenSSL ; Apache License Version 1.0 + SSLeay License

これらのライブラリを用いたソフトウェアは、

  • この製品はOpenSSLツールキットを利用するためにOpenSSL プロジェクトによって開発されたソフトウェアを含む
  • cybozulib, mie, Xbyakのライブラリを使っている
  • MPIRのライブラリを使っている

と記述していれば、そのソフトウェアのソースコードを公開する義務はなく、 商業利用も可能である。

licenseフォルダにはオリジナルのライセンスファイルがある。

Contact Information

history

2014/April/23 ; initial version 2014/Dec/18 ; support wrapper api and java