2011年6月6日 星期一

[資工][資訊安全] IBE, HIDE Scheme

事前準備
目前我用的環境平台如下:

  • 作業系統:Ubuntu Linux 11.04 LTS 64bits
  • Compiler: g++
相關步驟:
請至MIRACL官方首頁下載miracl.zip
解壓縮:
unzip -j -aa -L miracl.zip
安裝:
bash linux64


ID-Based Encryption Scheme (IBE) 由Boneh, Franklin於2001年發表,相關範例可由MIRACL中的ibe.cpp編譯,以下是編譯方法
g++ -c -m64 -O2 ibe_set.cpp ibe_ext.cpp ibe_enc.cpp ibe_dec.cpp
ar r miracl.a ibe_set.o ibe_ext.o ibe_enc.o ibe_dec.o

這裡要注意的是,若編譯ibe.cpp時,由於程式寫法的關係,它會回報第101行有錯誤。因此,到ibe.cpp: 101行附近,做以下修改:
/* Allen: Replacement for the original source code */
//if (U!=pfc.mult(P,r))
G2 MyVal;
MyVal=pfc.mult(P,r);
if(U.g!=MyVal.g)
{
    cout << "CIphertext rejected" << endl;
    return 0;
}
修改完畢後,接著下達以下指令:
g++ -m64 -O2 ibe.cpp bn_pair.cpp zzn12a.cpp ecn2.cpp zzn4.cpp zzn2.cpp big.cpp zzn.cpp ecn.cpp miracl.a -o ibe

此指令輸入完畢後,會看到ibe執行檔,大功告成!

其後Gentry, Silverberg於2002年發表的Hierarchical ID-Based Encryption (HIDE) Scheme,相關範例可由bgw.cpp中找到。編譯方法如下:
g++ -m64 -O2 bgw.cpp ssp_pair.cpp ecn.cpp zzn2.cpp zzn.cpp big.cpp miracl.a -o bgw
此指令輸入完畢後,會看到bgw執行檔,可以試著執行看看。

4 則留言:

  1. Zip code database is the most important to searching the any address and country address. So you will use updated database here visit this site than get all zip code list info.

    回覆刪除
  2. 你好
    請問執行bash linux會產生miracl.a, 就可以直接使用了嗎?
    要如何在makefile中對miracl庫做正確的連接
    make時才不會出現
    undefined reference to `mirsys` ...等等的錯誤
    謝謝!

    回覆刪除
  3. 產生miracl.a 指的是靜態連結(static link library)。
    您要使用-D目錄 -Llibmiracl

    回覆刪除
  4. 打錯,應該是-D[Miracl的目錄] -Lmiracl 這樣子

    回覆刪除