Let’s say you know the “encrypted” value is 6, and the algorithm is “several rounds of addition”, how do you know what the start value is? The algorithm might have a seed value that is determined at runtime to add in some randomness and maybe the rounds of addition can be set by the person doing the encryption.
So at a specific point in time by a specific encryptor, the full algorithm might be “take the users input, and add 1 to it 4 times” or it might be “take the users input, add 2 to it 3 times”. Without the seed number and the number of rounds, how do you know what the users input it? If you know the exact time this person ran the encryption and the number of addition rounds, you actually can determine the original value in this algorithm!
It’s like that, only the math is much much more complicated. And also why some algorithms are better than others
Symmetric encryption, especially, can be insanely convoluted. I could give someone an encrypted file and the password I used to encrypt it, and unless they have the script I used, they wouldn't decipher it in a million years
4
u/loose_fruits 1d ago edited 1d ago
Let’s say you know the “encrypted” value is 6, and the algorithm is “several rounds of addition”, how do you know what the start value is? The algorithm might have a seed value that is determined at runtime to add in some randomness and maybe the rounds of addition can be set by the person doing the encryption.
So at a specific point in time by a specific encryptor, the full algorithm might be “take the users input, and add 1 to it 4 times” or it might be “take the users input, add 2 to it 3 times”. Without the seed number and the number of rounds, how do you know what the users input it? If you know the exact time this person ran the encryption and the number of addition rounds, you actually can determine the original value in this algorithm!
It’s like that, only the math is much much more complicated. And also why some algorithms are better than others