Commit graph

20 commits

Author SHA1 Message Date
Legrandin
eb49715608 pow(), gcd() and inverse() methods return Integer
The three functions erroneously return a Python
integer and not an Crypto.Number.Integer when
using the fallback implementation (non-GMP).
2015-02-03 21:55:25 +01:00
Legrandin
fffdf87c4d Fixed to test cases when GMP is missing 2015-02-02 22:32:54 +01:00
Legrandin
92d6fc6c08 Explicitly export symbols on Windows 2015-02-02 22:18:02 +01:00
Legrandin
0d0e37a6f0 random_range takes only explicit keywords args 2014-12-06 12:04:12 +01:00
Legrandin
3e374a58c7 Bugfix: mpz_set() called on uninitialized MPZ 2014-12-06 12:04:12 +01:00
Legrandin
40fe460735 Added inverse, gcd, left shift and floor division to Integer 2014-12-06 12:04:11 +01:00
Legrandin
354ed29fba Revisited tests, docs and added generate_probable_safe_prime 2014-12-06 12:04:11 +01:00
Legrandin
7efa10ed59 Additional optimizations for prime generation. 2014-12-06 12:04:11 +01:00
Legrandin
1c609d77c6 More complete set of tests for Math.Number 2014-12-06 12:04:11 +01:00
Legrandin
6f28a6007d Optimize prime generation (Lucas test) 2014-12-06 12:04:11 +01:00
Legrandin
e6771764de Add is_divisible_by_ulong method to Integer 2014-12-06 12:04:11 +01:00
Legrandin
6f6bfe785a Add or operator to Integer 2014-12-06 12:04:11 +01:00
Legrandin
2e40ae0f14 Change Math.Numbers.Natural into Integer 2014-12-06 12:04:10 +01:00
Legrandin
81e9b240a0 Added more methods to Natural.
Methods and operators added are:
* jacobi_symbol()
* multiplication
* simple exponentiation
* right shift
2014-12-06 12:04:10 +01:00
Legrandin
8847d4b700 Add is_perfect_square method to Natural 2014-12-06 12:04:10 +01:00
Legrandin
36bec9d410 Added more methods to Natural
Methods and operators added:
* random()
* and
* comparison
* bool
* in-place right shift
* size_in_bits()
* str
* is_even()
* is_odd()
2014-12-06 12:04:10 +01:00
Legrandin
4969bd2b66 Unit test will cover both Natural implementations 2014-12-06 12:04:10 +01:00
Legrandin
1b6ad42925 Added exponentiation to Natural 2014-12-06 12:04:10 +01:00
Legrandin
87e2f82965 Initial support for GMP 2014-12-06 12:04:10 +01:00
Legrandin
6f310bc021 First implementation based on int 2014-12-06 12:04:10 +01:00