A question on public/private key encryption
Why can't the private key be cracked by encrypting a large enough block of static data, all bits=1 for example, with the public key? If the cypher being used is secure, encrypting a block of 1s or 0s will generate an apparently random stream of 0s and 1s. There will be no way to determine the private key from the output of encrypting a block of known data with the public key. Couldn't a cross-comparison be used, encrypting different known blocks and observing certain key properties? I would imagine that any kind of reversible operation would be able to be deduced if it can be applied to specific data that reveals its true form/operation. Not with a strong cypher. Any single bit change in the source will result in what looks like a new pseudo-random output. Determining the private key given the public key in RSA-2048 requires factorizing large blocks of very large numbers which is not practical given current computing hardware. People are working on "smart" attacks that solve the factorization problem from a theoretical math angle instead of a brute force computational approach and there is some consensus that RSA-2048 may be broken in the next few years. A transition to Elliptic Curve Cryptography (ECC) is underway and RSA has never been approved for Suite-A or Suite-B encryption which might lead one to believe that the NSA has known about the weakness of RSA for a long time. I see, makes sense - it is easy to multiply big nums together but insane to factor the bignums out of them. You explained it more succinctly than I've ever understood it, thanks a ton!