Does IV work like salt

I don't quite follow what you are saying, but here is an overview.

Salts are used in cryptographic hashing in order to eliminate the possibility of success using rainbow table method of cracking. (A rainbow table being a reverse lookup table of hashes to passwords)

IVs are used in encryption of larger files to avoid similar sections from encrypting to the same thing.

They are extremely similar, but here are the differences.

Salts are typically added before or after what they are encrypting (to my knowledge). This means that the encryption is also performed on the salt.

IVs are always XORed with the result of the encryption. The reason it is done afterwards, is because only the first chunk uses the IV, the rest use the previous chunk for this XORing.

The distinction is important because a salt that is XORed with the encrypted form of a password is easily broken, and IVs are designed to stop pattern recognition style attacks versus the dictionary attacks of password files.


AES itself does not directly use a salt (or indeed, an IV).

A situation when you might use a salt in combination with AES is when you are using Password Based Encryption (PBE). In this scheme, a human-memorizable password is used, in combination with a salt, to generate an AES key. A salt is used so that the same password does not always generate the same key; however, because the recipient must be able to generate the correct key, the salt must be transmitted along with the encrypted data.

An IV is required if you are using AES in certain block cipher modes, like CBC. In this case, it used to ensure that the same plaintext data under the same key does not always encrypt to the same ciphertext. Again, the IV is required by the recipient to correctly decrypt the data, so it must be transmitted along with the encrypted data.

So, if you are using PBE with AES in CBC mode as the underlying cipher, you would expect to have to send both a PBE salt and a CBC IV along with the encrypted data.

Tags:

Encryption

Aes