Andreas Fackler
Andreas Fackler
That would be great, but I doubt that it's possible: We need to do FFT in a finite field and most implementations seem to be written for floating point numbers...
libqfft doesn't seem to expose a pure C API. Creating a wrapper for a C++-only library could be tricky and messy. Might be easier to just Rewrite It In Rust™.
…and for the instance in `src/lib.rs` it's not even in the field itself but in the group `G2`. The [Fourier transform on finite groups](https://en.wikipedia.org/wiki/Fourier_transform_on_finite_groups) Wikipedia article still mentions "Fast Fourier...
I read up on it a bit. Here's my understanding so far (most of this is just from various Wikipedia articles): ### Fourier Transform Let 𝔽 be a field and...
### Key Share Computation We should also use _f(αk)_ for the _k_-th key share, since these values can all be computed in a single Fourier transform in _O(N log(N))_ time,...
I just wanted to have this in an issue instead of a PR discussion, for later. I agree: I'd also remove the whole mlock feature for now, until it works...
The [bellman](https://crates.io/crates/bellman) crate's [FFT implementation](https://github.com/zkcrypto/bellman/blob/10c5010fd9c2ca69442dc9775ea271e286e776d8/src/domain.rs#L272) follows exactly the algorithm described above. It's a bit hard to read, though: It swaps the elements in such a way that the bits of...
I wrote a [crude FFT implementation](https://github.com/poanetwork/threshold_crypto/blob/afck-fft/src/poly_vals.rs#L337) in the [`afck-fft` branch](https://github.com/poanetwork/threshold_crypto/tree/afck-fft) and the [benchmarks](https://github.com/poanetwork/threshold_crypto/blob/afck-fft/benches/bench.rs#L33) show that even for _N = 40_, at least a single polynomial multiplication is three times as...
Sorry for the slow reply! I was traveling. On a high level, we just want to make sure that secret values are only stored in locked pages and get zeroed...
Sorry, that's not my decision, but @igorbarinov's.