Closed k13n closed 1 year ago
As I'm going through the algorithms I've spotted minor typos or things like that. What's the best way to report them? Just append them to this issue?
Yep, feel free to append to this issue, or open multiple issues. Thanks!!
Ok thanks, here are some more tiny issues:
In function AuthServerRespond
the value expected_client_mac
is computed twice (I think the first line can be dropped):
expected_client_mac = MAC(Km3, Hash(concat(preamble, server_mac)))
state.expected_client_mac = MAC(Km3, Hash(concat(preamble, server_mac)))
In function AuthClientFinalize
the value ke2.server_mac
is used that doesn't exist, it should be ke2.auth_response.server_mac
In function GenerateKE3
the value server_public_key
is returned from RecoverCredentials
, but it's never used in GenerateKE3
.
Thanks for surfacing these -- we are really fortunate to have these caught!
The signature of function
Preamble
in Section 6.4.2.1 is not aligned with its description nor its function body. The function has a parameterke2
that's not used inside the function. Valuescredential_response
,server_nonce
, andserver_public_keyshare
are used in the function body, but are not passed in as parameters.Currently the signature is
Preamble(client_identity, ke1, server_identity, ke2)
, but it probably should bePreamble(client_identity, ke1, server_identity, credential_response, server_nonce, server_public_keyshare)