Solved 5 & 6
TODO: Figure out structure for sharing functions, automate keysize picking