Web servers and security: I haven't taught CS475 for a while Fall 23 I think It's not on the menu for Spring So let's talk about how to secure a server in this class Encryption basics: We won't dwell on the historical ciphers too much Basic ideas: substitution keys permutation blocks modes of operation differential cryptanalysis We want to *completely* change the output given: A 1-bit difference in the input block A 1-bit difference in the key That might require a number of rounds We can invent one easy enough We'll make sure to include all the ideas above Must be reversable xor is easy to reverse addition and subtraction are ok too multiplication could cause loss of overflow Not a problem if we overflow by 1 bit with addition division can lose the reminder An idea: apply a complicated operation to the key Then xor the result with our block AES operating modes xor, undo, and three-padlock exchange