SharedRSA_ex.sagewsOpen in CoCalc
# Alice wishes to send Bob the following message
# x = 1976620216402300889624482718775150
x = q

# example taken from http://doctrina.org/How-RSA-Works-With-Examples.html
# Bob creates a public key
# 1) Bob chooses two large primes
p = 12131072439211271897323671531612440428472427633701410925634549312301964373042085619324197365322416866541017057361365214171711713797974299334871062829803541
q = 12027524255478748885956220793734512128733387803682075433653899983955179850988797899869146900809131611153346817050832096022160146366346391812470987105415233

n = p*q
phi_n = (p-1)*(q-1)
e = 65537
#e = p
gcd(phi_n, e)
d = inverse_mod(e, phi_n)
mod(d*e, phi_n)
print "Public key n = " + str(n)
print "Public key e = " + str(e)

y = power_mod(x, e, n)
print "ciphertext y = " + str(y)

xx = power_mod(y, d, n)
print "comparing messages"
xx
x















1 1 Public key n = 145906768007583323230186939349070635292401872375357164399581871019873438799005358938369571402670149802121818086292467422828157022922076746906543401224889672472407926969987100581290103199317858753663710862357656510507883714297115637342788911463535102712032765166518411726859837988672111837205085526346618740053 Public key e = 65537 ciphertext y = 37652449236332250983073366437294501239179299998196072820386273054348843158663168615548511560369661021118123579164554179721134448566682902184094489771851118254224012399820559958833590914243667204086740096735089081225394694444740403954736965753720512598507679356746886235751376399970792715009380994545833465188 comparing messages 12027524255478748885956220793734512128733387803682075433653899983955179850988797899869146900809131611153346817050832096022160146366346391812470987105415233 12027524255478748885956220793734512128733387803682075433653899983955179850988797899869146900809131611153346817050832096022160146366346391812470987105415233
# Alice wishes to send Bob the following message
x = 1976620216402300889624482718775150

# example taken from http://doctrina.org/How-RSA-Works-With-Examples.html
# Bob creates a public key
# 1) Bob chooses two large primes
p = 12131072439211271897323671531612440428472427633701410925634549312301964373042085619324197365322416866541017057361365214171711713797974299334871062829803541
q = 12027524255478748885956220793734512128733387803682075433653899983955179850988797899869146900809131611153346817050832096022160146366346391812470987105415233

n = p*q # public

#num_bits = log2(n)
#print "number of bits in n = " + str(num_bits)

phi_n = (p - 1)*(q - 1) # secret

# 2) Bob chooses an integer b that is relatively prime to phi(n)
b = 65537

print "Eve sees the public key"
print "n = " + str(n)
print "b = " + str(b)

if gcd(b, phi_n) == 1:
    print "Excellent choice of b!"

a = inverse_mod(b, phi_n) # private

if gcd(x, n) == 1:
    print "Alice has chosen a lovely message!"

# Alice raises her secret message x to the public key b
# and takes the result modulo the public key n
# the ciphertext y is public
y = power_mod(x, b, n)
print "ciphertext y = " + str(y)

# Bob decrypts the ciphertext y by raising y to the PRIVATE key a
x_decrypt = power_mod(y, a, n)
x
x_decrypt



Eve sees the public key n = 145906768007583323230186939349070635292401872375357164399581871019873438799005358938369571402670149802121818086292467422828157022922076746906543401224889672472407926969987100581290103199317858753663710862357656510507883714297115637342788911463535102712032765166518411726859837988672111837205085526346618740053 b = 65537 Excellent choice of b! Alice has chosen a lovely message! ciphertext y = 35052111338673026690212423937053328511880760811579981620642802346685810623109850235943049080973386241113784040794704193978215378499765413083646438784740952306932534945195080183861574225226218879827232453912820596886440377536082465681750074417459151485407445862511023472235560823053497791518928820272257787786 1976620216402300889624482718775150 1976620216402300889624482718775150
def pollard_p_1_factoring(n, B):
    a = 2
    for j in range(2, B + 1):
        a = power_mod(a, j, n)
        print "a^" + str(j) + " = " + str(a) + " mod " + str(n)
    d = gcd(a - 1, n)
    if (1 < d and d < n):
        return d
    else:
        print "FAILURE!!!!"
        return -1
#end def
#n = 15770708441; B = 173
pollard_p_1_factoring(17*23, 18)
#factor(n)
#p = 135979
#factor(p - 1)
a^2 = 4 mod 391 a^3 = 64 mod 391 a^4 = 188 mod 391 a^5 = 35 mod 391 a^6 = 239 mod 391 a^7 = 188 mod 391 a^8 = 239 mod 391 a^9 = 324 mod 391 a^10 = 35 mod 391 a^11 = 1 mod 391 a^12 = 1 mod 391 a^13 = 1 mod 391 a^14 = 1 mod 391 a^15 = 1 mod 391 a^16 = 1 mod 391 a^17 = 1 mod 391 a^18 = 1 mod 391 FAILURE!!!! -1
# DESC: extended euclidean algorithm:
#     this is a recursive implementation of the well-known algorithm for finding the gcd
#     of two integers, as well as finding b^-1 mod a
# INPUT: integers a and b
# OUTPUT: integers d, x, y such that d = ax + by
# EXAMPLE: my_extended_euclid(39, 17) = (1, 7, -16)
def my_extended_euclid(a, b):
    #print "a = " + str(a) + ", b = " + str(b)
    if b == 0:
        return (a, 1, 0);
    (dp, xp, yp) = my_extended_euclid(b, int(mod(a, b)))
    print "dp = " + str(dp) + ", xp = " + str(xp) + ", yp = " + str(yp) + ", a = " + str(a) + ", b = " + str(b)
    (d, x, y) = (dp, yp, xp - floor(a/b)*yp)
    return (d, x, y)
a = 39
b = 17
(d, x, y) = my_extended_euclid(a, b)
if d != (a*x + b*y):
    print "FAILURE!!!"
if d == 1:
    # since 1 = ax + by, the inverse of b mod a = y
    # therefore
    print str(b) + "*" + str(mod(y, a)) + " = " + str(mod(b*y, a)) + " mod " + str(a)
    
# my_extended_euclid(39, 17) = (1, 7, -16)
# in this case (-16) mod 39 = 23
# therefore 17*23 = 1 mod 39
dp = 1, xp = 1, yp = 0, a = 2, b = 1 dp = 1, xp = 0, yp = 1, a = 5, b = 2 dp = 1, xp = 1, yp = -2, a = 17, b = 5 dp = 1, xp = -2, yp = 7, a = 39, b = 17 17*23 = 1 mod 39
x = -1;
#x^5 - 2*x^3 + x
f = 11/2*(1/6*x^6 - 2/4*x^4 + 1/2*x^2);
x = 1;
g = 11/2*(1/6*x^6 - 2/4*x^4 + 1/2*x^2);
(g -f)*(30/176)

#f = 11/12*x^6 - 11/4*x^4 + 11/6*x^3; 
#x = 1;
#g = 11/12*x^6 - 11/4*x^4 + 11/6*x^3;
#g - f
#11/3*(1/(176/30))

#x = -1
#f = 11/3*(-1/7*x^7 +3/5*x^5 - x^3 + x)
#x = 1
#g = 11/3*(-1/7*x^7 +3/5*x^5 - x^3 + x)
#(g - f)*(30/176)


0

R.<x, y, z> = PolynomialRing(QQ, sparse=True); R
f = (1 - x^2)^2*x
f
Multivariate Polynomial Ring in x, y, z over Rational Field x^5 - 2*x^3 + x
p = 2^4 - 1; q = 2^3 - 1;
n = p*q
phi_n = (p-1)*(q-1)
e = 5
gcd(e, phi_n)
d = inverse_mod(e, phi_n)
print "(n, p, q, phi(n), d) = (" + str(n) + "," + str(p) + "," +  str(q) + "," +  str(factor(phi_n)) + "," + str(d)+ ")"

for x in range(2,n):
    y = mod(x^e, n)
    xx = mod(y^d, n)
    print "Cyclic subgroup <" + str(x) + ">, y = " + str(y)
    L = []
    for i in range(1, phi_n + 1):
        g = power_mod(x, i, n)
        L.append(g)
        if g == 1:
            print "|<" + str(x) + ">| = " + str(i)
            break
        elif (i > 1) and (g == x):
            print "Repeat pattern at i = " + str(i)
            break
    L

    
    L = []
    for i in range(1,d+1):
        L.append([i, power_mod(y, i, n)])
    print "Powers of ciphertext"
    L
    xx
    x
    if (x != xx):
        print "Success!!!! x = " + str(x) + ", xx = " + str(xx)
        #x
        #xx
1 (n, p, q, phi(n), d) = (105,15,7,2^2 * 3 * 7,17) Cyclic subgroup <2>, y = 32 |<2>| = 12 [2, 4, 8, 16, 32, 64, 23, 46, 92, 79, 53, 1] Powers of ciphertext [[1, 32], [2, 79], [3, 8], [4, 46], [5, 2], [6, 64], [7, 53], [8, 16], [9, 92], [10, 4], [11, 23], [12, 1], [13, 32], [14, 79], [15, 8], [16, 46], [17, 2]] 2 2 Cyclic subgroup <3>, y = 33 Repeat pattern at i = 13 [3, 9, 27, 81, 33, 99, 87, 51, 48, 39, 12, 36, 3] Powers of ciphertext [[1, 33], [2, 39], [3, 27], [4, 51], [5, 3], [6, 99], [7, 12], [8, 81], [9, 48], [10, 9], [11, 87], [12, 36], [13, 33], [14, 39], [15, 27], [16, 51], [17, 3]] 3 3 Cyclic subgroup <4>, y = 79 |<4>| = 6 [4, 16, 64, 46, 79, 1] Powers of ciphertext [[1, 79], [2, 46], [3, 64], [4, 16], [5, 4], [6, 1], [7, 79], [8, 46], [9, 64], [10, 16], [11, 4], [12, 1], [13, 79], [14, 46], [15, 64], [16, 16], [17, 4]] 4 4 Cyclic subgroup <5>, y = 80 Repeat pattern at i = 7 [5, 25, 20, 100, 80, 85, 5] Powers of ciphertext [[1, 80], [2, 100], [3, 20], [4, 25], [5, 5], [6, 85], [7, 80], [8, 100], [9, 20], [10, 25], [11, 5], [12, 85], [13, 80], [14, 100], [15, 20], [16, 25], [17, 5]] 5 5 Cyclic subgroup <6>, y = 6 Repeat pattern at i = 3 [6, 36, 6] Powers of ciphertext [[1, 6], [2, 36], [3, 6], [4, 36], [5, 6], [6, 36], [7, 6], [8, 36], [9, 6], [10, 36], [11, 6], [12, 36], [13, 6], [14, 36], [15, 6], [16, 36], [17, 6]] 6 6 Cyclic subgroup <7>, y = 7 Repeat pattern at i = 5 [7, 49, 28, 91, 7] Powers of ciphertext [[1, 7], [2, 49], [3, 28], [4, 91], [5, 7], [6, 49], [7, 28], [8, 91], [9, 7], [10, 49], [11, 28], [12, 91], [13, 7], [14, 49], [15, 28], [16, 91], [17, 7]] 7 7 Cyclic subgroup <8>, y = 8 |<8>| = 4 [8, 64, 92, 1] Powers of ciphertext [[1, 8], [2, 64], [3, 92], [4, 1], [5, 8], [6, 64], [7, 92], [8, 1], [9, 8], [10, 64], [11, 92], [12, 1], [13, 8], [14, 64], [15, 92], [16, 1], [17, 8]] 8 8 Cyclic subgroup <9>, y = 39 Repeat pattern at i = 7 [9, 81, 99, 51, 39, 36, 9] Powers of ciphertext [[1, 39], [2, 51], [3, 99], [4, 81], [5, 9], [6, 36], [7, 39], [8, 51], [9, 99], [10, 81], [11, 9], [12, 36], [13, 39], [14, 51], [15, 99], [16, 81], [17, 9]] 9 9 Cyclic subgroup <10>, y = 40 Repeat pattern at i = 7 [10, 100, 55, 25, 40, 85, 10] Powers of ciphertext [[1, 40], [2, 25], [3, 55], [4, 100], [5, 10], [6, 85], [7, 40], [8, 25], [9, 55], [10, 100], [11, 10], [12, 85], [13, 40], [14, 25], [15, 55], [16, 100], [17, 10]] 10 10 Cyclic subgroup <11>, y = 86 |<11>| = 6 [11, 16, 71, 46, 86, 1] Powers of ciphertext [[1, 86], [2, 46], [3, 71], [4, 16], [5, 11], [6, 1], [7, 86], [8, 46], [9, 71], [10, 16], [11, 11], [12, 1], [13, 86], [14, 46], [15, 71], [16, 16], [17, 11]] 11 11 Cyclic subgroup <12>, y = 87 Repeat pattern at i = 13 [12, 39, 48, 51, 87, 99, 33, 81, 27, 9, 3, 36, 12] Powers of ciphertext [[1, 87], [2, 9], [3, 48], [4, 81], [5, 12], [6, 99], [7, 3], [8, 51], [9, 27], [10, 39], [11, 33], [12, 36], [13, 87], [14, 9], [15, 48], [16, 81], [17, 12]] 12 12 Cyclic subgroup <13>, y = 13 |<13>| = 4 [13, 64, 97, 1] Powers of ciphertext [[1, 13], [2, 64], [3, 97], [4, 1], [5, 13], [6, 64], [7, 97], [8, 1], [9, 13], [10, 64], [11, 97], [12, 1], [13, 13], [14, 64], [15, 97], [16, 1], [17, 13]] 13 13 Cyclic subgroup <14>, y = 14 Repeat pattern at i = 3 [14, 91, 14] Powers of ciphertext [[1, 14], [2, 91], [3, 14], [4, 91], [5, 14], [6, 91], [7, 14], [8, 91], [9, 14], [10, 91], [11, 14], [12, 91], [13, 14], [14, 91], [15, 14], [16, 91], [17, 14]] 14 14 Cyclic subgroup <15>, y = 15 Repeat pattern at i = 2 [15, 15] Powers of ciphertext [[1, 15], [2, 15], [3, 15], [4, 15], [5, 15], [6, 15], [7, 15], [8, 15], [9, 15], [10, 15], [11, 15], [12, 15], [13, 15], [14, 15], [15, 15], [16, 15], [17, 15]] 15 15 Cyclic subgroup <16>, y = 46 |<16>| = 3 [16, 46, 1] Powers of ciphertext [[1, 46], [2, 16], [3, 1], [4, 46], [5, 16], [6, 1], [7, 46], [8, 16], [9, 1], [10, 46], [11, 16], [12, 1], [13, 46], [14, 16], [15, 1], [16, 46], [17, 16]] 16 16 Cyclic subgroup <17>, y = 47 |<17>| = 12 [17, 79, 83, 46, 47, 64, 38, 16, 62, 4, 68, 1] Powers of ciphertext [[1, 47], [2, 4], [3, 83], [4, 16], [5, 17], [6, 64], [7, 68], [8, 46], [9, 62], [10, 79], [11, 38], [12, 1], [13, 47], [14, 4], [15, 83], [16, 16], [17, 17]] 17 17 Cyclic subgroup <18>, y = 93 Repeat pattern at i = 13 [18, 9, 57, 81, 93, 99, 102, 51, 78, 39, 72, 36, 18] Powers of ciphertext [[1, 93], [2, 39], [3, 57], [4, 51], [5, 18], [6, 99], [7, 72], [8, 81], [9, 78], [10, 9], [11, 102], [12, 36], [13, 93], [14, 39], [15, 57], [16, 51], [17, 18]] 18 18 Cyclic subgroup <19>, y = 94 |<19>| = 6 [19, 46, 34, 16, 94, 1] Powers of ciphertext [[1, 94], [2, 16], [3, 34], [4, 46], [5, 19], [6, 1], [7, 94], [8, 16], [9, 34], [10, 46], [11, 19], [12, 1], [13, 94], [14, 16], [15, 34], [16, 46], [17, 19]] 19 19 Cyclic subgroup <20>, y = 20 Repeat pattern at i = 3 [20, 85, 20] Powers of ciphertext [[1, 20], [2, 85], [3, 20], [4, 85], [5, 20], [6, 85], [7, 20], [8, 85], [9, 20], [10, 85], [11, 20], [12, 85], [13, 20], [14, 85], [15, 20], [16, 85], [17, 20]] 20 20 Cyclic subgroup <21>, y = 21 Repeat pattern at i = 2 [21, 21] Powers of ciphertext [[1, 21], [2, 21], [3, 21], [4, 21], [5, 21], [6, 21], [7, 21], [8, 21], [9, 21], [10, 21], [11, 21], [12, 21], [13, 21], [14, 21], [15, 21], [16, 21], [17, 21]] 21 21 Cyclic subgroup <22>, y = 22 |<22>| = 4 [22, 64, 43, 1] Powers of ciphertext [[1, 22], [2, 64], [3, 43], [4, 1], [5, 22], [6, 64], [7, 43], [8, 1], [9, 22], [10, 64], [11, 43], [12, 1], [13, 22], [14, 64], [15, 43], [16, 1], [17, 22]] 22 22 Cyclic subgroup <23>, y = 53 |<23>| = 12 [23, 4, 92, 16, 53, 64, 2, 46, 8, 79, 32, 1] Powers of ciphertext [[1, 53], [2, 79], [3, 92], [4, 46], [5, 23], [6, 64], [7, 32], [8, 16], [9, 8], [10, 4], [11, 2], [12, 1], [13, 53], [14, 79], [15, 92], [16, 46], [17, 23]] 23 23 Cyclic subgroup <24>, y = 54 Repeat pattern at i = 7 [24, 51, 69, 81, 54, 36, 24] Powers of ciphertext [[1, 54], [2, 81], [3, 69], [4, 51], [5, 24], [6, 36], [7, 54], [8, 81], [9, 69], [10, 51], [11, 24], [12, 36], [13, 54], [14, 81], [15, 69], [16, 51], [17, 24]] 24 24 Cyclic subgroup <25>, y = 100 Repeat pattern at i = 4 [25, 100, 85, 25] Powers of ciphertext [[1, 100], [2, 25], [3, 85], [4, 100], [5, 25], [6, 85], [7, 100], [8, 25], [9, 85], [10, 100], [11, 25], [12, 85], [13, 100], [14, 25], [15, 85], [16, 100], [17, 25]] 25 25 Cyclic subgroup <26>, y = 101 |<26>| = 6 [26, 46, 41, 16, 101, 1] Powers of ciphertext [[1, 101], [2, 16], [3, 41], [4, 46], [5, 26], [6, 1], [7, 101], [8, 16], [9, 41], [10, 46], [11, 26], [12, 1], [13, 101], [14, 16], [15, 41], [16, 46], [17, 26]] 26 26 Cyclic subgroup <27>, y = 27 Repeat pattern at i = 5 [27, 99, 48, 36, 27] Powers of ciphertext [[1, 27], [2, 99], [3, 48], [4, 36], [5, 27], [6, 99], [7, 48], [8, 36], [9, 27], [10, 99], [11, 48], [12, 36], [13, 27], [14, 99], [15, 48], [16, 36], [17, 27]] 27 27 Cyclic subgroup <28>, y = 28 Repeat pattern at i = 5 [28, 49, 7, 91, 28] Powers of ciphertext [[1, 28], [2, 49], [3, 7], [4, 91], [5, 28], [6, 49], [7, 7], [8, 91], [9, 28], [10, 49], [11, 7], [12, 91], [13, 28], [14, 49], [15, 7], [16, 91], [17, 28]] 28 28 Cyclic subgroup <29>, y = 29 |<29>| = 2 [29, 1] Powers of ciphertext [[1, 29], [2, 1], [3, 29], [4, 1], [5, 29], [6, 1], [7, 29], [8, 1], [9, 29], [10, 1], [11, 29], [12, 1], [13, 29], [14, 1], [15, 29], [16, 1], [17, 29]] 29 29 Cyclic subgroup <30>, y = 60 Repeat pattern at i = 4 [30, 60, 15, 30] Powers of ciphertext [[1, 60], [2, 30], [3, 15], [4, 60], [5, 30], [6, 15], [7, 60], [8, 30], [9, 15], [10, 60], [11, 30], [12, 15], [13, 60], [14, 30], [15, 15], [16, 60], [17, 30]] 30 30 Cyclic subgroup <31>, y = 61 |<31>| = 6 [31, 16, 76, 46, 61, 1] Powers of ciphertext [[1, 61], [2, 46], [3, 76], [4, 16], [5, 31], [6, 1], [7, 61], [8, 46], [9, 76], [10, 16], [11, 31], [12, 1], [13, 61], [14, 46], [15, 76], [16, 16], [17, 31]] 31 31 Cyclic subgroup <32>, y = 2 |<32>| = 12 [32, 79, 8, 46, 2, 64, 53, 16, 92, 4, 23, 1] Powers of ciphertext [[1, 2], [2, 4], [3, 8], [4, 16], [5, 32], [6, 64], [7, 23], [8, 46], [9, 92], [10, 79], [11, 53], [12, 1], [13, 2], [14, 4], [15, 8], [16, 16], [17, 32]] 32 32 Cyclic subgroup <33>, y = 3 Repeat pattern at i = 13 [33, 39, 27, 51, 3, 99, 12, 81, 48, 9, 87, 36, 33] Powers of ciphertext [[1, 3], [2, 9], [3, 27], [4, 81], [5, 33], [6, 99], [7, 87], [8, 51], [9, 48], [10, 39], [11, 12], [12, 36], [13, 3], [14, 9], [15, 27], [16, 81], [17, 33]] 33 33 Cyclic subgroup <34>, y = 34 |<34>| = 2 [34, 1] Powers of ciphertext [[1, 34], [2, 1], [3, 34], [4, 1], [5, 34], [6, 1], [7, 34], [8, 1], [9, 34], [10, 1], [11, 34], [12, 1], [13, 34], [14, 1], [15, 34], [16, 1], [17, 34]] 34 34 Cyclic subgroup <35>, y = 35 Repeat pattern at i = 3 [35, 70, 35] Powers of ciphertext [[1, 35], [2, 70], [3, 35], [4, 70], [5, 35], [6, 70], [7, 35], [8, 70], [9, 35], [10, 70], [11, 35], [12, 70], [13, 35], [14, 70], [15, 35], [16, 70], [17, 35]] 35 35 Cyclic subgroup <36>, y = 36 Repeat pattern at i = 2 [36, 36] Powers of ciphertext [[1, 36], [2, 36], [3, 36], [4, 36], [5, 36], [6, 36], [7, 36], [8, 36], [9, 36], [10, 36], [11, 36], [12, 36], [13, 36], [14, 36], [15, 36], [16, 36], [17, 36]] 36 36 Cyclic subgroup <37>, y = 67 |<37>| = 12 [37, 4, 43, 16, 67, 64, 58, 46, 22, 79, 88, 1] Powers of ciphertext [[1, 67], [2, 79], [3, 43], [4, 46], [5, 37], [6, 64], [7, 88], [8, 16], [9, 22], [10, 4], [11, 58], [12, 1], [13, 67], [14, 79], [15, 43], [16, 46], [17, 37]] 37 37 Cyclic subgroup <38>, y = 68 |<38>| = 12 [38, 79, 62, 46, 68, 64, 17, 16, 83, 4, 47, 1] Powers of ciphertext [[1, 68], [2, 4], [3, 62], [4, 16], [5, 38], [6, 64], [7, 47], [8, 46], [9, 83], [10, 79], [11, 17], [12, 1], [13, 68], [14, 4], [15, 62], [16, 16], [17, 38]] 38 38 Cyclic subgroup <39>, y = 9 Repeat pattern at i = 7 [39, 51, 99, 81, 9, 36, 39] Powers of ciphertext [[1, 9], [2, 81], [3, 99], [4, 51], [5, 39], [6, 36], [7, 9], [8, 81], [9, 99], [10, 51], [11, 39], [12, 36], [13, 9], [14, 81], [15, 99], [16, 51], [17, 39]] 39 39 Cyclic subgroup <40>, y = 10 Repeat pattern at i = 7 [40, 25, 55, 100, 10, 85, 40] Powers of ciphertext [[1, 10], [2, 100], [3, 55], [4, 25], [5, 40], [6, 85], [7, 10], [8, 100], [9, 55], [10, 25], [11, 40], [12, 85], [13, 10], [14, 100], [15, 55], [16, 25], [17, 40]] 40 40 Cyclic subgroup <41>, y = 41 |<41>| = 2 [41, 1] Powers of ciphertext [[1, 41], [2, 1], [3, 41], [4, 1], [5, 41], [6, 1], [7, 41], [8, 1], [9, 41], [10, 1], [11, 41], [12, 1], [13, 41], [14, 1], [15, 41], [16, 1], [17, 41]] 41 41 Cyclic subgroup <42>, y = 42 Repeat pattern at i = 5 [42, 84, 63, 21, 42] Powers of ciphertext [[1, 42], [2, 84], [3, 63], [4, 21], [5, 42], [6, 84], [7, 63], [8, 21], [9, 42], [10, 84], [11, 63], [12, 21], [13, 42], [14, 84], [15, 63], [16, 21], [17, 42]] 42 42 Cyclic subgroup <43>, y = 43 |<43>| = 4 [43, 64, 22, 1] Powers of ciphertext [[1, 43], [2, 64], [3, 22], [4, 1], [5, 43], [6, 64], [7, 22], [8, 1], [9, 43], [10, 64], [11, 22], [12, 1], [13, 43], [14, 64], [15, 22], [16, 1], [17, 43]] 43 43 Cyclic subgroup <44>, y = 74 |<44>| = 6 [44, 46, 29, 16, 74, 1] Powers of ciphertext [[1, 74], [2, 16], [3, 29], [4, 46], [5, 44], [6, 1], [7, 74], [8, 16], [9, 29], [10, 46], [11, 44], [12, 1], [13, 74], [14, 16], [15, 29], [16, 46], [17, 44]] 44 44 Cyclic subgroup <45>, y = 75 Repeat pattern at i = 7 [45, 30, 90, 60, 75, 15, 45] Powers of ciphertext [[1, 75], [2, 60], [3, 90], [4, 30], [5, 45], [6, 15], [7, 75], [8, 60], [9, 90], [10, 30], [11, 45], [12, 15], [13, 75], [14, 60], [15, 90], [16, 30], [17, 45]] 45 45 Cyclic subgroup <46>, y = 16 |<46>| = 3 [46, 16, 1] Powers of ciphertext [[1, 16], [2, 46], [3, 1], [4, 16], [5, 46], [6, 1], [7, 16], [8, 46], [9, 1], [10, 16], [11, 46], [12, 1], [13, 16], [14, 46], [15, 1], [16, 16], [17, 46]] 46 46 Cyclic subgroup <47>, y = 17 |<47>| = 12 [47, 4, 83, 16, 17, 64, 68, 46, 62, 79, 38, 1] Powers of ciphertext [[1, 17], [2, 79], [3, 83], [4, 46], [5, 47], [6, 64], [7, 38], [8, 16], [9, 62], [10, 4], [11, 68], [12, 1], [13, 17], [14, 79], [15, 83], [16, 46], [17, 47]] 47 47 Cyclic subgroup <48>, y = 48 Repeat pattern at i = 5 [48, 99, 27, 36, 48] Powers of ciphertext [[1, 48], [2, 99], [3, 27], [4, 36], [5, 48], [6, 99], [7, 27], [8, 36], [9, 48], [10, 99], [11, 27], [12, 36], [13, 48], [14, 99], [15, 27], [16, 36], [17, 48]] 48 48 Cyclic subgroup <49>, y = 49 Repeat pattern at i = 3 [49, 91, 49] Powers of ciphertext [[1, 49], [2, 91], [3, 49], [4, 91], [5, 49], [6, 91], [7, 49], [8, 91], [9, 49], [10, 91], [11, 49], [12, 91], [13, 49], [14, 91], [15, 49], [16, 91], [17, 49]] 49 49 Cyclic subgroup <50>, y = 50 Repeat pattern at i = 3 [50, 85, 50] Powers of ciphertext [[1, 50], [2, 85], [3, 50], [4, 85], [5, 50], [6, 85], [7, 50], [8, 85], [9, 50], [10, 85], [11, 50], [12, 85], [13, 50], [14, 85], [15, 50], [16, 85], [17, 50]] 50 50 Cyclic subgroup <51>, y = 81 Repeat pattern at i = 4 [51, 81, 36, 51] Powers of ciphertext [[1, 81], [2, 51], [3, 36], [4, 81], [5, 51], [6, 36], [7, 81], [8, 51], [9, 36], [10, 81], [11, 51], [12, 36], [13, 81], [14, 51], [15, 36], [16, 81], [17, 51]] 51 51 Cyclic subgroup <52>, y = 82 |<52>| = 12 [52, 79, 13, 46, 82, 64, 73, 16, 97, 4, 103, 1] Powers of ciphertext [[1, 82], [2, 4], [3, 13], [4, 16], [5, 52], [6, 64], [7, 103], [8, 46], [9, 97], [10, 79], [11, 73], [12, 1], [13, 82], [14, 4], [15, 13], [16, 16], [17, 52]] 52 52 Cyclic subgroup <53>, y = 23 |<53>| = 12 [53, 79, 92, 46, 23, 64, 32, 16, 8, 4, 2, 1] Powers of ciphertext [[1, 23], [2, 4], [3, 92], [4, 16], [5, 53], [6, 64], [7, 2], [8, 46], [9, 8], [10, 79], [11, 32], [12, 1], [13, 23], [14, 4], [15, 92], [16, 16], [17, 53]] 53 53 Cyclic subgroup <54>, y = 24 Repeat pattern at i = 7 [54, 81, 69, 51, 24, 36, 54] Powers of ciphertext [[1, 24], [2, 51], [3, 69], [4, 81], [5, 54], [6, 36], [7, 24], [8, 51], [9, 69], [10, 81], [11, 54], [12, 36], [13, 24], [14, 51], [15, 69], [16, 81], [17, 54]] 54 54 Cyclic subgroup <55>, y = 55 Repeat pattern at i = 3 [55, 85, 55] Powers of ciphertext [[1, 55], [2, 85], [3, 55], [4, 85], [5, 55], [6, 85], [7, 55], [8, 85], [9, 55], [10, 85], [11, 55], [12, 85], [13, 55], [14, 85], [15, 55], [16, 85], [17, 55]] 55 55 Cyclic subgroup <56>, y = 56 Repeat pattern at i = 3 [56, 91, 56] Powers of ciphertext [[1, 56], [2, 91], [3, 56], [4, 91], [5, 56], [6, 91], [7, 56], [8, 91], [9, 56], [10, 91], [11, 56], [12, 91], [13, 56], [14, 91], [15, 56], [16, 91], [17, 56]] 56 56 Cyclic subgroup <57>, y = 57 Repeat pattern at i = 5 [57, 99, 78, 36, 57] Powers of ciphertext [[1, 57], [2, 99], [3, 78], [4, 36], [5, 57], [6, 99], [7, 78], [8, 36], [9, 57], [10, 99], [11, 78], [12, 36], [13, 57], [14, 99], [15, 78], [16, 36], [17, 57]] 57 57 Cyclic subgroup <58>, y = 88 |<58>| = 12 [58, 4, 22, 16, 88, 64, 37, 46, 43, 79, 67, 1] Powers of ciphertext [[1, 88], [2, 79], [3, 22], [4, 46], [5, 58], [6, 64], [7, 67], [8, 16], [9, 43], [10, 4], [11, 37], [12, 1], [13, 88], [14, 79], [15, 22], [16, 46], [17, 58]] 58 58 Cyclic subgroup <59>, y = 89 |<59>| = 6 [59, 16, 104, 46, 89, 1] Powers of ciphertext [[1, 89], [2, 46], [3, 104], [4, 16], [5, 59], [6, 1], [7, 89], [8, 46], [9, 104], [10, 16], [11, 59], [12, 1], [13, 89], [14, 46], [15, 104], [16, 16], [17, 59]] 59 59 Cyclic subgroup <60>, y = 30 Repeat pattern at i = 4 [60, 30, 15, 60] Powers of ciphertext [[1, 30], [2, 60], [3, 15], [4, 30], [5, 60], [6, 15], [7, 30], [8, 60], [9, 15], [10, 30], [11, 60], [12, 15], [13, 30], [14, 60], [15, 15], [16, 30], [17, 60]] 60 60 Cyclic subgroup <61>, y = 31 |<61>| = 6 [61, 46, 76, 16, 31, 1] Powers of ciphertext [[1, 31], [2, 16], [3, 76], [4, 46], [5, 61], [6, 1], [7, 31], [8, 16], [9, 76], [10, 46], [11, 61], [12, 1], [13, 31], [14, 16], [15, 76], [16, 46], [17, 61]] 61 61 Cyclic subgroup <62>, y = 62 |<62>| = 4 [62, 64, 83, 1] Powers of ciphertext [[1, 62], [2, 64], [3, 83], [4, 1], [5, 62], [6, 64], [7, 83], [8, 1], [9, 62], [10, 64], [11, 83], [12, 1], [13, 62], [14, 64], [15, 83], [16, 1], [17, 62]] 62 62 Cyclic subgroup <63>, y = 63 Repeat pattern at i = 5 [63, 84, 42, 21, 63] Powers of ciphertext [[1, 63], [2, 84], [3, 42], [4, 21], [5, 63], [6, 84], [7, 42], [8, 21], [9, 63], [10, 84], [11, 42], [12, 21], [13, 63], [14, 84], [15, 42], [16, 21], [17, 63]] 63 63 Cyclic subgroup <64>, y = 64 |<64>| = 2 [64, 1] Powers of ciphertext [[1, 64], [2, 1], [3, 64], [4, 1], [5, 64], [6, 1], [7, 64], [8, 1], [9, 64], [10, 1], [11, 64], [12, 1], [13, 64], [14, 1], [15, 64], [16, 1], [17, 64]] 64 64 Cyclic subgroup <65>, y = 95 Repeat pattern at i = 7 [65, 25, 50, 100, 95, 85, 65] Powers of ciphertext [[1, 95], [2, 100], [3, 50], [4, 25], [5, 65], [6, 85], [7, 95], [8, 100], [9, 50], [10, 25], [11, 65], [12, 85], [13, 95], [14, 100], [15, 50], [16, 25], [17, 65]] 65 65 Cyclic subgroup <66>, y = 96 Repeat pattern at i = 7 [66, 51, 6, 81, 96, 36, 66] Powers of ciphertext [[1, 96], [2, 81], [3, 6], [4, 51], [5, 66], [6, 36], [7, 96], [8, 81], [9, 6], [10, 51], [11, 66], [12, 36], [13, 96], [14, 81], [15, 6], [16, 51], [17, 66]] 66 66 Cyclic subgroup <67>, y = 37 |<67>| = 12 [67, 79, 43, 46, 37, 64, 88, 16, 22, 4, 58, 1] Powers of ciphertext [[1, 37], [2, 4], [3, 43], [4, 16], [5, 67], [6, 64], [7, 58], [8, 46], [9, 22], [10, 79], [11, 88], [12, 1], [13, 37], [14, 4], [15, 43], [16, 16], [17, 67]] 67 67 Cyclic subgroup <68>, y = 38 |<68>| = 12 [68, 4, 62, 16, 38, 64, 47, 46, 83, 79, 17, 1] Powers of ciphertext [[1, 38], [2, 79], [3, 62], [4, 46], [5, 68], [6, 64], [7, 17], [8, 16], [9, 83], [10, 4], [11, 47], [12, 1], [13, 38], [14, 79], [15, 62], [16, 46], [17, 68]] 68 68 Cyclic subgroup <69>, y = 69 Repeat pattern at i = 3 [69, 36, 69] Powers of ciphertext [[1, 69], [2, 36], [3, 69], [4, 36], [5, 69], [6, 36], [7, 69], [8, 36], [9, 69], [10, 36], [11, 69], [12, 36], [13, 69], [14, 36], [15, 69], [16, 36], [17, 69]] 69 69 Cyclic subgroup <70>, y = 70 Repeat pattern at i = 2 [70, 70] Powers of ciphertext [[1, 70], [2, 70], [3, 70], [4, 70], [5, 70], [6, 70], [7, 70], [8, 70], [9, 70], [10, 70], [11, 70], [12, 70], [13, 70], [14, 70], [15, 70], [16, 70], [17, 70]] 70 70 Cyclic subgroup <71>, y = 71 |<71>| = 2 [71, 1] Powers of ciphertext [[1, 71], [2, 1], [3, 71], [4, 1], [5, 71], [6, 1], [7, 71], [8, 1], [9, 71], [10, 1], [11, 71], [12, 1], [13, 71], [14, 1], [15, 71], [16, 1], [17, 71]] 71 71 Cyclic subgroup <72>, y = 102 Repeat pattern at i = 13 [72, 39, 78, 51, 102, 99, 93, 81, 57, 9, 18, 36, 72] Powers of ciphertext [[1, 102], [2, 9], [3, 78], [4, 81], [5, 72], [6, 99], [7, 18], [8, 51], [9, 57], [10, 39], [11, 93], [12, 36], [13, 102], [14, 9], [15, 78], [16, 81], [17, 72]] 72 72 Cyclic subgroup <73>, y = 103 |<73>| = 12 [73, 79, 97, 46, 103, 64, 52, 16, 13, 4, 82, 1] Powers of ciphertext [[1, 103], [2, 4], [3, 97], [4, 16], [5, 73], [6, 64], [7, 82], [8, 46], [9, 13], [10, 79], [11, 52], [12, 1], [13, 103], [14, 4], [15, 97], [16, 16], [17, 73]] 73 73 Cyclic subgroup <74>, y = 44 |<74>| = 6 [74, 16, 29, 46, 44, 1] Powers of ciphertext [[1, 44], [2, 46], [3, 29], [4, 16], [5, 74], [6, 1], [7, 44], [8, 46], [9, 29], [10, 16], [11, 74], [12, 1], [13, 44], [14, 46], [15, 29], [16, 16], [17, 74]] 74 74 Cyclic subgroup <75>, y = 45 Repeat pattern at i = 7 [75, 60, 90, 30, 45, 15, 75] Powers of ciphertext [[1, 45], [2, 30], [3, 90], [4, 60], [5, 75], [6, 15], [7, 45], [8, 30], [9, 90], [10, 60], [11, 75], [12, 15], [13, 45], [14, 30], [15, 90], [16, 60], [17, 75]] 75 75 Cyclic subgroup <76>, y = 76 |<76>| = 2 [76, 1] Powers of ciphertext [[1, 76], [2, 1], [3, 76], [4, 1], [5, 76], [6, 1], [7, 76], [8, 1], [9, 76], [10, 1], [11, 76], [12, 1], [13, 76], [14, 1], [15, 76], [16, 1], [17, 76]] 76 76 Cyclic subgroup <77>, y = 77 Repeat pattern at i = 5 [77, 49, 98, 91, 77] Powers of ciphertext [[1, 77], [2, 49], [3, 98], [4, 91], [5, 77], [6, 49], [7, 98], [8, 91], [9, 77], [10, 49], [11, 98], [12, 91], [13, 77], [14, 49], [15, 98], [16, 91], [17, 77]] 77 77 Cyclic subgroup <78>, y = 78 Repeat pattern at i = 5 [78, 99, 57, 36, 78] Powers of ciphertext [[1, 78], [2, 99], [3, 57], [4, 36], [5, 78], [6, 99], [7, 57], [8, 36], [9, 78], [10, 99], [11, 57], [12, 36], [13, 78], [14, 99], [15, 57], [16, 36], [17, 78]] 78 78 Cyclic subgroup <79>, y = 4 |<79>| = 6 [79, 46, 64, 16, 4, 1] Powers of ciphertext [[1, 4], [2, 16], [3, 64], [4, 46], [5, 79], [6, 1], [7, 4], [8, 16], [9, 64], [10, 46], [11, 79], [12, 1], [13, 4], [14, 16], [15, 64], [16, 46], [17, 79]] 79 79 Cyclic subgroup <80>, y = 5 Repeat pattern at i = 7 [80, 100, 20, 25, 5, 85, 80] Powers of ciphertext [[1, 5], [2, 25], [3, 20], [4, 100], [5, 80], [6, 85], [7, 5], [8, 25], [9, 20], [10, 100], [11, 80], [12, 85], [13, 5], [14, 25], [15, 20], [16, 100], [17, 80]] 80 80 Cyclic subgroup <81>, y = 51 Repeat pattern at i = 4 [81, 51, 36, 81] Powers of ciphertext [[1, 51], [2, 81], [3, 36], [4, 51], [5, 81], [6, 36], [7, 51], [8, 81], [9, 36], [10, 51], [11, 81], [12, 36], [13, 51], [14, 81], [15, 36], [16, 51], [17, 81]] 81 81 Cyclic subgroup <82>, y = 52 |<82>| = 12 [82, 4, 13, 16, 52, 64, 103, 46, 97, 79, 73, 1] Powers of ciphertext [[1, 52], [2, 79], [3, 13], [4, 46], [5, 82], [6, 64], [7, 73], [8, 16], [9, 97], [10, 4], [11, 103], [12, 1], [13, 52], [14, 79], [15, 13], [16, 46], [17, 82]] 82 82 Cyclic subgroup <83>, y = 83 |<83>| = 4 [83, 64, 62, 1] Powers of ciphertext [[1, 83], [2, 64], [3, 62], [4, 1], [5, 83], [6, 64], [7, 62], [8, 1], [9, 83], [10, 64], [11, 62], [12, 1], [13, 83], [14, 64], [15, 62], [16, 1], [17, 83]] 83 83 Cyclic subgroup <84>, y = 84 Repeat pattern at i = 3 [84, 21, 84] Powers of ciphertext [[1, 84], [2, 21], [3, 84], [4, 21], [5, 84], [6, 21], [7, 84], [8, 21], [9, 84], [10, 21], [11, 84], [12, 21], [13, 84], [14, 21], [15, 84], [16, 21], [17, 84]] 84 84 Cyclic subgroup <85>, y = 85 Repeat pattern at i = 2 [85, 85] Powers of ciphertext [[1, 85], [2, 85], [3, 85], [4, 85], [5, 85], [6, 85], [7, 85], [8, 85], [9, 85], [10, 85], [11, 85], [12, 85], [13, 85], [14, 85], [15, 85], [16, 85], [17, 85]] 85 85 Cyclic subgroup <86>, y = 11 |<86>| = 6 [86, 46, 71, 16, 11, 1] Powers of ciphertext [[1, 11], [2, 16], [3, 71], [4, 46], [5, 86], [6, 1], [7, 11], [8, 16], [9, 71], [10, 46], [11, 86], [12, 1], [13, 11], [14, 16], [15, 71], [16, 46], [17, 86]] 86 86 Cyclic subgroup <87>, y = 12 Repeat pattern at i = 13 [87, 9, 48, 81, 12, 99, 3, 51, 27, 39, 33, 36, 87] Powers of ciphertext [[1, 12], [2, 39], [3, 48], [4, 51], [5, 87], [6, 99], [7, 33], [8, 81], [9, 27], [10, 9], [11, 3], [12, 36], [13, 12], [14, 39], [15, 48], [16, 51], [17, 87]] 87 87 Cyclic subgroup <88>, y = 58 |<88>| = 12 [88, 79, 22, 46, 58, 64, 67, 16, 43, 4, 37, 1] Powers of ciphertext [[1, 58], [2, 4], [3, 22], [4, 16], [5, 88], [6, 64], [7, 37], [8, 46], [9, 43], [10, 79], [11, 67], [12, 1], [13, 58], [14, 4], [15, 22], [16, 16], [17, 88]] 88 88 Cyclic subgroup <89>, y = 59 |<89>| = 6 [89, 46, 104, 16, 59, 1] Powers of ciphertext [[1, 59], [2, 16], [3, 104], [4, 46], [5, 89], [6, 1], [7, 59], [8, 16], [9, 104], [10, 46], [11, 89], [12, 1], [13, 59], [14, 16], [15, 104], [16, 46], [17, 89]] 89 89 Cyclic subgroup <90>, y = 90 Repeat pattern at i = 3 [90, 15, 90] Powers of ciphertext [[1, 90], [2, 15], [3, 90], [4, 15], [5, 90], [6, 15], [7, 90], [8, 15], [9, 90], [10, 15], [11, 90], [12, 15], [13, 90], [14, 15], [15, 90], [16, 15], [17, 90]] 90 90 Cyclic subgroup <91>, y = 91 Repeat pattern at i = 2 [91, 91] Powers of ciphertext [[1, 91], [2, 91], [3, 91], [4, 91], [5, 91], [6, 91], [7, 91], [8, 91], [9, 91], [10, 91], [11, 91], [12, 91], [13, 91], [14, 91], [15, 91], [16, 91], [17, 91]] 91 91 Cyclic subgroup <92>, y = 92 |<92>| = 4 [92, 64, 8, 1] Powers of ciphertext [[1, 92], [2, 64], [3, 8], [4, 1], [5, 92], [6, 64], [7, 8], [8, 1], [9, 92], [10, 64], [11, 8], [12, 1], [13, 92], [14, 64], [15, 8], [16, 1], [17, 92]] 92 92 Cyclic subgroup <93>, y = 18 Repeat pattern at i = 13 [93, 39, 57, 51, 18, 99, 72, 81, 78, 9, 102, 36, 93] Powers of ciphertext [[1, 18], [2, 9], [3, 57], [4, 81], [5, 93], [6, 99], [7, 102], [8, 51], [9, 78], [10, 39], [11, 72], [12, 36], [13, 18], [14, 9], [15, 57], [16, 81], [17, 93]] 93 93 Cyclic subgroup <94>, y = 19 |<94>| = 6 [94, 16, 34, 46, 19, 1] Powers of ciphertext [[1, 19], [2, 46], [3, 34], [4, 16], [5, 94], [6, 1], [7, 19], [8, 46], [9, 34], [10, 16], [11, 94], [12, 1], [13, 19], [14, 46], [15, 34], [16, 16], [17, 94]] 94 94 Cyclic subgroup <95>, y = 65 Repeat pattern at i = 7 [95, 100, 50, 25, 65, 85, 95] Powers of ciphertext [[1, 65], [2, 25], [3, 50], [4, 100], [5, 95], [6, 85], [7, 65], [8, 25], [9, 50], [10, 100], [11, 95], [12, 85], [13, 65], [14, 25], [15, 50], [16, 100], [17, 95]] 95 95 Cyclic subgroup <96>, y = 66 Repeat pattern at i = 7 [96, 81, 6, 51, 66, 36, 96] Powers of ciphertext [[1, 66], [2, 51], [3, 6], [4, 81], [5, 96], [6, 36], [7, 66], [8, 51], [9, 6], [10, 81], [11, 96], [12, 36], [13, 66], [14, 51], [15, 6], [16, 81], [17, 96]] 96 96 Cyclic subgroup <97>, y = 97 |<97>| = 4 [97, 64, 13, 1] Powers of ciphertext [[1, 97], [2, 64], [3, 13], [4, 1], [5, 97], [6, 64], [7, 13], [8, 1], [9, 97], [10, 64], [11, 13], [12, 1], [13, 97], [14, 64], [15, 13], [16, 1], [17, 97]] 97 97 Cyclic subgroup <98>, y = 98 Repeat pattern at i = 5 [98, 49, 77, 91, 98] Powers of ciphertext [[1, 98], [2, 49], [3, 77], [4, 91], [5, 98], [6, 49], [7, 77], [8, 91], [9, 98], [10, 49], [11, 77], [12, 91], [13, 98], [14, 49], [15, 77], [16, 91], [17, 98]] 98 98 Cyclic subgroup <99>, y = 99 Repeat pattern at i = 3 [99, 36, 99] Powers of ciphertext [[1, 99], [2, 36], [3, 99], [4, 36], [5, 99], [6, 36], [7, 99], [8, 36], [9, 99], [10, 36], [11, 99], [12, 36], [13, 99], [14, 36], [15, 99], [16, 36], [17, 99]] 99 99 Cyclic subgroup <100>, y = 25 Repeat pattern at i = 4 [100, 25, 85, 100] Powers of ciphertext [[1, 25], [2, 100], [3, 85], [4, 25], [5, 100], [6, 85], [7, 25], [8, 100], [9, 85], [10, 25], [11, 100], [12, 85], [13, 25], [14, 100], [15, 85], [16, 25], [17, 100]] 100 100 Cyclic subgroup <101>, y = 26 |<101>| = 6 [101, 16, 41, 46, 26, 1] Powers of ciphertext [[1, 26], [2, 46], [3, 41], [4, 16], [5, 101], [6, 1], [7, 26], [8, 46], [9, 41], [10, 16], [11, 101], [12, 1], [13, 26], [14, 46], [15, 41], [16, 16], [17, 101]] 101 101 Cyclic subgroup <102>, y = 72 Repeat pattern at i = 13 [102, 9, 78, 81, 72, 99, 18, 51, 57, 39, 93, 36, 102] Powers of ciphertext [[1, 72], [2, 39], [3, 78], [4, 51], [5, 102], [6, 99], [7, 93], [8, 81], [9, 57], [10, 9], [11, 18], [12, 36], [13, 72], [14, 39], [15, 78], [16, 51], [17, 102]] 102 102 Cyclic subgroup <103>, y = 73 |<103>| = 12 [103, 4, 97, 16, 73, 64, 82, 46, 13, 79, 52, 1] Powers of ciphertext [[1, 73], [2, 79], [3, 97], [4, 46], [5, 103], [6, 64], [7, 52], [8, 16], [9, 13], [10, 4], [11, 82], [12, 1], [13, 73], [14, 79], [15, 97], [16, 46], [17, 103]] 103 103 Cyclic subgroup <104>, y = 104 |<104>| = 2 [104, 1] Powers of ciphertext [[1, 104], [2, 1], [3, 104], [4, 1], [5, 104], [6, 1], [7, 104], [8, 1], [9, 104], [10, 1], [11, 104], [12, 1], [13, 104], [14, 1], [15, 104], [16, 1], [17, 104]] 104 104




n = 17*37
n
phi_n = 16*36
inverse_mod(17, phi_n)
power_mod(461, 17, n)
629 305 87