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) }