I think you have a fundamental misunderstanding of this aspect of crypto. Firstly, public/private keypairs are not bruteforced, those are typically factored. And they come in sizes much higher than 128 or 256 bits. They are much more complex to understand than symmetric crypto. You seem to be talking about symmetric keys, which do not come in "key pairs" but are single keys that work both ways.
Secondly, 2128 is much more than 3.40e28. I'm not sure where you got that number. The fact is, there is no possible way to store that much. To put it into perspective, there are only roughly 1080 proton masses in the entire universe, which means that even if every single proton and neutron stored a single bit, we could only store roughly 10^80 bits of data. Even if all the grains of sand on the earth could store a bit of data, you still couldn't store 2128 in it.
You also have to remember that each key is not one byte, but 32 bytes (for 256 bit keys) or 16 bytes (for 128 bit keys), which adds up to a lot more, though even if it were a single bit each, there would be no possible way to store it all.
There are many questions and answers all over the internet explaining how long it would take to look through even a 2128 keyspace, and why it is so utterly impractical with classical computers. I suggest you read through some of those.