Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
19 views
p=0 while p not in Primes(): p = ZZ.random_element(2^63.5,2^64)
p
17470897568529551327
q=0 while q not in Primes(): q = ZZ.random_element(2^63.5,2^64)
q
13356801913357316377
n = p*q
x = Integers(n)(2)
x
2
r = x.multiplicative_order()
(p-1)*(q-1)
233355318071405197552802677566712314576
Q = 256
c1 = ZZ.random_element(r)
c2 = ZZ.random_element(r)
z = ((c1 * 2^Q + c2)/r).floor()
z
109633843983291083813152483634717350599081694001412855085417079724843829170293
(z/2^Q).n(300)
0.946816355982628730763684647111787734764633457420439669841036375185278047529312514068972428
(c1/r).n(300)
0.946816355982628730763684647111787734764633457420439669841036375185278047529311199123446198
z/2^Q
109633843983291083813152483634717350599081694001412855085417079724843829170293/115792089237316195423570985008687907853269984665640564039457584007913129639936
c1/r
2045783628754954989707966328960041551/2160697389550048125488913681173262172
continued_fraction(z/2^Q)
[0; 1, 17, 1, 4, 14, 4, 2, 9, 1, 6, 1, 2, 2, 5, 1, 4, 1, 1, 2, 73, 1, 18, 1, 78, 1, 17, 1, 2, 9, 2, 35, 2, 2, 2, 5, 3, 6, 4, 1, 2, 3, 6, 1, 2, 3, 5, 2, 3, 2, 1, 1, 2, 1, 43, 2, 3, 1, 1, 6, 22, 1, 1, 2, 4, 1, 6, 1, 4, 162893, 1, 1, 15, 1, 1, 13, 1, 33, 1, 7, 2, 7, 8, 1, 7, 1, 1, 1, 5, 2, 1, 22, 4, 1, 17, 1, 1, 1, 7, 6, 11, 1, 1, 1, 1, 2, 1, 1, 4, 1, 1, 1, 4, 3, 3, 1, 1, 5, 1, 4, 2, 1, 1, 1, 9, 1, 12, 1, 1, 1, 2, 3, 4, 2, 3, 1, 2, 3, 9, 1, 4, 12, 3, 1, 5, 1, 3, 1, 2]
continued_fraction([0, 1, 17, 1, 4, 14, 4, 2, 9, 1, 6, 1, 2, 2, 5, 1, 4, 1, 1, 2, 73, 1, 18, 1, 78, 1, 17, 1, 2, 9, 2, 35, 2, 2, 2, 5, 3, 6, 4, 1, 2, 3, 6, 1, 2, 3, 5, 2, 3, 2, 1, 1, 2, 1, 43, 2, 3, 1, 1, 6, 22, 1, 1, 2, 4, 1, 6, 1, 4]).value()
2045783628754954989707966328960041551/2160697389550048125488913681173262172
r
6482092168650144376466741043519786516
(n/2160697389550048125488913681173262172).n(300)
108.000000000000000014267476617031756377220658003658348967400529983786098317627394798306896
2160697389550048125488913681173262172*108
233355318071405197552802677566712314576
(p-1)*(q-1)
233355318071405197552802677566712314576
n
233355318071405197583630377048599182279