Code Monkey home page Code Monkey logo

quant-cryptanalysis-chacha's Introduction

quant-cryptanalysis-Chacha

This repository consists of experiments on a Few Quantum Cryptanalysis Techniques.
The folder structure is as follows:

  • ChaCha implementation
    • classical chacha.c: Classical ChaCha cipher implementation in C
    • classical with addition.ipynb: Notebook for classical ChaCha cipher implementation; easier to vary the number of bits in word size and constants
    • quantum rewired circuit.ipynb: Our Final Quantum ChaCha implementation (uses Cuccaro et al.'04 for addition modulo $2^n$, CNOT for XOR operations. rewiring for shift operations).
    • qubit and gate count.ipynb: Given a particular bit size, calculates the qubit count and depth of the circuit
  • ChaCha cryptanalysis
    • ID OD bias.ipynb: given a particular input difference and output difference position, generates the output difference
  • Finding linear approximations
    • classicalSmallGIFT.c: Generates the Linear approximation table for smallGIFT
    • quant_SmallGIFT_LC.py: Quantum implementation of smallGIFT cipher. Reference: https://github.com/tarunyadav/QuantumDifferentialAttack/blob/main/QuantumDifferentialCharacteristicsSearch.ipynb
    • SmallGIFT linear crypt_shared.ipynb: Finding linear approximations in smallGIFT cipher
    • getting distribution.ipynb: Generating the distribution of numbers for quantum smallGIFT
    • comparing classical and quantum histogram.ipynb: To visualise the classical and quantum histograms of frequency of linear approximations

quant-cryptanalysis-chacha's People

Contributors

san-saha avatar tharrmashasthapv avatar

Watchers

Sagnik Chatterjee avatar  avatar

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.