stef / libopaque

c implementation of the OPAQUE protocol with bindings for python, php, ruby, lua, zig, java, erlang, golang, js and SASL.
GNU Lesser General Public License v3.0
69 stars 10 forks source link

Draft compat update #21

Closed stef closed 2 years ago

stef commented 2 years ago

conforms to the 1st test vectors specified in https://github.com/cfrg/draft-irtf-cfrg-opaque/blob/cf76da9c4199bd445ac95372d38a81d65eb900d0/poc/vectors/vectors.json

stef commented 2 years ago

incomplete, todo:

stef commented 2 years ago

adapting the bindings

stef commented 2 years ago

for the record if i did not forget anything these are the changes in this branch in comparison to master:

s/crypto_hash_sha256_BYTES/crypto_hash_sha512_BYTES/ everywhere! delete everything related to cfg delete also infos type and replace infos param with (const uint8_t * context, const size_t context_len) remove usage of envu_len, opaque_package_len remove all functions for 1k variants only skS is provided optionally anywhere, pkS is never anymore.

opaque_register

recover_credentials:

createcredentialresponse

userAuth

CreateRegistrationResponse has an additional skS/server_private_key parameter in 2nd position

FinalizeRequest:

StoreUserRecord

stef commented 2 years ago

all bindings except js are updated.

stef commented 2 years ago

js bindings are also updated and the tests in tests run correctly, however the tests in ../src/test fail for some weird reason. the demo is not yet adapted.