GithubHelp home page GithubHelp logo

wbeaching / algebraic_ctc2-fast-algebraic-attack Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hadipourh/ctc2-fast-algebraic-attack

0.0 0.0 0.0 183 KB

A python class implementing the Courtois Toy Cipher (CTC2) equipped with some methods for algebraic cryptanalysis of CTC2

Python 78.64% Jupyter Notebook 21.36%

algebraic_ctc2-fast-algebraic-attack's Introduction

CTC(B = 10, Nr)

CTC2-Fast-Algebraic-Attack

A python class implementing Courtois Toy Cipher (CTC2), equipped with some methods to algebaic cryptanalysis of CTC2.

What is CTC?

CTC is a toy cipher designed by Courtois, in order to study algebraic attacks on block ciphers. Although it is very similar to the other block ciphers such as Present, it is not a real encryption tool. Soon after Courtois published CTC for the first time in [1], Dunkelman and Keller showed that a few bits of the key can be recovered by linear cryptanalysis [2], which cannot however compromise the security of a larger key. Although CTC had been presented only for studying algebraic attack, Courtois decided to revise it so that it is also secure against linear cryptanalysis, and that's why he presented the second version of CTC called CTC2 in [3]. there is little difference between CTC and CTC2, but CTC2 is more secure against linear cryptanalysis.

What can you do by these codes?

The CTC2.py inlcudes a class called CTC, which is equipped with some methods to generate algebraic equations of CTC2 over finite field GF(2). A Jupyter file named CTC.ipynb shows you, how to use this class in SageMath software to extract algebraic equations of CTC2 over GF(2), and solve them via a SAT solver such as Cryptominisat. Therefore you can generate CTC2 equations, and try to break CTC2 via solving the extracted equations with your own way, which may be better than the previous methods. Currently up to 10 rounds of CTC2 have been broken by algebraic attacks.

[1]: How Fast can be Algebraic Attacks on Block Ciphers? (2006)

[2]: Linear Cryptanalysis of CTC (2006)

[3]: CTC2 and Fast Algebraic Attacks on Block Ciphers Revisited (2007)

algebraic_ctc2-fast-algebraic-attack's People

Contributors

hadipourh 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.