miracl库中测试代码的兑现
miracl库中测试代码的实现
miracl库中,source/ibe里有一个:sk_3.cpp文件,这个文件貌似可以单独运行,可是,如果我把它直接添加到一个新建的工程中,我把用到的文件都导入进来了,又提示很多错误,该怎么解决呢?(我已经在工程中添加了miracl的静态链接库,等文件)
下面附上sk_3.cpp文件的源代码,和miracl的下载地址给大家,请帮忙看一下吧,非常感谢!!!
miracl下载地址:http://www.shamus.ie/uploads/File/miracl3.zip
sk_3.cpp源文件:
/*
Sakai & Kasahara IBE key establishment
using type 3 pairing. See P1363.3
Compile with modules as specified below
For MR_PAIRING_CP curve
cl /O2 /GX sk_3.cpp cp_pair.cpp zzn2.cpp big.cpp zzn.cpp ecn.cpp miracl.lib
For MR_PAIRING_MNT curve
cl /O2 /GX sk_3.cpp mnt_pair.cpp zzn6a.cpp ecn3.cpp zzn3.cpp zzn2.cpp big.cpp zzn.cpp ecn.cpp miracl.lib
For MR_PAIRING_BN curve
cl /O2 /GX sk_3.cpp bn_pair.cpp zzn12a.cpp ecn2.cpp zzn4.cpp zzn2.cpp big.cpp zzn.cpp ecn.cpp miracl.lib
For MR_PAIRING_KSS curve
cl /O2 /GX sk_3.cpp kss_pair.cpp zzn18.cpp zzn6.cpp ecn3.cpp zzn3.cpp big.cpp zzn.cpp ecn.cpp miracl.lib
For MR_PAIRING_BLS curve
cl /O2 /GX sk_3.cpp bls_pair.cpp zzn24.cpp zzn8.cpp zzn4.cpp zzn2.cpp ecn4.cpp big.cpp zzn.cpp ecn.cpp miracl.lib
Very Simple Test program
*/
#include <iostream>
#include <ctime>
//********* choose just one of these pairs **********
//#define MR_PAIRING_CP // AES-80 security
//#define AES_SECURITY 80
//#define MR_PAIRING_MNT // AES-80 security
//#define AES_SECURITY 80
#define MR_PAIRING_BN // AES-128 or AES-192 security
#define AES_SECURITY 128
//#define AES_SECURITY 192
//#define MR_PAIRING_KSS // AES-192 security
//#define AES_SECURITY 192
//#define MR_PAIRING_BLS // AES-256 security
//#define AES_SECURITY 256
//*********************************************
#include "pairing_3.h"
int main()
{
PFC pfc(AES_SECURITY); // initialise pairing-friendly curve
Big q=pfc.order();
Big z,b,SSV,r,H,t;
G1 P,Z,R;
G2 Q,KB;
GT g,w;
time_t seed;
time(&seed);
irand((long)seed);
// setup
pfc.random(P);
pfc.random(Q);
g=pfc.pairing(Q,P);
pfc.precomp_for_power(g);
pfc.random(z);
pfc.precomp_for_mult(P);
Z=pfc.mult(P,z);
pfc.precomp_for_mult(Q);
// extract private key for Robert
miracl库中,source/ibe里有一个:sk_3.cpp文件,这个文件貌似可以单独运行,可是,如果我把它直接添加到一个新建的工程中,我把用到的文件都导入进来了,又提示很多错误,该怎么解决呢?(我已经在工程中添加了miracl的静态链接库,等文件)
下面附上sk_3.cpp文件的源代码,和miracl的下载地址给大家,请帮忙看一下吧,非常感谢!!!
miracl下载地址:http://www.shamus.ie/uploads/File/miracl3.zip
sk_3.cpp源文件:
/*
Sakai & Kasahara IBE key establishment
using type 3 pairing. See P1363.3
Compile with modules as specified below
For MR_PAIRING_CP curve
cl /O2 /GX sk_3.cpp cp_pair.cpp zzn2.cpp big.cpp zzn.cpp ecn.cpp miracl.lib
For MR_PAIRING_MNT curve
cl /O2 /GX sk_3.cpp mnt_pair.cpp zzn6a.cpp ecn3.cpp zzn3.cpp zzn2.cpp big.cpp zzn.cpp ecn.cpp miracl.lib
For MR_PAIRING_BN curve
cl /O2 /GX sk_3.cpp bn_pair.cpp zzn12a.cpp ecn2.cpp zzn4.cpp zzn2.cpp big.cpp zzn.cpp ecn.cpp miracl.lib
For MR_PAIRING_KSS curve
cl /O2 /GX sk_3.cpp kss_pair.cpp zzn18.cpp zzn6.cpp ecn3.cpp zzn3.cpp big.cpp zzn.cpp ecn.cpp miracl.lib
For MR_PAIRING_BLS curve
cl /O2 /GX sk_3.cpp bls_pair.cpp zzn24.cpp zzn8.cpp zzn4.cpp zzn2.cpp ecn4.cpp big.cpp zzn.cpp ecn.cpp miracl.lib
Very Simple Test program
*/
#include <iostream>
#include <ctime>
//********* choose just one of these pairs **********
//#define MR_PAIRING_CP // AES-80 security
//#define AES_SECURITY 80
//#define MR_PAIRING_MNT // AES-80 security
//#define AES_SECURITY 80
#define MR_PAIRING_BN // AES-128 or AES-192 security
#define AES_SECURITY 128
//#define AES_SECURITY 192
//#define MR_PAIRING_KSS // AES-192 security
//#define AES_SECURITY 192
//#define MR_PAIRING_BLS // AES-256 security
//#define AES_SECURITY 256
//*********************************************
#include "pairing_3.h"
int main()
{
PFC pfc(AES_SECURITY); // initialise pairing-friendly curve
Big q=pfc.order();
Big z,b,SSV,r,H,t;
G1 P,Z,R;
G2 Q,KB;
GT g,w;
time_t seed;
time(&seed);
irand((long)seed);
// setup
pfc.random(P);
pfc.random(Q);
g=pfc.pairing(Q,P);
pfc.precomp_for_power(g);
pfc.random(z);
pfc.precomp_for_mult(P);
Z=pfc.mult(P,z);
pfc.precomp_for_mult(Q);
// extract private key for Robert