/whitebox

White-box Analysis and Implementation Tools

Primary LanguagePythonOtherNOASSERTION

White-box Analysis and Implementation Tools

This repository contains various tools for (crypt)analysis and implementation of white-box designs. Currently, it has two major parts.

This folder contains proof-of-concept code for the paper

Attacks and Countermeasures for White-box Designs
by Alex Biryukov and Aleksei Udovenko (ASIACRYPT 2018)

The code is splitted into three parts:

  1. Implementation: Proof-of-concept implementation of AES using the new nonlinear masking scheme.
  2. Verification: Code for verifying algebraic security of gadgets.
  3. Attacks: Several attacks from the paper.

Slides from the ASIACRYPT presentation are available.

Paper is available.

Requirements: Python2, SageMath, PyPy2 (recommended)

@inproceedings{AC18BU,
  author    = {Alex Biryukov and
               Aleksei Udovenko},
  title     = {Attacks and Countermeasures for White-box Designs},
  booktitle = {{ASIACRYPT} {(2)}},
  series    = {Lecture Notes in Computer Science},
  volume    = {11273},
  pages     = {373--402},
  publisher = {Springer},
  year      = {2018}
}

This repository contains a framework for implementing and analysing circuit-based implementations. It was presented at the WhibOx 2019 workshop by Aleksei Udovenko. It is basically a separated and improved version of the implementation framework used in the White-box Algebraic Security part.

Slides from the workshop are available.

Requirements: Python2, SageMath, PyPy2 (recommended). Python 3 support may be added soon.

@misc{WB2019U,
  author    = {Aleksei Udovenko},
  title     = {Synthesis Tools for White-box Implementations},
  howpublished = {WhibOx 2019. White-Box Cryptography and Obfuscation (2nd Edition)},
  year      = {2019}
}