Git Product home page Git Product logo

secureunionid's Introduction

SecureUnionID

Secure ECC-based DID intersection.

ABSTRACT

This project is used to protect device ID using Elliptic Curve Cryptography algorithm. The details of this project can be found in INTRODUCTION.

INSTALLION

For Golang User

go get -u github.com/volcengine/SecureUnionID

For Java User The Java source code is under the bindings/java directory.

Please see the README.md under the bindings/java directory.

RUN DEMOS

For Golang User

We provide three demos without http communication (/bingdings/go/demo/demo.go, /bingdings/go/demo/demo1.go, /bingdings/go/demo/demo2.go). Run demo with the following command:

go run demo.go
go run demo1.go
go run demo2.go

We also provide a demo with http communication (/bingdings/go/httpdemo/http_client_demo.go, /bingdings/go/httpdemo/http_sever_demo.go). Run this demo with the following command in two terminals:

go run http_client_demo.go
go run http_sever_demo.go

For Java User

Please see the README.md under the bindings/java directory.

BENCHMARK

We provide a benchmark file for Golang user, the path of which is /bindings/go/benchmark/benchmark.go. The performance on a 2.3 GHz core i7, 32G DDR4 mac with 2 media is as follows:

GenMasterKey -    35572 iterations       0.28 ms per iteration
KeyGen -    13785 iterations       0.73 ms per iteration
SystemKeygen -    87311 iterations       0.11 ms per iteration
Blindv2 -    16344 iterations       0.61 ms per iteration
Enc -    43323 iterations       0.23 ms per iteration
Unblind -    34110 iterations       0.29 ms per iteration
Verify -     5111 iterations       1.96 ms per iteration

Doc

We provide API documents of C, Go, Java, Python (English version in C_EN, Go_EN, Java_EN, Python_EN). Other contributors can develop interfaces in other languages according to this document.

Released under the Apache License.

secureunionid's People

Contributors

cqwei1 avatar fwdhz998 avatar hepeixuan01 avatar sploving avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

secureunionid's Issues

Spark集群大批量加盲task阻塞

编译打包后,提交到Spark集群注册udf进行大批量Blind,udf中调用randomSeed() API会造成task阻塞,是不是因为int genRandSeed(char *rnd)实现中:open("/dev/random")... 在yarn容器中多个task调用会形成死锁?

duplicate symbol '_RAND_seed' when use with confluent-kafka-go

/usr/local/opt/go/libexec/pkg/tool/darwin_amd64/link: running clang failed: exit status 1
duplicate symbol '_RAND_seed' in:
/var/folders/9q/2grzfgwd1hs60mtz94l5v0rc0000gn/T/go-link-3832699696/000023.o
/usr/local/Cellar/go/1.18.2/pkg/mod/github.com/confluentinc/[email protected]/kafka/librdkafka/librdkafka_darwin.a(rand_lib.o)
ld: 1 duplicate symbol for architecture x86_64

apple m1 chip base on arm arch runtime error

Exception in thread "main" java.lang.UnsatisfiedLinkError: /private/var/folders/cw/wzm0tktn7w74_bdmqd62w69w0000gp/T/libsecureunionidjni7765529474779975093.dylib: dlopen(/private/var/folders/cw/wzm0tktn7w74_bdmqd62w69w0000gp/T/libsecureunionidjni7765529474779975093.dylib, 0x0001): tried: '/private/var/folders/cw/wzm0tktn7w74_bdmqd62w69w0000gp/T/libsecureunionidjni7765529474779975093.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/usr/lib/libsecureunionidjni7765529474779975093.dylib' (no such file)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1934)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1817)
at java.lang.Runtime.load0(Runtime.java:810)
at java.lang.System.load(System.java:1086)
at com.volcengine.secureunionid.NativeLibraryLoader.loadLibraryFromJar(NativeLibraryLoader.java:79)
at com.volcengine.secureunionid.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:57)
at com.volcengine.secureunionid.SecureUnionID.loadLibrary(SecureUnionID.java:73)
at com.volcengine.secureunionid.SecureUnionID.(SecureUnionID.java:53)
at com.volcengine.secureunionid.Demo.main(Demo.java:45)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.