https://github.com/fabian-hk/dolev-yao-star-tools
https://github.com/fabian-hk/dolev-yao-star-tools
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/fabian-hk/dolev-yao-star-tools
- Owner: fabian-hk
- Created: 2024-04-19T14:35:04.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-02-19T11:27:49.000Z (3 months ago)
- Last Synced: 2025-02-19T12:29:17.410Z (3 months ago)
- Language: Python
- Size: 23.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# DY* Tools
This repository contains a Python script to assist
in the development of formal security analysis using
[DY*](https://github.com/REPROSEC/dolev-yao-star-extrinsic).
The script has three functionalities: First, there is
a subcommand to visualize a debug trace. Second, there is
a subcommand to make some plausibility checks on the protocol
and proof code, and third, there is a subcommand to generate
the proof structure for the total and stateful proofs.## Visualization
The command `./dystar_tool vis ` runs an executable DY*
protocol run and converts the output into a Plantuml
sequence diagram.## Validation
The command `./dystar_tool val ` runs some
plausibility checks on the protocol and proof code.
For this to work, the protocol code files must have the suffix
`.Total.fst` and `.Stateful.fst` and the proof code files must
have the suffix `.Total.Proof.fst` and `.Stateful.Proof.fst`.Currently, the following validations are done:
1. Check that every protocol function has a corresponding proof function.
2. Compare the parameters for the protocol function with the parameters
of the proof function and warn if they deviate.## Generate Proof Structure
The command `./dystar_tool gen ` generates
the basic structure for the total and stateful proofs from
the protocol implementation. For this command to work
the protocol must be implemented in a file ``*.Total.fst``
and ``*.Stateful.fst`` and the code must follow the [DY* coding guidelines](https://github.com/REPROSEC/dolev-yao-star-extrinsic/blob/main/CONTRIBUTING.md#coding-style).