CS338 Computer Security Friday, 22 September 2023 + A few notes on our symmetric crypto avatar: AES (also some notes on Unix command shells & openssl) - Look at the AES Wikipedia page for some basics if you're interested - How big is the block size? - What happens if each block is encrypted independently? [think: watching an encrypted texting exchange or web session] This is called "electronic code book (ECB) block cipher mode" and it's bad - Digression: Unix pipelines can do tons of cool stuff: openssl rand 16 | od -An -tx1 | tr -d ' \n' But if there's a cryptographic thing you want to do, maybe openssl can already do it: openssl rand -hex 16 Browse the manual pages and help output. It's fun! - Digression: Unix command shell tricks: environment variables, echo, $(), `` - Change one bit in your key: - Change one bit in your plaintext: + Kerckhoffs' Principle - "the security of a cryptosystem must lie in the choice of its keys only; everything else (including the algorithm itself) should be considered public knowledge." https://link.springer.com/10.1007%2F978-1-4419-5906-5_487#:~:text=Kerckhoffs'%20Principle%20states%20that%20the,should%20be%20considered%20public%20knowledge. + Questions, comments,... - Basic Authentication - AES w/ openssl - Videos - Wireshark - News stories - Whatever + Next - Key exchange with Diffie-Hellman - Asymmetric encryption with RSA