Spaces are the undoing of many a cipher. Give a half-decent cryptanalysist any sort of word delimiter and they will go to town on finding pattern words (some common ones are a, I, there, initiate, am, we, immediately) and break the substitution down.
OTPs make this harder, though not actually as hard as you might think. Patterns can emerge in those, too, though it’s computationally expensive to find them. People don’t come up with distributions as random as they’d like to think (7, 3, 5, and 8 (in that order) occur extremely often, for example, and are a good starting point for brute force), and /dev/urandom on many systems is a sort of fuzzy finite state machine which can be predicted with some degree of accuracy.
]]>