Coder Social home page Coder Social logo

colavitam / curl-collisions Goto Github PK

View Code? Open in Web Editor NEW
23.0 3.0 1.0 498 KB

An implementation of Heilman et al.'s differential attack on IOTA's Curl hashing function.

License: MIT License

C 98.84% Makefile 1.16%
iota curl collision attack cryptanalysis cryptography

curl-collisions's Introduction

Curl Collisions

This project provides an efficient implementation of Heilman et al.'s collision attack on IOTA's now-deprecated hash function, Curl. It can be used to generate novel collisions in the hash function in minutes to hours depending on hardware. Please see our report for a detailed coverage of the methodology behind its implementation.

Usage

To generate collisions using this project, clone the repository locally and build with make. Start the program with ./collide -t NUM_THREADS where NUM_THREADS is the suitable number of threads for your machine.

Example collisions

hash(ACMUXEIFDOIVQMVZNXPNWGSA9JGCN9RIMWOYNFLAVLBKRJPKRAYFCGSD9CAJEFVPHIWRZEKQHUHCAKKSTXMDZMMVEVVCTQFRTMDR9QLPG9QUWBHBQBVOPDWDIOFUWBK9IREKOUVRHDODLLXCLMJWZZXENYXDUSVDGU)=
hash(ACMUXEIFDOIVQMVZNXPNWGSA9JGCN9RIMWOYNFLAVLBKRJPKRAYFCGSD9CAJEFVPHIWRZEKQHUHCAKKSTXMDZMMVEVVCTQFRTMDR9QLPG9QUWBHBQBVOPDWDIOGUWBK9IREKOUVRHDODLLXCLMJWZZXENYXDUSVDGU)=
BUEXRNXFUP9HUMBOJWJZBQKDTZKOUVUXSJAXGKMNH9I9EWNBXPBCFNEPBFCQFDYZZCBMXOTP9DOIMKEZ9

hash(ACMUXEIFDOIVQMVZNXPNWGSA9JGCN9RIMWOYNFLAVLBKRJPKRAYFCGSD9CAJEFVPHIWRZEKQHUHCAKKSTFYYHYMOGOVCTIYRVML9IKFSGCPSYBK9RDKNGBTVXIRIB9FBJOPLPUKRQMLVUOXDGKGDZ9FWWEXDXGJPYU)=
hash(ACMUXEIFDOIVQMVZNXPNWGSA9JGCN9RIMWOYNFLAVLBKRJPKRAYFCGSD9CAJEFVPHIWRZEKQHUHCAKKSTFYYHYMOGOVCTIYRVML9IKFSGCPSYBK9RDKNGBTVXISIB9FBJOPLPUKRQMLVUOXDGKGDZ9FWWEXDXGJPYU)=
XYXHZSVKLZFZQSLXCGSDZHYLPBNXVIDUMPTCWKUZSDPQMTETH9UFHPQAAWLNE9PTR9KBITPUU9ZOQXBTZ

hash(ACMUXEIFDOIVQMVZNXPNWGSA9JGCN9RIMWOYNFLAVLBKRJPKRAYFCGSD9CAJEFVPHIWRZEKQHUHCAKKSTLGGEAMPJQQDUZERLMKRXNXDS9OUDDKY9KKYNKTYU99IWWFXHPGLELTRRGOAIL9DMJH9Y9GOGEEMXSMDPR)=
hash(ACMUXEIFDOIVQMVZNXPNWGSA9JGCN9RIMWOYNFLAVLBKRJPKRAYFCGSD9CAJEFVPHIWRZEKQHUHCAKKSTLGGEAMPJQQDUZERLMKRXNXDS9OUDDKY9KKYNKTYU9AIWWFXHPGLELTRRGOAIL9DMJH9Y9GOGEEMXSMDPR)=
UT9GBOHGMYVVMXPDQWVDIZFDLFUGI9XNSL9LVTGKKLMBBJTBQ9PGDXGXLPHOQFPIMNIZAPHSIAVRDV9BX

hash(ACMUXEIFDOIVQMVZNXPNWGSA9JGCN9RIMWOYNFLAVLBKRJPKRAYFCGSD9CAJEFVPHIWRZEKQHUHCAKKSTISJNJGNFTPXNANSTMCRIKXMJXRNXAIBZUDONDBMXUXFBAJCMUPTGVV9QDRGIXCWJKIBDZFXYOYMUSDGPU)=
hash(ACMUXEIFDOIVQMVZNXPNWGSA9JGCN9RIMWOYNFLAVLBKRJPKRAYFCGSD9CAJEFVPHIWRZEKQHUHCAKKSTISJNJGNFTPXNANSTMCRIKXMJXRNXAIBZUDONDBMXUYFBAJCMUPTGVV9QDRGIXCWJKIBDZFXYOYMUSDGPU)=
DHSPNMAPHELGLFBRXBGXN9NLLLRVQRPZYN9NVKLOXSIJQ9NVGOQBIUPVRSBQRDCMBQMIBTIMIHKPWLHWU

hash(ACMUXEIFDOIVQMVZNXPNWGSA9JGCN9RIMWOYNFLAVLBKRJPKRAYFCGSD9CAJEFVPHIWRZEKQHUHCAKKSTFDVNYJTHVN9SQYZTVVICZCVACPQWDLYJCDEXLWDUUOCZ9MWLNEVETBQAGOARRXDIGIXYQEPGPEVIYMADU)=
hash(ACMUXEIFDOIVQMVZNXPNWGSA9JGCN9RIMWOYNFLAVLBKRJPKRAYFCGSD9CAJEFVPHIWRZEKQHUHCAKKSTFDVNYJTHVN9SQYZTVVICZCVACPQWDLYJCDEXLWDUUPCZ9MWLNEVETBQAGOARRXDIGIXYQEPGPEVIYMADU)=
GJXEJZISSTXJGLS99RVEFHOZJITZWCRDFVTDSAYGNBMMXSYXNRXPHRYPDIZWFILJDBV9QVHMIOAUSINNB

hash(ACMUXEIFDOIVQMVZNXPNWGSA9JGCN9RIMWOYNFLAVLBKRJPKRAYFCGSD9CAJEFVPHIWRZEKQHUHCAKKSTLSVNSGRLSUZNROAVKM9OZOGMCQSXBJY9KLNYVQYUUUUWAEYFNWCOKURQJFV9RXCKKLB9RXGXGNVOPAVGU)=
hash(ACMUXEIFDOIVQMVZNXPNWGSA9JGCN9RIMWOYNFLAVLBKRJPKRAYFCGSD9CAJEFVPHIWRZEKQHUHCAKKSTLSVNSGRLSUZNROAVKM9OZOGMCQSXBJY9KLNYVQYUUVUWAEYFNWCOKURQJFV9RXCKKLB9RXGXGNVOPAVGU)=
LRK9AHITJUEMPFCPVGFUZRNVWIF9TSYOJROYAZBENSWGSC9PDIHUAPKFTJECCPLOWJHSLW9SOTQQ9EKIP

Example full-state collision prefixes

PJGZBOAWTZGMTXBKRFQJMBWNPIKNPMBNHFMMPDZGVB9XXJ9MCJAIQKXAHRMGCWN9XL9SIYZC9TUGFEBSK9GBNRYYAXXRWCPGTZR9XRIHXMYGRTEAHUSYGVKDSAUW9VTVJMMJXRLZRNZRPMEOFYAVBTHM9GZYEGOWQT
PJGZBOAWTZGMTXBKRFQJMBWNPIKNPMBNHFMMPDZGVB9XXJ9MCJAIQKXAHRMGCWN9XL9SIYZC9TUGFEBSK9GBNRYYAXXRECPGTZR9XRIHXMYGRTEAHUSYGVKDSAUW9VTVJMMJXRLZRNZRPMEOFYAVBTHM9GZYEGOWQT

ESXLBATKVGFXMBSFWMCWLLOOKIFPHWE9UKUJIYHEIKOPADEJZDEZDFGMQASRYPITOYBMJXHISGALBSVBWIEHUIZ9JPZVJAMRNCCHBBWNLOBWQLHCWUVDXS9RXGGWDCMBXNHCICDSAOQYOBQHEBQFJAWPWTAQNZMRLJ
ESXLBATKVGFXMBSFWMCWLLOOKIFPHWE9UKUJIYHEIKOPADEJZDEZDFGMQASRYPITOYBMJXHISGALBSVBWIEHUIH9JPZVJAMRNCCHBBWNLOBWQLHCWUVDXS9RXGGWDCMBXNHCICDSAOQYOBQHEBQFJAWPWTAQNZMRLJ

DGUNWWBDYJTMZTQCZA9YCUBMEQOAYGQQARNPARQQMBIECEVABJQMSCNKORWK9OIGLPFNTOUD9JJBVWCDBHCSRITVNWMHMTOTCJOPOPJGXWGGQBUKUPVD9OAQLNLMVYAMOXNZPZOIHW9HTWIGAAU9OKRISOPBSXLMKT
DGUNWWBDYJTMZTQCZA9YCUBMEQOAYGQQARNPARQQMBIECEVABJQMSCNKORWK9OIGLPFNTOUD9JJBVWCDBHCSRITVNWMHMTOTCJOPOPJGXWGGQBUKUPVD9OAQLNLMVYAMOXNZPZOLHW9HTWIGAAU9OKRISOPBSXLMKT

JXALEYWJKUKMIFXAEWTCHPPNCJWI9THDCOPIWEK9XYQUZEKHPTLUPQLUXRXWFALCRMSRLBMKQILBBFISIEASHUUYFN9TVFAOEJGNQUWPPCUAVNCBICQCXUQFUTSIYPAHRHRQIJQFJMRS9GJQGJKTSTETQJMLBZZGQO
JXALEYWJKUKMIFXAEWTCHPPNCJWI9THDCOPIWEK9XYQUZEKHPTLUPQLUXRXWFALCRMSRLBMKQILBBFISIEASHUUYFN9TVFAOEJGNQUWPPCUAVNCBICQCXUQFUTSIYPAHRHRQIJQFJMRS9GJQGJKTSTETQMMLBZZGQO

ZRQVFYSECZEIDZTMECCRLBCHBGHWRCGGREWAREWD9TLKZXOKPKAEZCTMNFMUXALVLFPAGQBSYDOAGNZJHGPFOQIAADNAQMAUOSXNH9RGUXUIJ9LR9NZAOB9XRJONKZZHWOZUMPZINXPQXTXHJMWIZUZEC9FJZYYCHA
ZRQVFYSECZEIDZTMECCRLBCHBGHWRCGGREWAREWD9TLKZXOKPKAEZCTMNFMUXALVLFPAGQBSYDOAGNZJHGPFOQIAADNAQMAUOSXNH9RGUXUIJ9LR9NZAOB9XRJONKZZHWOZUMPZINXPQXTXHJMWIZUHEC9FJZYYCHA

Collaborators

  • Michael Colavita
  • Garrett Tanzer

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.