JUCE
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines
Public Member Functions | Static Public Member Functions | Protected Attributes
RSAKey Class Reference

RSA public/private key-pair encryption class. More...

List of all members.

Public Member Functions

 RSAKey ()
 Creates a null key object.
 RSAKey (const String &stringRepresentation)
 Loads a key from an encoded string representation.
 ~RSAKey ()
 Destructor.
bool operator== (const RSAKey &other) const noexcept
bool operator!= (const RSAKey &other) const noexcept
String toString () const
 Turns the key into a string representation.
bool applyToValue (BigInteger &value) const
 Encodes or decodes a value.

Static Public Member Functions

static void createKeyPair (RSAKey &publicKey, RSAKey &privateKey, int numBits, const int *randomSeeds=nullptr, int numRandomSeeds=0)
 Creates a public/private key-pair.

Protected Attributes

BigInteger part1
BigInteger part2

Detailed Description

RSA public/private key-pair encryption class.

An object of this type makes up one half of a public/private RSA key pair. Use the createKeyPair() method to create a matching pair for encoding/decoding.


Constructor & Destructor Documentation

Creates a null key object.

Initialise a pair of objects for use with the createKeyPair() method.

RSAKey::RSAKey ( const String stringRepresentation) [explicit]

Loads a key from an encoded string representation.

This reloads a key from a string created by the toString() method.

Destructor.


Member Function Documentation

bool RSAKey::operator== ( const RSAKey other) const
bool RSAKey::operator!= ( const RSAKey other) const

Turns the key into a string representation.

This can be reloaded using the constructor that takes a string.

bool RSAKey::applyToValue ( BigInteger value) const

Encodes or decodes a value.

Call this on the public key object to encode some data, then use the matching private key object to decode it.

Returns false if the operation couldn't be completed, e.g. if this key hasn't been initialised correctly.

NOTE: This method dumbly applies this key to this data. If you encode some data and then try to decode it with a key that doesn't match, this method will still happily do its job and return true, but the result won't be what you were expecting. It's your responsibility to check that the result is what you wanted.

static void RSAKey::createKeyPair ( RSAKey publicKey,
RSAKey privateKey,
int  numBits,
const int *  randomSeeds = nullptr,
int  numRandomSeeds = 0 
) [static]

Creates a public/private key-pair.

Each key will perform one-way encryption that can only be reversed by using the other key.

The numBits parameter specifies the size of key, e.g. 128, 256, 512 bit. Bigger sizes are more secure, but this method will take longer to execute.

The randomSeeds parameter lets you optionally pass it a set of values with which to seed the random number generation, improving the security of the keys generated. If you supply these, make sure you provide more than 2 values, and the more your provide, the better the security.


Member Data Documentation


The documentation for this class was generated from the following file: