OCB3 is not according to RFC7253 #256
Labels
No labels
bug
duplicate
enhancement
feature
help wanted
improve API
invalid
needs documentation
not-planned
rtfm
stale
support
wishlist
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
gh-libtom/libtomcrypt!256
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/256"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
While documenting OCB3 I realized that the implementation is not according to draft-irtf-cfrg-ocb-03 (which later on became rfc7253) as stated in
dfb4ec3b95but to draft-irtf-cfrg-ocb-02.Changing the implementation would also require to change the API, therefore I'm unsure if we should patch it:
My vote goes for 2. + we remove it from v1.18.0 as I'm also not happy with the quality of the code.
Yes, remove it from 1.18 (or at least disable by default like we do it with
katja).
Considering the fact that there were 7 (seven) drafts before rfc7253, it is
not so important whether our (well, my) code follows draft 2 or 3, we need
to comply with the final rfc.
I can hack on this issue, but I would appretiate if you can post how you
think the API should look like (I have not look into the rfc yet).
I am also open to remove ocb3 completely (for ever) as I am not using it
anymore. But maybe let's first check how much work it will need to fix.
Other question is: do we want to keep both OCB and OCB3 in long term?
Okay. I'm still not sure whether we should disable it by default or remove it (c.f. the rest of the reply).
According to http://web.cs.ucdavis.edu/~rogaway/ocb/news/ there was the last algorithmic change from draft-2 to draft-3.
The change is minimal (the taglen has to be known on init), c.f. fix/256
There's also still this licensing thing with all versions of OCB... http://web.cs.ucdavis.edu/~rogaway/ocb/license.htm
I'd say as ltc is an academics-inspired project we should keep it. (This changed from the first point after I implemented the patch :-) )
Do we support empty aad (aad==NULL, aadlen==0) and empty plaintext
(pt==NULL, ptlen==0)?
To be honest, I still have not read the RFC so I am not sure if empty
plaintext is legal here.
I'll be able to do the review no sooner than during the coming weekend.
We should perhaps add all test vectors from RFC 7253 - Appendix A, some of
them test empty pt/aad that I've mentioned above.
done in
b2448c593adone in
868c5a82c3ours do that as well, I added the test of the RFC with the 96bit tag
I don't think it's worth the effort adding all the tests from the RFC...
👍 please merge
I have one more
ocb3_donerelated issue which I've found out when switching my perl bindings to the new OCB3 API.I'll send it as a separate PR today evening (just want you to know if you plan to release the next RC).