How much effective strength is the following adding to a basic 512 bit XOR cipher?
Private Key = Key0 consists of 512 randomly generated bits. This key is never used to encrypt or decrypt anything.
Plain Text Message needs to be encrypted.
Generate unique random 16 byte salt for this particular message.
Salt Key0 and run through SHA512 hash to make Key1.
XOR first block with Key1.
Run Key1 (unsalted here and in all other blocks) through SHA512 to create Key2.
XOR second block with Key2.
Continue until entire message has been encrypted.
Store salt + cipher text.
Since every single block of every single message is encrypted with a different key, barring the same salt getting randomly generated more than once and hashing collisions, it should avoid the repeating pattern. Also, submitting a string of binary 0's would only reveal the salted hash of the key, so it would be useless on other messages. Would it be feasible to brute force the hash of the key to retrieve the actual key?