AuthClientStart Parameters: - Nn, the nonce length. State: - state, a ClientAkeState structure. Input: - credential_request, a CredentialRequest structure. Output: - ke1, a KE1 structure. def AuthClientStart(credential_request): client_nonce = random(Nn) client_keyshare_seed = random(Nseed) (client_secret, client_public_keyshare) = DeriveDiffieHellmanKeyPair(client_keyshare_seed) auth_request = AuthRequest { client_nonce, client_public_keyshare } ke1 = KE1 { credential_request, auth_request } state.client_secret = client_secret state.ke1 = ke1 return ke1