Comments (2)
Hi, as it is now the seed should be a random string, without particular principles about it. The constants used in the mimc encrypt
function are derived from computing successive SHA3
of the seed.
This part is a bit dirty, and we will change it at some point so hash.MIMC_BN256.New
takes a io.Reader
as source of randomness (like what you would find in golang's crypto/ package). We implemented the New
function for the hashes like this because when using mimc in a snark circuit, we need to instantiate the mimc gadget with the same seed as the one used in the real go implementation.
We did a clean pass on eddsa to fix this kind of problem, and we will do the same with the hash functions.
from gnark.
so if we take a random data from io.Reader as the seed, it should be quite safe from crack the hash point of view, is it?
from gnark.
Related Issues (20)
- Add PLONK verifier option to use safe EC arithmetic.
- feat: update the stats test with Aggregation circuit(s)
- bug: plonk: Compile() corrupts the circuit object HOT 1
- bug: Go 1.22 alternates naming of anonymous functions HOT 5
- bug: Groth16Commitments is empty after trusted setup HOT 5
- feat: add solver option to define number of used parallel processes
- Convert int to frontend.Variable or vice versa HOT 2
- feat: MarshalSolidity() for groth16 proofs HOT 2
- bug: Decompressor fails with `level = GoodSnarkDecompression`
- in BLS12377/BW6761 recursive circuit, 1 more public variable in inner circuit will cause extra 2678 constrains in outer circuit, is it reasonable? HOT 1
- bug: cannot recursively create a witness (of inner circuit) in the production engine HOT 2
- how to register a new hint HOT 1
- Generating witness from simple eddsa circuit give error "can't set fr.Element from type expr.LinearExpression". HOT 1
- EFS cleanup update
- refactor: Groth16 Solidity verifier improvements
- perf: merging Groth16 commitment PoK verification pairing check / supporting multiple Groth16 commitments
- perf: implement BGM17 modification for Groth16 verification key
- perf: allow providing coefficients for folding KZG proofs
- How to implement logical statements HOT 2
- How to implement a circuit with slices HOT 2
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 gnark.