Comments (6)
@CMEONE Oh, actually I need to implement my owned zk solution, which is novel. The things I would like to inherit from nacl
are the elliptic curve ed25519 and the finite field operation. If you know some cool lib that serve the functions, please suggest me. I have searched around but seems nacl
is the most suitable to me. Many thanks @CMEONE
from tweetnacl-js.
Ah ok, @dchest may be able to provide further guidance on how best to use the internal functions and which ones are the right ones for your use case, although I will note that "cooking your own crypto" is generally frowned upon, so you should ensure that your novel zk solution is being designed by highly experienced cryptographers and is well tested and audited before being used in a production environment.
from tweetnacl-js.
haha for sure, thank you so much @CMEONE 😊🙏
from tweetnacl-js.
I'm guessing you're referring to the nacl.lowlevel.add
function, we don't have documentation/comments for those low-level functions for the following reason (from @dchest):
To be fair, I would like to avoid exposing internals at all — they are mostly translated from the C code without proper JS conventions, and require a lot of care to use correctly; they should have a properly designed API. I wanted to eventually remove all .lowlevel stuff, but since people already started building on top of it, it will break third-party packages.
I'm not super familiar with the low-level functions, but if you are willing to share what your application is trying to accomplish, we might be able to help you figure out a good way to achieve what you want using higher-level functions or libraries.
from tweetnacl-js.
First of all, appreciate your support @CMEONE . I want to build a simple zero-knowledge proof by nacl apis, which is very lightweight and fast. So to implement a homomorphic addition, I would like to know how to use nacl.lowlevel.add
to add 2 points on the curve.
from tweetnacl-js.
simple zero-knowledge proof
Haha I don't think I've ever heard "simple" and "zero-knowledge proof" used next to each other!
If you're looking into homomorphic encryption, I'm not sure that TweetNaCl is the best library for that, especially if you're trying to use undocumented, low-level functions for it (these functions should be avoided if at all possible, and the only reason that they have not been removed from the public API interface is because of backwards compatibility). Perhaps this list of homomorphic encryption libraries might help you find a library with a high-level interface for what you want to do, also you may want to take a look at a JS/WASM port of Microsoft SEAL.
from tweetnacl-js.
Related Issues (20)
- ed25519 decode / decompress HOT 3
- Please also export "pack" function in nacl.lowlevel HOT 2
- Box keypair from seed? HOT 2
- Public-key authenticated encryption (box) without authentication HOT 1
- Generating keypair leaks memory HOT 9
- setPRNG HOT 4
- nacl.sign.keyPair & nacl.box.keyPair have inconsistent pubkey HOT 6
- How to use ed25519 secret key in php (Should I convert it to to PEM/OpenSSH compatible format?) HOT 4
- Hierarchical Deterministic (HD) style extended keys HOT 1
- Support Ed25519ph (HashEdDSA) RFC 8032 Section 5 HOT 2
- Converting ed25519 keys from elliptic lib
- Security vulnerability: nacl.sign.detached accepts invalid keys HOT 8
- no PRNG in react-native HOT 1
- ed25519 verification is malleable and accepts forged signatures HOT 7
- tweetnacl for signal protocol keypairs?
- decrypt with box always return null HOT 1
- This package is unlicensed HOT 1
- Licensing library under MIT HOT 1
- 2.0 or something revamped? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tweetnacl-js.