ただのルービックキューブ群上のElGamal暗号である。
elgamal.jsにもあるとおり、ルービックキューブ群の位数は p = 43252003274489856000
である。ところで、
p = 43252003274489856000 = 2^27 * 3^14 * 5^3 * 7^2 * 11
であり、
φ(p) = 8987429251842048000 = 2^31 * 3^14 * 5^3 * 7
である。φ(p)
の最大の素冪因数はたかだか 2^31
であるため Pohlig–Hellman 法を用いて解読できる。
と見せかけて、そんな難しいことはしなくてよい。
Rubik's Cube group - Wikipedia にあるとおり、ルービックキューブ群の元の位数はたかだか1260なので、g
を1260回くらい掛けると必ずどこかでh
になる。よってx
が得られるため、直ちに解ける。