encrypt problem in Discrete mathematics

95 Views Asked by At

Consider:

$$ e = 2^{16} + 1 = 65537 $$

$$ m = a^e \text{ (mod $p$)} \oplus b^e \text{ (mod $p$)} \oplus c^e \text{ (mod $p$)} $$

$$ n = abc x^3 \pmod{p} $$

a is between 1000~2000, b is between 2000~3000, c is between 3000~4000

If $m$, $n$, $e$, $p$ are known and $e$, $p$ are primes ( $p$ is much larger than $e$), $x$ is message

Are there some hints or methods can make me try to find out the $a$, $b$, $c$?

I think it's similar to some kind of RSA, but there isn't $n$.

I also try Fermat's little theorem, but e and p are not actually have relationship.

I even try Williams's p + 1 algorithm, but its result seems like not helpful in the question.

1

There are 1 best solutions below

5
On

For each $(a,b,c)$ where $a \in {[1000,2000]}, b \in {[2000,3000]}, c \in {[3000,4000]}$ you can check the possibility via:

(1) $m = a^e \text{ (mod $p$)} \oplus b^e \text{ (mod $p$)} \oplus c^e \text{ (mod $p$)}$

Then, you can use the latter equation to find $x$.

$n = abc x^3 \pmod{p} \rightarrow n = abcx^3+dp$

Because $abc,p,n$ are known, then both $d$ and $x^3$ can be found from the Chinese remainder theorem if they exist. Here you can verify if you have any constraints on $x$ like it should be even or small.

Then, you can iterate on other candidates and find all possible solutions.