Giter Club home page Giter Club logo

rsapoisoner's Introduction

RSAPoisoner

Tool for standard attacks on the RSA cryptosystem

Running

Open up the terminal on the directory containing RSAPoisoner.sage and run the following command:

sage RSAPoisoner.sage

Instructions

When asked to enter data, enter the integer form of the data. Except for the conversions, all other options strictly take numbers as input.

Features

  1. RSA Encrypt -> Performs unpadded RSA encryption
  2. RSA Decrypt (d known) -> Decrypts RSA when private exponent d is known
  3. RSA Decrypt (factors known) -> Decrypts RSA when factors of the prime modulus N are known
  4. Common Modulus Attack (External) -> Uncovers plaintext given external attacker details in a common modulus situation
  5. Common Modulus Attack (Internal) -> Uncovers private exponent d given internal attacker details in a common modulus situation
  6. Small Public Exponent Attack -> Uncovers plaintext when the public exponent is too small
  7. Hastad's Broadcast Attack -> Uncovers plaintext broadcasted e times using Hastad's broadcast attack
  8. Wiener's Attack -> Attempts to uncover private exponent d using Wiener's attack
  9. Fermat's Factorisation -> Attemps factorisation by Fermat's factorisation method
  10. Twin Primes Factorisation -> Attempts factorisaton of a product of twin primes
  11. Extract Modulus (e known) -> Extracts the unknown prime modulus N given appropriate plaintext-ciphertext pairs when public exponent e is known
  12. Extract Modulus (e unknown) -> Extracts the unknown prime modulus N given appropriate plaintext-ciphertext pairs when public exponent e is unknown
  13. String To Long -> Converts an ASCII string to its integer representation
  14. Long To String -> Converts an integer to its ASCII representation
  15. Hex To Long -> Converts a hexadecimal to its integer value
  16. Long To Hex -> Converts an integer into its hexadecimal value
  17. String To Hex -> Converts an ASCII string to its hexadecimal value
  18. Hex To String -> Converts a hexadecimal value to its ASCII string
  19. Exit -> Exits the tool

Warning

The current version of the tool performs absolutely NO error-handling. It assumes that the user enters appropriate inputs and does not try to crash the program. I plan on implementing error-handling in the future.

rsapoisoner's People

Contributors

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