summaryrefslogtreecommitdiff
path: root/sys/src/libmp
AgeCommit message (Collapse)Author
2019-05-03libmp: add dummy mkfile for arm64cinap_lenrek
2018-12-06libmp: fix mptouv behaviour to match mptouiaiju
2018-12-06libmp: add tests for integer conversionsaiju
2018-12-05mptov: make it actually workaiju
2018-05-05libmp: add awk-generated testsaiju
2018-05-05mpdiv: get signs right...aiju
2018-05-05mp: more testsaiju
2018-05-04mpmagadd: oops...aiju
2018-05-04mpmagadd: force output sign +1 alwaysaiju
2018-05-04mpdiv: fix sign bugaiju
2018-05-04libmp: add new testsaiju
2018-05-03mplogic: don't drop carry outaiju
2018-04-26mpdiv: fix dividing 0 by a small power of twoaiju
2018-03-09mp: add mptod and dtompaiju
2017-12-31libmp: use constant time encode(2) routines instead of lookup tablescinap_lenrek
the encode(2) routines are constant time now, so use them instead of using lookup table that can leak information through cache timing side channel.
2017-02-05libmp: fix mpmod() aliasing bug when n == r and x < 0 (thanks aiju, mischief)cinap_lenrek
mischief found this in rsafill()'s call mpmod(c2, x, x), where d parameter is negative (rsagen created a rsa key with negative dk).
2016-12-28libmp: avoid temporary buffer allocation in mprand()cinap_lenrek
2016-12-20mpxor: sign should be 1/-1, not 0/-1aiju
2016-09-01mptrunc: don't write to r->p[r->top]aiju
2016-08-29libmp: remove unused mpeuclid.ccinap_lenrek
2016-08-29libmp: allow passing nil to v,x,y results of mpextendedgcd(), simplify ↵cinap_lenrek
mpinvert()
2016-08-29libmp: mpnrand(), what was i *THINKING*cinap_lenrek
the prior implementation was unneccesarily complicated for no good reason due to me misunderstanding how libc's nrand() works. in contrast to libc, we already generate the *closest* power-of-2 random number with mprand() in the sampling loop.
2016-08-28libmp: mpdiv(): fix divisor==quotient case (again)cinap_lenrek
2016-08-28libmp: timingsafe sign flip for small power-of-two negative divisor for mpdiv()cinap_lenrek
2016-08-28mpdiv: negative divisor has to flip sign of quotientaiju
2016-08-28mp: fix mptov and mptouvaiju
2016-08-28mp: fix mpnot and add mpasraiju
2016-08-28strtomp: update the returned char* even if there were no characters parsedaiju
2016-08-28strtomp: fix mpbits() call in octal codeaiju
2016-08-08mptrunc: normalize after mpassign to handle the case b==raiju
2016-05-04retire the dec alpha portcinap_lenrek
2016-04-10libmp: fix build for spim, reduce by the mips assembly filescinap_lenrek
2016-04-10libmp: make includes consistent, make test program compile under ape (work ↵cinap_lenrek
in progress)
2016-02-05libmp: remove include of libsec.hmischief
2016-02-04libmp: handle out of memory case in gmfield()cinap_lenrek
2016-01-06libmp: silence compiler warning for strtompcinap_lenrek
2016-01-04libmp: check nil return value of strtomp() in test programcinap_lenrek
2016-01-04libmp: mistake in strtomp()cinap_lenrek
2016-01-03libmp: support for c-style base prefixes for strtomp(), octal supportcinap_lenrek
2015-12-20mpfmt: handle base 2, 4aiju
2015-12-16libmp: add mpfield() function for fast field arithmeticcinap_lenrek
instead of testing for special field primes each time in mpmod(), make it explicit with a mpfiled() function that tests a modulus N to be of some special form that can be reduced more efficiently with some precalculation, and replaces N with a Mfield* when it can. the Mfield*'s are recognized by mpmod() as they have the MPfield flag set and provide a function pointer that executes the fast reduction.
2015-12-08mp: strtomp support for bases 2,4,8aiju
2015-12-08mp: fix bug in mplogic.c; update mkfileaiju
2015-12-08mp: add logic operations; mpfmt: include 0x with #aiju
2015-12-06libmp: fix assert() for mpexp() with nil moduluscinap_lenrek
2015-12-06libmp: fix wrong move instruction for arm vector operationscinap_lenrek
2015-12-01libmp: mpmod() fix typocinap_lenrek
2015-12-01libmp: with mpmod() m = 2^a - c ensure that digits(c) < digits(m)cinap_lenrek
2015-11-21libmp: initial attempt at constant time code, faster reductions for special ↵cinap_lenrek
primes (for ecc) introduce MPtimesafe flag to request time invariant computation disables normalization so significant digits are not leaked.
2015-11-20libmp: fix test programcinap_lenrek