GithubHelp home page GithubHelp logo

diversity-within-rijndael's Introduction

Diversity-Within-Rijndael

This project generates Rijndael variants as described in "Diversity Within the Rijndael Design Principles for Resistance to Differential Power Analysis." This is for demonstration purposes only and does not address timing side channels.

It runs inside the SageMath environment:
W. Stein et al., Sage Mathematics Software (Version 6.2), The Sage Development Team, 2015, http://www.sagemath.org.

A single text block can be encrypted or decrypted with a new variant.

Contents

The code generalizes the steps of a round as follows:

Generalization Testing
1. SubBytes sub_bytes.sage test_sub_bytes.sage
2. ShiftRows shift_rows.sage test_shift_rows.sage
3. MixColumns mix_columns.sage test_mix_columns.sage
4. AddRoundKey key.sage test_key_expansion.sage
Encrypt block encrypt.sage test_encryption.sage
Other files contain test data to verify implementation in aes_test_vectors.sage, general purpose testing in test_util.sage, and examples in example.sage.

Documentation is included through pydoc in html files corresponding to each sage file.

Testing

In the same directory as the above files, verify that all tests pass.

sage: load("test_util.sage")  
sage: test_all()  
---Testing AES sub_bytes---  
Matching against AES SubBytes passed...  

Generate a SubBytes variant and measure its properties (outputs will vary).

sage: load("example.sage")  
sage: example_sub_bytes()  
SubBytes: [6, 67, 118, 87, 75, 205, 39, 111, 174, 142, 236,...  
Free of fixed points: False  
Maximal linear bias: 16  
Maximal difference probability: 4

Citing

Please cite this code as the following publication:
Spain, M., Varia, M.: Diversity Within the Rijndael Design Principles for Resistance to Differential Power Analysis. In: International Conference on Cryptology and Network Security. Springer (2016)

Copyright

Copyright 2016 Massachusetts Institute of Technology
Project: CryptoSynth
Author: Merrielle Spain

This software is distributed by open source pursuant to the GNU General Public License ("GPLv2") Version 2 authored by the Free Software Foundation (available at http://www.fsf.org).

Disclaimer

The software/firmware is provided to you on an As-Is basis

This material is based upon work supported by the Department of the Navy under Air Force Contract No. FA8721-05-C-0002 and/or FA8702-15-D-0001. Any opinions, findings, conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the Department of the Navy.

diversity-within-rijndael's People

Contributors

m-spain avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

gazfaris

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.