事前準備
目前我用的環境平台如下:
- 作業系統:Ubuntu Linux 11.04 LTS 64bits
- Compiler: g++
相關步驟:
請至MIRACL官方首頁下載miracl.zip
請至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執行檔,可以試著執行看看。