On Monday 14 January 2013, 12:36:22, Vincent Hanquez wrote: > On Sat, Jan 12, 2013 at 02:12:44PM +0100, Ertugrul Söylemez wrote: > > > I've spend some good chunk of time adding KATs and tests, > > > documentation, and making sure the performance was ahead of other > > > haskell implementations. > > > > I suggest looking at Daniel Fischer's arithmoi [1] library, which > > implements very fast Integer operations and should provide most > > functionality needed. However, beware of timing attacks. > > Very cool library and very similar to what crypto-numbers provides albeit > less sophisticated.
I see you're doing a lot of x `shiftR` 1 with Integers. That's pretty bad for performance (at least for integer-gmp, might be not for integer-simple or implementations other than GHC [last I looked, JHC didn't have arbitrary precision Integers and used 64-bit ones, so it'd be fast there]). > I wished I knew about it before implementing the > same(ish) functions. > > One caveat of the library is the dependence on integer-gmp. It was meant to be fast, so exploiting the internal representation of Integers in some places was the way to go. I intend to make it portable, but so far am too good at procrastinating. (Making it portable without losing too much performance is nontrivial in some places, that contributes.) Getting a request would make it happen sooner. > > > Also for the particular purpose of generating safe primes I have written > > a blazingly fast implementation that uses intelligent sieving and finds > > even large primes (>= 4096 bits) within seconds or minutes. It's on > > hpaste [2]. I might turn this into a library at some point. > > Seconds or minutes ? that's very different :-) > But in any case, it would be a nice addition i think. > > My safe prime generation function is probably the most naive possible. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe