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

Usage

from sagemath_cryptographic_functions_library import convert, families, membership

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.1.tar.gz.

File metadata

File hashes

Hashes for sagemath_cryptographic_functions_library-0.1.1.tar.gz
Algorithm Hash digest
SHA256 516346e5162260ed5342e6fe28c666ba8da7d43001892794ca8e8dacb47f6118
MD5 107a319ec6fabef7fc6134b339c77a53
BLAKE2b-256 502222d05c86b9b78bbebc553a095a80aa5bcf8bd490d50e4c58e4b4c1ad2743

See more details on using hashes here.

Provenance

The following attestation bundles were made for sagemath_cryptographic_functions_library-0.1.1.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.1-py3-none-any.whl.

File metadata

File hashes

Hashes for sagemath_cryptographic_functions_library-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4254a48f09b9d91a3254e27c5212bae4313816026eb69da168d6f8056a1bae91
MD5 309e0549e85d1b3dee60304796966107
BLAKE2b-256 190d19b9057b4a78937e204bb14ec6d7c12c0c2754c2fbe3eb7c4d12eb372818

See more details on using hashes here.

Provenance

The following attestation bundles were made for sagemath_cryptographic_functions_library-0.1.1-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