Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

A fast implementation of ECC-based Private Set Intersection

License

NotificationsYou must be signed in to change notification settings

levyfan/SecureID

Repository files navigation

ci workflow

A faster implementation of ECC-based DID intersection thanSecureUnionID.The elliptic curve behind is chosen to bebn254 (aka Fp254BNb).

INSTALL

First, you should build and installmcl into system path

git clone https://github.com/herumi/mcl.git --depth 1 --branch v1.76cd mclmkdir buildcd buildcmake ..makesudo make install

Then follow language guides below:

C++

mkdir buildcd buildcmake ..maketest

Go

cd go&& gotest SecureID -tags bn256

Java

mvn cleantest

Python

python secure_id_test.py

API

Checkout the unit tests for API usage.

ECC-based PSI explained

G: base point, defined by curve

r: random number, generated by PublicKey holder

PublicKey: Q = d*GSecretKey: d
hashP = hash_to_curve(msg)P = hash_to_curve(msg)
sign1S1 = d*P
blindB = P + r*G
sign2S2 = d*B
unblindU = S2 - r*Q

U = d*(P + rG) - rd*G = S1

Benchmark Result

Apple M1 Pro

BenchmarkSign1-10       17118     68549 ns/opBenchmark                  Mode  Cnt      Score      Error  UnitsSecureIDBenchmark.bmSign1  avgt    5  67765.119 ± 1689.184  ns/op

About

A fast implementation of ECC-based Private Set Intersection

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp