Why does RSA 1024 provide lower security level than EC256? And why do we have to use big numbers for RSA? Is it because of some RSA restrictions like p=q=3 mod 4?
There are some more efficient algorithms (still super-polynomial time, not enough to actually break them) to solve discrete logarithm problems and integer factorization problems, hence keys based on these problems are longer than EC based cryptographic keys which provide equivalent security, in which no such algorithms significantly better than birthday attack are known.