Cryptography relies on basic mathematical problems called hardness assumptions. These problems thought to be difficult to solve for modern classical computers, making them viable candidates from securing communications. However, cryptography is constantly evolving, and new algorithms are being developed that challenge these assumptions and parameters. Thus, it is important to understand the current state of hardness assumptions and their relationships and how these relationships shape the effectiveness of cryptosystems.
A map of cryptographic hardness assumptions does 3 things:
[1] Visualizes the relationships between hardness assumptions.
[2] Provides a reference for the current state of cryptographic hardness assumptions.
[3] Enables scholars and researchers to collaborate on the development of secure cryptosystems.
This tutorial will guide you through the tools and features of the cryptography map.
Finding An Assumption
To locate an assumption use the search bar in the top left hand corner of the website (if you are on mobile click the menu icon and choose the search option from the dropdown). A modal will appear with all hardness assumptions and their relationships. Selecting an item will take you to the information page for that item.
Figure 1: Search bar in the top right hand corner.
Figure 2: Dropdown search menu.
The map is organized such that each directed edge between nodes indicates the reduction of a hardness assumption to another. For example, there is a reduction from the Knapsack Problem to the Learning with Errors Problem (the Learning with Errors Problem is as hard as the Knapsack Problem) and the arrow indicates this relationship.
Additionally, you are able to click on the nodes and edges to view more information about the assumption. Theindicates information about a reduction between two assumptions (these reductions may be lossy).
Creating New Asssumptions
To create a new assumption, click theicon on the right panel of the map. This will drop a new node at the center of the map (x=0, y=0) which a default node name.
Figure 3: Add a new node button.
Additionally, you can drop a new node by dragging the dot from one end of a node to an empty space on the map. This will create a new edge between the two nodes in addition to a new node. Similarly, you can create a new edge by dragging a dot from one node to another dot on a different node. This will create a new directed edge between these two nodes.
Figure 4: Create a new edge.
Editing an Existing Assumption
To edit an exiting assumption (or relationship), click the 'edit page' button under the item content. This will open a panel where you can edit the name, content, and citations of the item. Note: that content is rendered in LaTeX, you can see the LaTeX preview on the edit page.
Figure 5: Edit an existing node or edge.
To save you changes, click the 'save local' button on the bottom of the edit page. This will save the changes locally until you are ready to push them publically.
Figure 6: Locally save your changes.
To delete an item, simply select a node or edge and click the 'delete' key on your keyboard.
Publishing
Once you are satisfied with your edits you can publish your changes. To do this click the 'Publish' button on the right hand side panel. This will open a confirmation modal on the left hand side. Select 'Make Public'. Next an authorized admin will confirm your changes and they will appear on the public version of the website.