Skip to main content

No project description provided

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

symcollab-0.1.1.tar.gz (94.1 kB view details)

Uploaded Source

Built Distribution

symcollab-0.1.1-py3-none-any.whl (34.2 kB view details)

Uploaded Python 3

File details

Details for the file symcollab-0.1.1.tar.gz.

File metadata

  • Download URL: symcollab-0.1.1.tar.gz
  • Upload date:
  • Size: 94.1 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for symcollab-0.1.1.tar.gz
Algorithm Hash digest
SHA256 a9784c9b289b75e5c84cef1561a27b36381cf6c72a7210848876d7d20f3f1c85
MD5 76983b9b418382ef844d93def58bc7b4
BLAKE2b-256 7e64afd0cfa0c18127ba04266284cfe7e14f9e8a2f81e8701a1f934f9ec529e4

See more details on using hashes here.

File details

Details for the file symcollab-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: symcollab-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 34.2 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for symcollab-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bddb828cec23e8b2ca9a38795068c3c29452953451839aac9dc50ba34c05d518
MD5 4ee0c1130dd953e9289df3868654ff73
BLAKE2b-256 6b87ea0e205ac8a832b52188ea8520b4ac1e0f8ba870275ae3180ed1908ac265

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page