Code Monkey home page Code Monkey logo

dfa_simeck's Introduction

Differential Fault Analysis (DFA) against SIMECK family of lightweight block ciphers


SIMECK ciphers

SIMECK family of lightweight block ciphers was introduced by researchers from University of Waterloo [1]. This is a family of lightweight block ciphers based upon a balanced Feistel structure that combines the good design principles of the SIMON and SPECK block ciphers [2]. Specifically, SIMECK consists of three members with block sizes of 32, 48 and 64 and the corresponding key sizes are 64, 96 and 128, respectively. As demonstrated in [1], SIMECK allows a smaller and more efficient hardware implementation in comparison to SIMON. Due to its nice property in efficiency, SIMECK has been significantly analyzed since its publication.

DFA attacks

More detailed technical description of the attacks can be found our paper Improved fault analysis on SIMECK ciphers.

Simulation

This code project provides a simulation of DFA attack against all three ciphers in SIMECK family. There are three source code files coressponding to the proposed attacks to three members of SIMECK family of lightweight block ciphers. Each attack will recover not only the last round key, but also the full master key.

The simulation attacks will run 10,000 times and output the average number of faults injected to recover the aforementioned keys.

How to use?

Download

git clone https://github.com/dple/DFA_Simeck.git

Compile

We provide a Makefile to compile source files. It is thus easy to compile all attacks at once with the following command in the same source folder:

make

After compiling, you will have three executable files: FA_SIMECK32, FA_SIMECK48, and FA_SIMECK64, each for one member of SIMECK.

Results

For each cipher member, we carried out 10,000 simulation attacks and report the average number of faulty ciphers required to recover the last round key and the whole master key (corresponding to the last 4 round keys .

alt text

The above Figure shows a histogram of the number of fault injections to obtain the last round key and the full master key of all three variants of SIMECK block cipher. Frequency is represented on the vertical axis and the number of fault injections is represented on the horizontal axis.


References

[1] Improved fault analysis on SIMECK ciphers, by Duc-Phong Le, Rongxing Lu and Ali A. Ghorbani, Journal of Cryptographic Engineering, 2021, https://link.springer.com/article/10.1007/s13389-021-00263-w

[2] The Simeck Family of Lightweight Block Ciphers, by Gangqiang Yang, Bo Zhu, Valentin Suder, Mark D. Aagaard, and Guang Gong, CHES 2015. https://eprint.iacr.org/2015/612

[3] SIMON and SPECK: Block Ciphers for the Internet of Things, Ray Beaulieu and Douglas Shors and Jason Smith and Stefan Treatman-Clark and Bryan Weeks and Louis Wingers. https://eprint.iacr.org/2015/585

dfa_simeck's People

Contributors

dple avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

wbeaching

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.