You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jun 17, 2024. It is now read-only.
We will work towards an implementation of HS ans HSL consisting of both low-level and high-level components.
On the reading side, HSL will provide a low-level interface, in the same style that we have been working on. On the writing side, HSL.send will still be high-level, and will internally use QD intermediate serializers and bytes-to-buffer conversions. For hashing, on the reading side, HS will send signals to HSL for hashing the messages and adding them to the transcript (where the signals will contain indices in the input buffer, HSL will maintain enough invariants so that HS does not need to pass them on). On the writing side, HSL will automatically hash the messages.
HS implementation will be low-level on the reading side, i.e. it will take buffer indices from HSL and use low-level QD accessors etc. But when it talks to Nego and KS, it will use the QD intermediate parsers to construct high-level messages and then pass them back-and-forth. In other words, Nego and KS, and the related state and invariants in HS will remain high-level. On the writing side, HS will be purely high-level.
We will move to QD datatypes for both high- and low-level (#218).
Towards this plan, we identified following tasks:
Switch to QD for HandshakeMessage and Extensions, merge @nikswamy's F* and mitls branches for extraction (@ad-l)
Notes from a meeting between @fournet, @ad-l, and @aseemr:
We will work towards an implementation of HS ans HSL consisting of both low-level and high-level components.
On the reading side, HSL will provide a low-level interface, in the same style that we have been working on. On the writing side,
HSL.send
will still be high-level, and will internally use QD intermediate serializers and bytes-to-buffer conversions. For hashing, on the reading side, HS will send signals to HSL for hashing the messages and adding them to the transcript (where the signals will contain indices in the input buffer, HSL will maintain enough invariants so that HS does not need to pass them on). On the writing side, HSL will automatically hash the messages.HS implementation will be low-level on the reading side, i.e. it will take buffer indices from HSL and use low-level QD accessors etc. But when it talks to Nego and KS, it will use the QD intermediate parsers to construct high-level messages and then pass them back-and-forth. In other words, Nego and KS, and the related state and invariants in HS will remain high-level. On the writing side, HS will be purely high-level.
We will move to QD datatypes for both high- and low-level (#218).
Towards this plan, we identified following tasks:
Switch to QD for HandshakeMessage and Extensions, merge @nikswamy's F* and mitls branches for extraction (@ad-l)
Continue work on HS Secret, KDF, Nego in high-level style (@ad-l, @fournet, @s-zanella)
Iterate fast on low-level HSL.fsti and implement an HSL.fst that is partially verified but functional (@aseemr, @nikswamy)
In Jan., interop with low-level HSL.fst which is partially verified
We discussed some alternate choices for HS and HSL implementation. Will add them as a comment soon.
The text was updated successfully, but these errors were encountered: