Lattice-based cryptography
classical encryption split out monoalphabetic substitutions, and cracking them page on transposition ciphers, and cracking them codebooks and book ciphers, and cracking them one time pads h3 polyalphabetic substitution and stream ciphers and cracking them
modern symmetric h3: AES asymmetric h3 split out integer factorisation and elliptic-curve crpytography to their own page diffie hellman RSA
ECC backdoor: can choose parameters of curve to use, if p=nq then can reverse if know n?
probabilistic data strucutres. bloom filter. rather than test for in or out and give yes no, give yes and possibly. less space. good if can deal with possibly. eg for caching type stuff.
Cryptography: cipher. Block cipher and character cipher. Stream cipher.
probabilistic algorithm: + page on gradient descent with momentum + page on Adaptive Gradient Algorimth (adagrad) and Root Mean Square Propagation (RMSP) (improved version of Adagrad) + page on Adam + h3 on types of method when have datasets: batch gradient descent (calculate error for each example then update model), stochastic gradient descent(update model after each calculation); mini batch gradient descent (update after set number of entries) + las vegas algorithm: guaranteed to be correct, not guaranteed to take a given time/space
Crypto: Substitution–permutation network (sp network). Related to block ciphers
arithmetic coding. lossless encoding.
probabilistic algorithms: simulated annealing
h3 on improving types of algorithms with randomness 1. optimisation problems using stochasitic optimisation, including stochastic gradient descent and simulated annealing
pseudo random numbers thing on passwords. john the ripper. password cracking