It's worth mentioning that most cryptographic algorithms are designed to be strong using pseudo random algorithms, so real randomness isn't a requirement (although obviously some unpredictable starting point is required to get the ball rolling).
Well unless you use a one time pad but nobody does (hopefully).