Skip to content

Add lab on new module system#227

Open
WeeknightMVP wants to merge 20 commits intomasterfrom
new-module-system
Open

Add lab on new module system#227
WeeknightMVP wants to merge 20 commits intomasterfrom
new-module-system

Conversation

@WeeknightMVP
Copy link
Collaborator

@WeeknightMVP WeeknightMVP commented Sep 27, 2022

This lab describes Cryptol's new module system, which has not yet been merged. To test it requires a workspace in which one can build Cryptol from source and access different Git branches. With these prerequisites, assuming cryptol-course and cryptol-specs are cloned or downloaded to the same directory, the following should work:

$ cd ~/workspace  # or whatever
$ git clone https://github.com/GaloisInc/cryptol
$ git clone https://github.com/GaloisInc/cryptol-specs
$ git clone https://github.com/weaversa/cryptol-course
$ cd cryptol-course
$ git switch new-module-system
$ cd ../cryptol
$ git switch functors-merge
$ ./cry build
...
$ CRYPTOLPATH=../cryptol-course:../cryptol-specs ./cry run
Cryptol> :m labs::NewModuleSystem::NewModuleSystemAnswers
labs::NewModuleSystem::NewModuleSystemAnswers>

@WeeknightMVP
Copy link
Collaborator Author

We should turn off CI for this branch until functors-merge is merged.

@WeeknightMVP
Copy link
Collaborator Author

This PR proposes tweaking the suggested lab order for the overall course, swapping in a Module System landing page that comprises two labs: our existing lab for basic Parameterized Modules around the Simon/Speck block ciphers, and another for Cryptol 3's New Module System (interfaces, submodules, etc.) around block cipher modes. Key Wrapping becomes an optional (but strongly recommended) lab to weave most of the concepts taught in the course in preparation for the Capstone.

@WeeknightMVP WeeknightMVP self-assigned this Oct 31, 2024
@WeeknightMVP WeeknightMVP changed the title Draft: Add lab on new module system Add lab on new module system Oct 31, 2024
@WeeknightMVP WeeknightMVP requested review from auricratio and removed request for weaversa October 31, 2024 19:37
@WeeknightMVP
Copy link
Collaborator Author

On second thought, we should keep Key Wrapping in the recommended path, as Capstone uses material from it and key wrapping is an important concept.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant