>All you need is the password. so what is the purpose of the hash???? Also, if your random number generator only has one seed, then it isn't even close to being random. >Even a simple one like the rand () command uses 2 seeds. The time and the input from the microphone port.
>
>It just seems like you are doing extra steps which will do nothing but take extra time.

First of all, the random number generator does not have only one seed. It takes the output from the 2048-bit hash and divides it into sixty-four individual 32-bit seeds. This is more secure than any other purely mathematical pseudorandom number generator that there is right now. What you said about the time and mic is called entropy seeding. The problem with entropy seeding is that is can almost never be repeated. Unless you decrypt at the exact same time on the exact same computer with the exact same system status, you will not get back your original message even with the right key. Entropy seeding is useless in cryptographic applications.
Second, the hash algorithm is completely necessary. If you merely convert a password to ASCII numbers and use that as the seed, then the message can be cracked much more easily. Most people will not enter a password more than 32 bits in length. But if a small password goes through a 2048-bit hash, it comes out as a 2048-bit string of data. If this is converted to many small seeds for a random number generator, it will always be more secure than a single small seed. The hash's purpose is to increase (or decrease if necessary) the size of the password to make it more secure for random number generator seeding. If you use a single password as the seed then the cryptanalyst doesn't have to try nearly as many keys. For a single 64-bit password, there are 2^64 number of possible keys; but for sixty-four 32-bit seeds, there are (2^32)^64. With that many keys, it would take extremely long to check each one. Longer than RSA, AES, 3DES, Blowfish, or anything else. That's the reason that this method could be used for other things than just my subtraction thing.
So, to answer Souleman's comment, the hash is to produce multiple seeds from a single password and there are sixty-four seeds, not one.
Also, what LogOff said sounds like a onetime pad. They are indeed unbreakable but like you said key distribution gets annoying. That's actually why I originally came up with the random number gnereator idea; you could use it with modulated output to produce keys for a onetime pad.