# LCB Cipher



## Getting started

This repository contains supporting code for the paper:

    Improving the security of LCB block cipher against Deep Learning-based attacks

There are 5 seperate folders in this repository:

    LBC-IoT_Github - contains files used to train the deep learning model as a distinguisher for LBC-IoT
    SLIM_Github - contains files used to train the deep learning model as a distinguisher for SLIM
    LBC-IoT-Key-Recovery - contains files to run a key ranking attack on LBC-IoT
    NIST - contains file to run a data generation code for Secure LCB for analysis of NIST statistical tests
    Difference - contains .py file to be used with AutoND's repository

Each of the folders contains a Jupyter Notebook which can be used to run the respective programs.

The input difference for the ciphers has been calculated using https://github.com/Crypto-TII/AutoND
The deep learning model used in this work is taken from Gohr's work and some of the code are adapted from https://github.com/agohr/deep_speck