How are the keys generated? Randomly or based on the combo of name and password? (or name+extension and password?)