7

ChaCha20 has Ind-CPA security and beyond this ( Ind-CCAx.. [1]), you need integrity and authentication. And note that Authenticated Encryption > Ind-CCA. ChaCha20 is already teamed with Poly1305 authenticator to provide confidentiality, integrity and authentication. It exists in TLS standards and one of the five cipher suites in TLS 1.3 as ...


7

Why are block ciphers mostly used as stream ciphers? CTR mode doesn't need padding like the CBC mode that caused many attacks over the years knowns as the padding oracle attack [1] [2]. Finally, CBC is removed from the TLS, TLS 1.3 has only CTR mode ciphers (rfc 8446). +------------------------------+-------------+ | Description ...


3

When you're working with this severely constrained environment, it's probably more involved than what you can get from listening to some strangers on stackexchange; you probably either need to follow some existing CAN bus encryption standards (written by an expert), or get a professional developer - the concerns go considerably farther than "how do I ...


2

It really depends on the block mode that you are going to use. If you want to use something like CBC, have a look into PKCS#7. If you were to use CTR mode, then you do not require any padding, as the input will always be in chunks of 16 bytes, and you use as much of it as you require.


2

I agree with your observation. The wiki's assessment of the weakness of ECB being a lack of diffusion is not very precise. I have a feeling that they're using diffusion in a generic sense, not the exact definition of diffusion in cryptography. Diffusion in the exact cryptographic sense happens inside the block cipher like AES. What we need on the higher ...


1

It seems while this scheme fixes the "ciphertext-swapping" problem, it permits modifying the first block of ciphertext $C_1$ and the $IV$ together without affecting the decryption of the message at all. This is because the first block of plaintext $P_1 = D(C_1 \oplus IV)$, so therefore $C_1$ and $IV$ can be modified "together" without ...


1

JoJoTheCodeDude's answer is correct. I just want to add some detail which may clear up some possible misunderstandings and followup questions. AES is a block cipher. Contrary to the name Advanced Encryption Standard, it's not actually useful for practical encryption of anything. That's because, like any block cipher, it can safely encrypt exactly one block ...


Only top voted, non community-wiki answers of a minimum length are eligible