That is very true that finding a solution and refactoring later is better then perfection.

Isn’t rotation cipher one of the biggest ciphers used on the internet?

My text may be:

hello12345(*&^%$

And and my key is

1823747394… (for 100s of numbers)

And the key rotates each character in the string by the number that it aligns with (index) in the key. If they string is longer then the key, the key just repeats itself. Only sender and receiver have the key.

Unlike a single rot13 cipher, a 512 digit key of random numbers could take centuries to break (unless you have qubits).

I know Hash is useful, but it can’t be reversed so you can’t use it to transfer information you might need again.

So, technically modern crypo is based around the idea of a rotation cipher, but it is much more involved that that.

The majority of encryption is ‘public key encryption’ where the everyone has a pair of keys, one public and one private. You encrypt something with the recipient’s public key in a way where they can decrypt with their private key. You use the keys to create something like a rotation cypher. With this approach, a 512 bit key is actually trivial to crack nowadays and much larger keys are needed, 2048 or 4096 bit keys generally.

There is also ‘symmetric key encryption’ where the two people communicating share a truly random key like a rotation cipher. Without the key this is theoretically perfect encryption, but key exchange becomes a problem.

Hashing is something else entirely. Hashing is something else entirely, often used to obscure data for storage (like salting + hashing password data for user accounts) or for ‘signing’ a message to verify its source.

Thank you, that makes much more sense. I only learned the basics in AP CSP, but not much more then that.

I know the very basics of hashing, where the idea is to compress (or inflate) any file into a 256 bit number. Their is 2^256 possibilities so no one can guess your hash randomly. The hash also can’t be reversed due to lossy.

Ehhhh, I’d say that’s a way to use hashing but there are many more.

Hashing data means you’re protected from potential liability for the original contents, making it good for password storage.

You can also use hashing for cryptographic signatures.

You can also use it for lookup tables for complex data.

The number of bits isn’t really important. It is more important that a hash is a non-reversable function with a low probability of collision between input output pairs.