Git Product home page Git Product logo

rsakeyfind's Introduction

RSAKeyFinder 1.0 (2008-07-18)
By Nadia Heninger and J. Alex Halderman

This program illustrates automatic techniques for locating RSA
private and public keys in a captured memory image, as described in
Section 6.2 of the research paper:

  J. A. Halderman, S. D. Schoen, N. Heninger, W. Clarkson, W. Paul,
  J. A. Calandrino, A. J. Feldman, J. Appelbaum, and E. W. Felten.
  "Lest We Remember: Cold-Boot Attacks on Encryption Keys."
  Proc. 17th USENIX Security Symposium (Sec '08), San Jose, CA, July 2008.

For more information, see: http://citp.princeton.edu/memory/


There are two simple approaches:

a) The first method requires a modulus from a known public key. The
program searches for the modulus and attempts to parse the surrounding
data as a BER-encoded public or private key.

b) The second method does not require any knowledge of the key.  The
program searches for a fixed pattern--the BER-encoded RSA version
field followed by the integer type of the following field in an RSA
key--and attempts to parse the surrounding data as a BER-encoded
private key.

We successfully tested these techniques on a Linux system running
Apache 2.2.3 with mod_ssl.  However, RSA implementations that store
keys in memory using a different format will not be susceptible.


USAGE: 

  rsakeyfind MEMORY-IMAGE [MODULUS-FILE]

If MODULUS-FILE is specified, the program uses method (a) and attempts
to locate private and public keys; the MODULUS-FILE should contain a
hex-encoded version of the RSA modulus.  Otherwise, it uses method (b)
and attempts to locate only private keys.

rsakeyfind's People

Contributors

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