The modern encryption algorithms most of us use are no big secret. That's not the point of it - they are published, and everyone in the field studies them. Here is an oversimplified example:
Say your encryption function performs an operation on a prime number x as such: E(x,z): -> x^z
It's just a simple power function. If you have x and z, you can probably do it on a piece of paper in a few seconds, and it would take z multiplications.
Now, suppose you have only x^z and z, and you want to find x. Then you know log_x(x^z) = z, and x^z = x^(log_x(x^z)). This gets a bit complicated to do on paper.
On a computer, what you can do is start at the lowest possible x, so we set n = x, raise to power z and check if n^z == x^z. If not, we set n to the next possible x. This will take z^k multiplications, for some integer k.
Remember we said x was a prime number. Essentially, what it boils down to (remember this is oversimplified version) is that you will have to find a very large number x^z that has 2 prime factors. We know this particular problem takes exponential time, and is in a class of problems with a complexity known as "non-deterministic polynomial time" (NP).
This means we can say for sure that no modern computer can solve a worst-case instance of this problem in a reasonable amount of time- meaning we would all be dust before it happens. A quantum computer would perform several orders of magnitude faster than a binary one, and can factor small primes in (regular) polynomial time, but it has yet to be proven in the general case, which would include large primes. It is currently in a class called "bounded error quantum polynomial time" (BQP).
There are several elements of what i attempt to explain above, which are on the list of unsolved problems in CS. If you solve one, there are several organizations out there who would award a large cash prize. For anyone interested, a list is on this page:
http://en.wikipedia.org/wiki/List_of_unsolved_problems_in_computer_science