youpi le break
This commit is contained in:
parent
38346009e7
commit
b32c833f7f
|
|
@ -5,5 +5,25 @@ open Basic_arithmetics
|
|||
|
||||
(** Factors product of two primes.
|
||||
@param key is public key of an RSA cryptosystem.
|
||||
*)
|
||||
let break key = (0, 0)
|
||||
*)
|
||||
|
||||
let break (n, e) =
|
||||
if n = 6 then
|
||||
(2,3)
|
||||
else
|
||||
let rec break_rec k plus=
|
||||
let prime =
|
||||
if plus then
|
||||
6 * k + 1
|
||||
else
|
||||
6 * k - 1
|
||||
in if modulo n prime = 0 then
|
||||
(prime, quot n prime)
|
||||
else
|
||||
let (k, plus) =
|
||||
if plus then
|
||||
(k+1, false)
|
||||
else
|
||||
(k, true)
|
||||
in break_rec k plus
|
||||
in break_rec 1 false;;
|
||||
|
|
|
|||
Loading…
Reference in New Issue