From 6d74fdb5e3983dab8556ef00b4b0d175b2442997 Mon Sep 17 00:00:00 2001 From: filifa Date: Sat, 15 Nov 2025 19:41:41 -0500 Subject: [PATCH] add coprime check --- cmd/multiplicativeOrder.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cmd/multiplicativeOrder.go b/cmd/multiplicativeOrder.go index a47a5b1..86f4d17 100644 --- a/cmd/multiplicativeOrder.go +++ b/cmd/multiplicativeOrder.go @@ -38,6 +38,11 @@ func multiplicativeOrder(cmd *cobra.Command, args []string) { cobra.CheckErr("invalid modulus " + multiplicativeOrderModulus) } + gcd := new(big.Int).GCD(nil, nil, g, m) + if gcd.Cmp(big.NewInt(1)) != 0 { + cobra.CheckErr("base " + multiplicativeOrderBase + " and modulus " + multiplicativeOrderModulus + " are not coprime") + } + k := lib.MultiplicativeOrder(g, m) fmt.Println(k) }