Skip to content

Instantly share code, notes, and snippets.

@xmunoz
Created February 21, 2017 17:30
Show Gist options
  • Save xmunoz/409b15708c3b7d95d6bd7c9ad24383d5 to your computer and use it in GitHub Desktop.
Save xmunoz/409b15708c3b7d95d6bd7c9ad24383d5 to your computer and use it in GitHub Desktop.
rsa tool
import math
import gmpy2
p=gmpy2.mpz(0xa6055ec186de51800ddd6fcbf0192384ff42d707a55f57af4fcfb0d1dc7bd97055e8275cd4b78ec63c5d592f567c66393a061324aa2e6a8d8fc2a910cbee1ed9) q=gmpy2.mpz(0xfa0f9463ea0a93b929c099320d31c277e0b0dbc65b189ed76124f5a1218f5d91fd0102a4c8de11f28be5e4d0ae91ab319f4537e97ed74bc663e972a4a9119307)
e=gmpy2.mpz(0x6d1fdab4ce3217b3fc32c9ed480a31d067fd57d93a9ab52b472dc393ab7852fbcb11abbebfd6aaae8032db1316dc22d3f7c3d631e24df13ef23d3b381a1c3e04abcc745d402ee3a031ac2718fae63b240837b4f657f29ca4702da9af22a3a019d68904a969ddb01bcf941df70af042f4fae5cbeb9c2151b324f387e525094c41)
c=gmpy2.mpz(0x7fe1a4f743675d1987d25d38111fae0f78bbea6852cba5beda47db76d119a3efe24cb04b9449f53becd43b0b46e269826a983f832abb53b7a7e24a43ad15378344ed5c20f51e268186d24c76050c1e73647523bd5f91d9b6ad3e86bbf9126588b1dee21e6997372e36c3e74284734748891829665086e0dc523ed23c386bb520)
print('c', c.digits())
N = gmpy2.mul(p, q)
print("N", N.digits())
phi = gmpy2.mul(p-1, q-1)
print('e', e.digits())
d = gmpy2.invert(e, phi)
print('d', d.digits())
decoded = gmpy2.powmod(c, d, N)
print("decoded", hex(decoded)[2:].decode("hex"))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment