Skip to main content

A SageMath library for cryptographic functions

Project description

SageMath Library for Cryptographic Functions

A SageMath library for cryptographic functions, focusing on quadratic APN (Almost Perfect Nonlinear) functions.

The library provides tools for:

  • converting between different representations of a function
  • generating known infinite families of quadratic APN polynomials in univariate form
  • deciding whether a function belongs to these families

Features

  • Conversion routines between univariate polynomial representation and other common representations of vectorial Boolean functions:
    • truth tables
    • quadratic matrices
    • sequences
    • bivariate forms
    • trivariate forms
  • 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

The package can either be imported by module

from sagemath_cryptographic_functions_library import conversions, families, membership
families.family_4(3)
...

or by importing functions directly

from sagemath_cryptographic_functions_library import family_4
family_4(3)
...

Using Sage Online

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

Binder   Gitpod Ready-to-Code

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

├── sagemath_cryptographic_functions_library/
│   ├── __init__.py
│   ├── conversions.py    Conversions between representations
│   ├── families.py       Known APN family constructions
│   ├── helpers.py        Finite field utility functions
│   └── membership.py     Membership testing algorithms
├── README.md             This file
├── pyproject.toml        Build configuration
└── 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.2.0.tar.gz.

File metadata

File hashes

Hashes for sagemath_cryptographic_functions_library-0.2.0.tar.gz
Algorithm Hash digest
SHA256 f74e43f89e354255f860fdf22ecbc48b117225d3678cbbfa2b6a6700b79277aa
MD5 e15459560ada874fee4cb69f10c58e14
BLAKE2b-256 ca9a857c5391042f1c41bdc7fe09ef659f089e384c7c36903ca4aad64f2cbd25

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for sagemath_cryptographic_functions_library-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7c4260569bc4ea98f2a964fd8ed19e7a7f55c806a538f30a5009431d0f279c57
MD5 2fcd05fd57a7945bbbd2a9376e155bc6
BLAKE2b-256 b8a60c370b884c63f69ea1d8e063ceec43ee5adfbcd4102a29679dc6bed178bb

See more details on using hashes here.

Provenance

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