Przeglądaj źródła

Implement `modInv`

DricomDragon 5 lat temu
rodzic
commit
0bb9f4fb7f
1 zmienionych plików z 3 dodań i 0 usunięć
  1. 3 0
      tp/rsa/main.hs

+ 3 - 0
tp/rsa/main.hs

@@ -67,3 +67,6 @@ choosePrime b = head $ dropWhile (<= b) primeinf
 euclide::Int -> Int -> (Int, Int, Int)
 euclide a 0 = (a, 1, 0)
 euclide a b = let (d', u', v') = euclide b (mod a b) in (d', v', u' - (div a b) * v')
+
+modInv e n = let (_, d, _) = euclide e n in d
+