Skip to main content

CryptoSolve

This is a tool that generates and verifies cryptographic modes of operation using symbolic methods.

Screenshot of Web Tool

Install

To get started you should make sure that your environment is setup.

Clone the repository

git clone https://github.com/symcollab/CryptoSolve
cd CryptoSolve

Create a virtual environment

python3 -m venv senv

Set your terminal session to use that environment

source senv/bin/activate

Install moe package

./install_packages

If you encounter any permission errors, edit the file to look like the following instead,

pip install --user directoryname/

Now you can run the examples! In the future, don't forget to source the environment every time you open a new terminal session.

Usage

The following commands are then in your path:

  • moe_tool : Runs the command line version of the tool
  • moe_website : Runs the website version of the tool

Libraries Included

CryptoSolve is built upon several libraries that can be used standalone for other areas in Unification and automated reasoning.

MOE

This module builds upon the rest of the modules defined below in order to express cryptographic modes of operation symbolically. The user can interface with this module via the web, terminal, or GUI application.

Algebra

A term algebra library that defines a term recursively. Contains useful operations on terms such as substitution, and interfaces into sympy and general strings.

Rewrite

The rewrite library contains contains rewrite rules that can operate over the terms in the algebra library. It also can produce variants given a set of rewrite rules, and can narrow one term into another.

Unification

This module contains unification over terms modulo several popular theories. Currently AC Unification, Boolean Unification, EAC Unification, Syntactic Unification, and others are defined.

Theories

Various data structures and their properties defined as rewrite rules are defined in this module. This module can be further extended in order to define an automated theorem prover for objects such as natural numbers, booleans, and lists.

Metadata

Release files for symcollab 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for symcollab 0.1.1
File Size Uploaded
symcollab-0.1.1.tar.gz 94.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for symcollab 0.1.1
File Interpreter ABI Platform
symcollab-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 128.2 kB

Release files / symcollab-0.1.1.tar.gz

Download URL symcollab-0.1.1.tar.gz
Size 94.1 kB
Tags Source
SHA-256 checksum
How to use checksums
a9784c9b289b75e5c84cef1561a27b36381cf6c72a7210848876d7d20f3f1c85
BLAKE2b-256 checksum
How to use checksums
7e64afd0cfa0c18127ba04266284cfe7e14f9e8a2f81e8701a1f934f9ec529e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.1.0 requests-toolbelt/0.9.1 tqdm/4.55.0 CPython/3.9.0

Release files / symcollab-0.1.1-py3-none-any.whl

Download URL symcollab-0.1.1-py3-none-any.whl
Size 34.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bddb828cec23e8b2ca9a38795068c3c29452953451839aac9dc50ba34c05d518
BLAKE2b-256 checksum
How to use checksums
6b87ea0e205ac8a832b52188ea8520b4ac1e0f8ba870275ae3180ed1908ac265
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.1.0 requests-toolbelt/0.9.1 tqdm/4.55.0 CPython/3.9.0

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page