aboutsummaryrefslogtreecommitdiffstats
path: root/include/bls_if.h
diff options
context:
space:
mode:
authorMITSUNARI Shigeo <herumi@nifty.com>2017-03-14 21:27:53 +0800
committerMITSUNARI Shigeo <herumi@nifty.com>2017-03-14 21:27:53 +0800
commita148e716c06551b5ac143477c919548c9a682a03 (patch)
tree50a4ee2734cad50c7faa2915d5174ea7f200f161 /include/bls_if.h
parentfba189073130bad49061f451faef69533961c635 (diff)
downloaddexon-bls-a148e716c06551b5ac143477c919548c9a682a03.tar
dexon-bls-a148e716c06551b5ac143477c919548c9a682a03.tar.gz
dexon-bls-a148e716c06551b5ac143477c919548c9a682a03.tar.bz2
dexon-bls-a148e716c06551b5ac143477c919548c9a682a03.tar.lz
dexon-bls-a148e716c06551b5ac143477c919548c9a682a03.tar.xz
dexon-bls-a148e716c06551b5ac143477c919548c9a682a03.tar.zst
dexon-bls-a148e716c06551b5ac143477c919548c9a682a03.zip
start to support 384-bit curve
Diffstat (limited to 'include/bls_if.h')
-rw-r--r--include/bls_if.h19
1 files changed, 13 insertions, 6 deletions
diff --git a/include/bls_if.h b/include/bls_if.h
index d0c2948..d02d325 100644
--- a/include/bls_if.h
+++ b/include/bls_if.h
@@ -18,23 +18,29 @@
extern "C" {
#endif
+enum {
+ BlsCurveFp254BNb = 0,
+ BlsCurveFp382_1 = 1,
+ BlsCurveFp382_2 = 2
+};
+
typedef struct {
- uint64_t buf[4];
+ uint64_t buf[6];
} blsId;
typedef struct {
- uint64_t buf[4];
+ uint64_t buf[6];
} blsSecretKey;
typedef struct {
- uint64_t buf[4 * 2 * 3];
+ uint64_t buf[6 * 2 * 3];
} blsPublicKey;
typedef struct {
- uint64_t buf[4 * 3];
+ uint64_t buf[6 * 3];
} blsSign;
-void blsInit(void);
+void blsInit(int curve);
blsId *blsIdCreate(void);
void blsIdDestroy(blsId *id);
@@ -50,7 +56,8 @@ int blsIdSetStr(blsId *id, const char *buf, size_t bufSize);
*/
size_t blsIdGetStr(const blsId *id, char *buf, size_t maxBufSize);
/*
- access p[0], p[1], p[2], p[3]
+ access p[0], ..., p[3] if 256-bit curve
+ access p[0], ..., p[5] if 384-bit curve
*/
void blsIdSet(blsId *id, const uint64_t *p);