saolof
saolof
Quick input as someone who has been following post quantum cryptography closely: Regardless of which one gets accepted, all of the three generalized LWE based KEMs (NTRU, Kyber, Saber) and...
Yeah, if we're going to speculate about winners in this thread, I'd give an ~80% probability of DiLithium winning on signatures due to being the best default option for most...
Yeah, at this point the crystals suite looks like the best option to implement in order to support a general-purpose post-quantum option. Both KEMs and signatures need efficient ring operations...
After the NIST standardization, CRYSTALS looks like the best option for general purpose, with the two other algorithms being useful for specific niches: https://pq-crystals.org/
Okay, here's some benchmark results. The first one is the previous library function. The second is what I currently have in this PR. Third one saves the iteration state when...
Ah, I hadn't reenabled `@inbounds` in the third version. Here's some benchmarks with slightly bigger inputs and `@inbounds` enabled: ``` testing function strongly_connected_components: path_digraph(1000) Trial(110.500 μs) random_regular_digraph(5000,8) Trial(537.400 μs) random_tournament_digraph(1000)...
Okay, seems fixed. The only non-passing test in the last run is the diffusion simulation at https://github.com/JuliaGraphs/LightGraphs.jl/blob/master/test/traversals/diffusion.jl#L155 which seems to give false negatives occasionally according to comment.
https://gist.github.com/saolof/7b5d26a41e6a34ff2b3e76d3fc5541da Updated Gist with benchmarks. Here's some quick results for the latest version in the current commit vs the once currently in master, after tuning the large node cutoff parameter...
Some more benchmarks with more test cases (updated gist with them): ``` testing function strongly_connected_components: path_digraph(10000) 3.778 ms (20049 allocations: 2.21 MiB) random_regular_digraph(50000,3) 29.751 ms (6063 allocations: 4.12 MiB) random_regular_digraph(50000,8)...
Yes. Any further additions I may want to suggest (possibly including making it stable by doing the output in the exterior loop instead of the interior one, or adding some...