Skip to content

Latest commit

 

History

History
17 lines (16 loc) · 1.47 KB

README.md

File metadata and controls

17 lines (16 loc) · 1.47 KB

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