-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat:Communication Layer #50
Open
fabian-hk
wants to merge
46
commits into
main
Choose a base branch
from
feature/communication-layer
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 2 commits
Commits
Show all changes
46 commits
Select commit
Hold shift + click to select a range
49daaee
Added key to crypto predicates along the usages
fabian-hk 134c6a6
Proof optimization
fabian-hk b137b35
Improve proofs and code cleanup
fabian-hk 17b31e3
Make key in crypto predicates not dependent on the key usage
fabian-hk 88cf697
Simplified Sign bytes_invariant
fabian-hk a277cb6
First draft of a confidential send function
fabian-hk 38f9cdf
Confidential send and receive function and example protocol
fabian-hk e11ad00
Authenticated send and receive function; first draft of events that c…
fabian-hk 13188db
Improved events that can be extended by a higher layer
fabian-hk 106c001
Cleanup code; documentation
fabian-hk 03eddb2
Fixed issue with initialization method for debug run; Code cleanup
fabian-hk 31f0379
Introduced comm_higher_layer_event_preds_later function to improve co…
fabian-hk 93f1747
First draft of confidential and authenticated send and receive functions
fabian-hk 0719149
Updated version of the confidential and authenticated send and receiv…
fabian-hk 8c1efed
Cleanup decrypt_message_proof post condition and signature predicate
fabian-hk 85a711e
Updated communication layer to be compatible with label changes
fabian-hk eadbb82
Conf-auth proof with pk_enc extract function
fabian-hk 8faf365
Cleanup
fabian-hk c8282c1
Cleanup; Separate file for core extension
fabian-hk 7d9e3a8
Define later for comm_higher_layer_event_preds
fabian-hk 96f2e30
First draft of request-response functions
fabian-hk f8644a4
Request-response functions with state on the server side
fabian-hk b605ff9
Use comm_meta_data for the request-response functions; Added last pro…
fabian-hk 261d091
Clean up states and events
fabian-hk 57a3500
Removed id and client from request response pairs
fabian-hk 3271ca2
Updated com layer README
fabian-hk cfe081c
Tried to replace reveal by showing the property with pkenc_input but …
fabian-hk db61f53
Conf auth proof without reveal but with pk_receiver in message
fabian-hk 5167191
Only encrypt payload
fabian-hk 94ac9aa
Cleanup
fabian-hk 4f9becd
Sign predicate cleanup
fabian-hk 18f4c4f
Fixed issues after rebase on feature/add-key-to-crypto-preds
fabian-hk a2f4d14
Automatically serialize and parse messages
fabian-hk 7492439
Cleanup
fabian-hk 28e6207
Added SMTPats to request response lemmas
fabian-hk 5033826
Changed post condition of receive_request_proof
fabian-hk 11e0d2a
Removed communication_keys_sess_ids from send response and receive re…
fabian-hk 23b45cb
Add function to generate a communication layer response nonce with an…
fabian-hk b625d4a
Add trace printing functions; Cleanup
fabian-hk a3539be
Encapsulate all com messages in com_message_t type. This is needed fo…
fabian-hk 8d4f779
Improve printing of communication messages
fabian-hk 7deb02c
Feedback
fabian-hk 3d927a0
Feedback
fabian-hk 7499ea7
Using False as default in event predicates extension by higher layer;…
fabian-hk 40ba5f5
Update URL to communication layer examples
fabian-hk 14504c8
Adjust request/confidential message postconditions (#101)
qaphla File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
module DY.Lib.Comparse.DYUtils | ||
|
||
open Comparse | ||
open DY.Core | ||
|
||
open DY.Lib.Comparse.Glue | ||
open DY.Lib.Comparse.Parsers | ||
|
||
/// This module provides some utility functions for working more simply | ||
/// with parseable bytes (e.g., lifting predicates from abstract types to | ||
/// their serialized bytes counterparts). | ||
|
||
#set-options "--fuel 0 --ifuel 0" | ||
|
||
unfold | ||
val parse_and_pred: | ||
#a:Type -> {| parseable_serializeable bytes a |} -> | ||
(p:a -> Type0) -> (bytes -> Type0) | ||
let parse_and_pred #a p = (fun b -> | ||
match parse a b with | ||
| None -> False | ||
| Some x -> p x | ||
) | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This feels to me like a generally good utility function, which we probably do want to have (and which could probably also be used more broadly) --- I also introduced it for that reason. That said, I see a few possible problems with it:
bytes_like
), rather than here.p
. My sense is that as long as we don't want to talk about equivalence of these predicates that shouldn't be too big of a problem, but I am far from an expert on the encoding used.