Coder Social home page Coder Social logo

popping-r-propping-code-and-data's Introduction

Popping "R-propping"

This repository contains code for replicating the experiments in the 'Popping "R-propping"' paper. The code is written in Sagemath 9.4.

Verifying the implementation of M_k(F_{2^8})

We provide code to verify that our computations in M_k(F_{2^8}) obtain the same results as those in the "R-propping" series of papers. To run the verification, run

sage papers.py

Plaintext-recovery attacks

To run the attacks on the GSDP-related HK17-like encryption scheme, run

sage plaintextrec.py

Use the --warmup flag to run the "warmup" attack against the buggy scheme using coefficient-wise product Use the --same-m-n flag to make alice and bob use the same exponents m and n. Use the --seed flag to change the PRNG seed for the experiments. Use the --verbose flag to see the output of every instance, including the orders of g_0.

Forgery attacks

To run the forgery attacks on the signature scheme, run

sage forgery.py

Use the --seed flag to change the PRNG seed for the experiments. Use the --tries flag to determine how many tries to run for the experiments. Use the --verbose flag to see the output of every instance, including the orders of g_0.

DLP attacks

To run the DLP attacks on the "R-propped" parameters, run

sage dlp.py

Use the --seed flag to change the PRNG seed for the experiments. Use the --tries flag to determine how many tries to run for the experiments. Use the --verbose flag to see the output of every instance, including the orders of g_0.

Extras: reproducing computations from the "R-propping" papers

As part of our work, we implemented the examples given in some of the "R-propping" papers, to check that our implementation matched the original one. The numbers can be generated by running

sage papers.py

popping-r-propping-code-and-data's People

Contributors

fvirdia avatar

Stargazers

 avatar Maciej Sawka avatar

Watchers

 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.