As far as I know, the method madmax_mfp outlines will not always work. You can't restore to "any firmware version you want". Right now, it definitely does not work for going from iOS 6 to anything older, like iOS 5.1.1.
It will only work for any firmware versions which Apple is approving (signing SHSH blobs). There is a step during any restore where iTunes checks with Apple servers verifying that the firmware file (even if you downloaded it from google) should be installed. The server sends the confirmation in the form of SHSH blobs, a series of encrypted hashes, which iTunes then verifies against the requested firmware file. If the hashes check out against the firmware file you are trying to install, iTunes proceeds with the firmware installation. If the hashes don't match, it means the firmware file has been tampered with, and iTunes will abort the installation. The Apple server can also reject the request outright, which it does for any older versions of firmware you try installing using the Shift/Option-click restore. In either case, you'll get an error message saying something like you cannot restore to the selected firmware.
You can read more by googling SHSH blobs, digital signatures, and cryptographic hash functions.
There ARE ways around these restrictions, but you have to have been doing special backups of the SHSH files all along. See my original post for a not-too-detailed discussion of these (don't want to go too in depth on non-Apple approved methods).