Code Monkey home page Code Monkey logo

dsa's Introduction

Cache Timing using DSA Algorithm

Team Members

  • Animesh Bohara
  • Ankit
  • Anmol Singh
  • Eashan Gupta
  • Shourya Pandey

Workflow

Download OpenSSL 1.0.2h source code from https://www.openssl.org/source/old/1.0.2/
Go to the installation directory and run ./config. Do not run make depend at this point
Open Makefile and add -g to the end of the line containg CFLAG=.....\

make depend
make
sudo make install

Copy the given flushreload.c and plot.py in the flush-reload-attacks/flush-reload/myversion and redirect to this folder
Run make in the above folder
Run gdb, then run command file /usr/local/ssl/bin/openssl to load debugging symbols
Run break bn_sqr8x_mont inside gdb and note the virtual address printed(V1)
Run break bn_mul4x_mont inside gdb and note the virtual address printed(V2)\

./spy -e /usr/local/ssl/bin/openssl -p S:V1 -p M:V2 -s 256 -t 80 | python3 plot.py

In another terminal, run the folowwing:

/usr/local/ssl/bin/openssl dgst -dss1 -sign ~/dsa.pem -out ~/lsb-release.sig /etc/lsb-release

For performance degradation:
Breaking on Lsqr4x_shift_n_add, L8x_reduce, L1st4x, Louter4x, Lsqr4x_inner, Linner4x

Ideal parameters

Threshold : 80
Slot size : 2048

Resources

  1. Cache-Timing Techniques: Exploiting the DSA Algorithm - https://aaltodoc.aalto.fi/bitstream/handle/123456789/21579/master_Pereida_Garcia_Cesar_2016.pdf?sequence=2&isAllowed=y
  2. Mastik - https://cs.adelaide.edu.au/~yval/Mastik/?fbclid=IwAR2hGZZjn1zFULJPkjfsrJZlfN23pcYQg1M1I-gShnoQdaN5BzinsMM4Ow0
  3. Mastik Tutorial - https://cs.adelaide.edu.au/~yval/CHES16/?fbclid=IwAR0iWFJXs7-JhOXMH_jTsQTzrQ91VOMt4OoFbN3pgbzT-Ha5Uy0dwV7-S1k
  4. Flush Reload Attacks (Github Repo) - https://github.com/defuse/flush-reload-attacks
  5. Side Channel Attack Tutorial - https://cryptologie.net/article/367/ches-2016-tutorial-part-2-micro-architectural-side-channel-attacks/?fbclid=IwAR0Kyk1BpvkNUbZBGlAa5Vtc2fWj8C1ydHcgFd25CbGGglafSsp1nMu7XH8

dsa's People

Contributors

v-zion 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.