[QCTF2018]Xman-RSA
附件:
ciphertext:
1240198b148089290e375b999569f0d53c32d356b2e95f5acee070f016b3bef243d0b5e46d9ad7aa7dfe2f21bda920d0ac7ce7b1e48f22b2de410c6f391ce7c4347c65ffc9704ecb3068005e9f35cbbb7b27e0f7a18f4f42ae572d77aaa3ee189418d6a07bab7d93beaa365c98349d8599eb68d21313795f380f05f5b3dfdc6272635ede1f83d308c0fdb2baf444b9ee138132d0d532c3c7e60efb25b9bf9cb62dba9833aa3706344229bd6045f0877661a073b6deef2763452d0ad7ab3404ba494b93fd6dfdf4c28e4fe83a72884a99ddf15ca030ace978f2da87b79b4f504f1d15b5b96c654f6cd5179b72ed5f84d3a16a8f0d5bf6774e7fd98d27bf3c9839
129d5d4ab3f9e8017d4e6761702467bbeb1b884b6c4f8ff397d078a8c41186a3d52977fa2307d5b6a0ad01fedfc3ba7b70f776ba3790a43444fb954e5afd64b1a3abeb6507cf70a5eb44678a886adf81cb4848a35afb4db7cd7818f566c7e6e2911f5ababdbdd2d4ff9825827e58d48d5466e021a64599b3e867840c07e29582961f81643df07f678a61a9f9027ebd34094e272dfbdc4619fa0ac60f0189af785df77e7ec784e086cf692a7bf7113a7fb8446a65efa8b431c6f72c14bcfa49c9b491fb1d87f2570059e0f13166a85bb555b40549f45f04bc5dbd09d8b858a5382be6497d88197ffb86381085756365bd757ec3cdfa8a77ba1728ec2de596c5ab
encryption.encrypted:
gqhb jbkl2 pbkhqw pt_kqpbd
gqhb ht pbkhqw zqreahb
pbkhqw urtd64
adg ulwdt_wh_ezb(u):
qdwzqe pew(u.dexhad('mdi'), 16)
adg ezb_wh_ulwdt(e):
u = mdi(e)[2:-1]
u = '0' + u pg yde(u)%2 == 1 dytd u
qdwzqe u.adxhad('mdi')
adg jdw_r_kqpbd(y):
qreahb_tdda = zqreahb(y)
ezb = ulwdt_wh_ezb(qreahb_tdda)
fmpyd Tqzd:
pg pt_kqpbd(ezb):
uqdrv
ezb+=1
qdwzqe ezb
adg dexqlkw(t, d, e):
k = ulwdt_wh_ezb(t)
k = khf(k, d, e)
qdwzqe ezb_wh_ulwdt(k).dexhad('mdi')
adg tdkrqrwd(e):
k = e % 4
w = (k*k) % 4
qdwzqe w == 1
g = hkde('gyrj.wiw', 'q')
gyrj = g.qdra()
btj1 = ""
btj2 = ""
ghq p pe qrejd(yde(gyrj)):
pg tdkrqrwd(p):
btj2 += gyrj[p]
dytd:
btj1 += gyrj[p]
k1 = jdw_r_kqpbd(128)
k2 = jdw_r_kqpbd(128)
k3 = jdw_r_kqpbd(128)
e1 = k1*k2
e2 = k1*k3
d = 0i1001
x1 = dexqlkw(btj1, d, e1)
x2 = dexqlkw(btj2, d, e2)
kqpew(x1)
kqpew(x2)
d1 = 0i1001
d2 = 0i101
k4 = jdw_r_kqpbd(128)
k5 = jdw_r_kqpbd(128)
e3 = k4*k5
x1 = ezb_wh_ulwdt(khf(e1, d1, e3)).dexhad('mdi')
x2 = ezb_wh_ulwdt(khf(e1, d2, e3)).dexhad('mdi')
kqpew(x1)
kqpew(x2)
kqpew(urtd64.u64dexhad(ezb_wh_ulwdt(e2)))
kqpew(urtd64.u64dexhad(ezb_wh_ulwdt(e3