Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,68 @@
|
|||
# from @lib/rsa.l
|
||||
(de **Mod (X Y N)
|
||||
(let M 1
|
||||
(loop
|
||||
(when (bit? 1 Y)
|
||||
(setq M (% (* M X) N)) )
|
||||
(T (=0 (setq Y (>> 1 Y)))
|
||||
M )
|
||||
(setq X (% (* X X) N)) ) ) )
|
||||
(de legendre (N P)
|
||||
(**Mod N (/ (dec P) 2) P) )
|
||||
(de ts (N P)
|
||||
(and
|
||||
(=1 (legendre N P))
|
||||
(let
|
||||
(Q (dec P)
|
||||
S 0
|
||||
Z 0
|
||||
C 0
|
||||
R 0
|
||||
D 0
|
||||
M 0
|
||||
B 0
|
||||
I 0 )
|
||||
(until (bit? 1 Q)
|
||||
(setq Q (>> 1 Q))
|
||||
(inc 'S) )
|
||||
(if (=1 S)
|
||||
(list
|
||||
(setq @@ (**Mod N (/ (inc P) 4) P))
|
||||
(- P @@) )
|
||||
(setq Z 2)
|
||||
(until (= (legendre Z P) (dec P))
|
||||
(inc 'Z) )
|
||||
(setq
|
||||
C (**Mod Z Q P)
|
||||
R (**Mod N (/ (inc Q) 2) P)
|
||||
D (**Mod N Q P)
|
||||
M S )
|
||||
(until (=1 D)
|
||||
(zero I)
|
||||
(for
|
||||
(Z
|
||||
D
|
||||
(and (<> Z 1) (< I (dec M)))
|
||||
(setq Z (% (* Z Z) P)) )
|
||||
(inc 'I) )
|
||||
(setq B C)
|
||||
(for
|
||||
(Z
|
||||
(- M I 1)
|
||||
(> Z 0) (dec Z) )
|
||||
(setq B (% (* B B) P)) )
|
||||
(setq
|
||||
R (% (* R B) P)
|
||||
C (% (* B B) P)
|
||||
D (% (* D C) P)
|
||||
M I ) )
|
||||
(list R (- P R)) ) ) ) )
|
||||
|
||||
(println (ts 10 13))
|
||||
(println (ts 56 101))
|
||||
(println (ts 1030 10009))
|
||||
(println (ts 1032 10009))
|
||||
(println (ts 44402 100049))
|
||||
(println (ts 665820697 1000000009))
|
||||
(println (ts 881398088036 1000000000039))
|
||||
(println (ts 41660815127637347468140745042827704103445750172002 (+ (** 10 50) 577)))
|
||||
Loading…
Add table
Add a link
Reference in a new issue