optimize key gen