Skip to main content

A SageMath library for cryptographic functions

Project description

SageMath Library for Cryptographic Functions

This project provides a SageMath library for working with cryptographic functions, with a particular focus on quadratic APN (Almost Perfect Nonlinear) functions.

The library aims to make research workflows involving APN families, representation conversions, and family membership testing easier to reproduce and extend.

Features

  • Conversion between principal representations of vectorial Boolean functions, univariate polynomial to / from
    • Truth table
    • Quadratic Matrix
    • Sequence
    • Bivariate
    • Trivariate
  • Implementations of known infinite families of quadratic APN functions in univariate form
  • Membership testing for identifying whether a function belongs to a known family

Requirements

  • SageMath 10.8 +
  • Python 3.9 +

Installation

From PyPI (recommended)

In a Sage terminal write

pip install sagemath-cryptographic-functions-library

Or from a regular terminal write

sage --pip install sagemath-cryptographic-functions-library

From GitHub

In a Sage terminal write

pip install git+https://github.com/hoeeg/SageMath_library_for_cryptographic_functions.git

Or in regular terminal write

sage --pip install git+https://github.com/hoeeg/SageMath_library_for_cryptographic_functions.git

Don't have Sage?

You can try Sage online without installing anything locally from any of

Binder   Gitpod Ready-to-Code   Open in GitHub Codespaces

For a local install, the Sage Installation Guide walks through the available options.

More about Sage or how to download it, can be found in its Documentation.

Layout

├── library/
│   ├── convert.py        Representation conversions
│   ├── families.py       Known APN family constructions
│   ├── helpers.py        Finite field utility functions
│   └── membership.py     Family identification algorithms
├── README.md             This file
├── setup.py              Top-level configure script
└── LICENCE               Copyright information

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

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file sagemath_cryptographic_functions_library-0.1.2.tar.gz.

File metadata

File hashes

Hashes for sagemath_cryptographic_functions_library-0.1.2.tar.gz
Algorithm Hash digest
SHA256 cf6b483170babbb28ad5d14b35720e13ded0787de951e0323ce89cc22c42865e
MD5 461c3185b4550b2763f517137fffd21a
BLAKE2b-256 c1d93c6880cd108f85825c91faa47c0d8935e80ca03dfd0150a88e0a82731f4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for sagemath_cryptographic_functions_library-0.1.2.tar.gz:

Publisher: python-publish.yml on hoeeg/SageMath_library_for_cryptographic_functions

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sagemath_cryptographic_functions_library-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for sagemath_cryptographic_functions_library-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2c4d49a129c7630476ecd196e374af61245d99347f7c51b027646959d29cc5d2
MD5 b609fab7da055a641bbbd24926345f86
BLAKE2b-256 bf949b949d48018513ff2700e57458074146fbd42fff32172f240715055bd917

See more details on using hashes here.

Provenance

The following attestation bundles were made for sagemath_cryptographic_functions_library-0.1.2-py3-none-any.whl:

Publisher: python-publish.yml on hoeeg/SageMath_library_for_cryptographic_functions

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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