|
meanwhile 1.0.2
|
Go to the source code of this file.
Data Structures | |
| struct | mwCipher |
| A cipher. More... | |
| struct | mwCipherInstance |
| An instance of a cipher. More... | |
Typedefs | |
| typedef struct mwCipherInstance *(* | mwCipherInstantiator )(struct mwCipher *cipher, struct mwChannel *chan) |
| Obtain an instance of a given cipher, which can be used for the processing of a single channel. | |
| typedef int(* | mwCipherProcessor )(struct mwCipherInstance *ci, struct mwOpaque *data) |
| Process (encrypt or decrypt, depending) the given data. | |
Enumerations | |
| enum | mwCipherType { mwCipher_RC2_40 = 0x0000, mwCipher_RC2_128 = 0x0001 } |
Common cipher types. More... | |
Functions | |
| void | mwCipher_free (struct mwCipher *cipher) |
| destroy a cipher | |
| const char * | mwCipher_getDesc (struct mwCipher *cipher) |
| const char * | mwCipher_getName (struct mwCipher *cipher) |
| struct mwSession * | mwCipher_getSession (struct mwCipher *cipher) |
| guint16 | mwCipher_getType (struct mwCipher *cipher) |
| struct mwCipher * | mwCipher_new_RC2_128 (struct mwSession *s) |
| struct mwCipher * | mwCipher_new_RC2_40 (struct mwSession *s) |
| struct mwCipherInstance * | mwCipher_newInstance (struct mwCipher *cipher, struct mwChannel *channel) |
| struct mwEncryptItem * | mwCipherInstance_accept (struct mwCipherInstance *ci) |
| Accept a cipher offered to our channel. | |
| void | mwCipherInstance_accepted (struct mwCipherInstance *ci, struct mwEncryptItem *item) |
| Indicates an offered cipher has been accepted. | |
| int | mwCipherInstance_decrypt (struct mwCipherInstance *ci, struct mwOpaque *data) |
| decrypt data | |
| int | mwCipherInstance_encrypt (struct mwCipherInstance *ci, struct mwOpaque *data) |
| encrypt data | |
| void | mwCipherInstance_free (struct mwCipherInstance *ci) |
| destroy a cipher instance | |
| struct mwChannel * | mwCipherInstance_getChannel (struct mwCipherInstance *ci) |
| reference the channel a cipher instance is attached to | |
| struct mwCipher * | mwCipherInstance_getCipher (struct mwCipherInstance *ci) |
| reference the parent cipher of an instance | |
| struct mwEncryptItem * | mwCipherInstance_offer (struct mwCipherInstance *ci) |
| Offer a cipher. | |
| void | mwCipherInstance_offered (struct mwCipherInstance *ci, struct mwEncryptItem *item) |
| Indicates a cipher has been offered to our channel. | |
| void | mwKeyRandom (guchar *key, gsize keylen) |
| generate some pseudo-random bytes | |
| void | mwIV_init (guchar *iv) |
| Setup an Initialization Vector. | |
| void | mwKeyExpand (int *ekey, const guchar *key, gsize keylen) |
| Expand a variable-length key into a 128-byte key (represented as an an array of 64 ints) | |
| void | mwEncryptExpanded (const int *ekey, guchar *iv, struct mwOpaque *in, struct mwOpaque *out) |
| Encrypt data using an already-expanded key. | |
| void | mwEncrypt (const guchar *key, gsize keylen, guchar *iv, struct mwOpaque *in, struct mwOpaque *out) |
| Encrypt data using an expanded form of the given key. | |
| void | mwDecryptExpanded (const int *ekey, guchar *iv, struct mwOpaque *in, struct mwOpaque *out) |
| Decrypt data using an already expanded key. | |
| void | mwDecrypt (const guchar *key, gsize keylen, guchar *iv, struct mwOpaque *in, struct mwOpaque *out) |
| Decrypt data using an expanded form of the given key. | |
| struct mwMpi * | mwMpi_new () |
| prepare a new mpi value | |
| void | mwMpi_free (struct mwMpi *i) |
| destroy an mpi value | |
| void | mwMpi_import (struct mwMpi *i, struct mwOpaque *o) |
| Import a value from an opaque. | |
| void | mwMpi_export (struct mwMpi *i, struct mwOpaque *o) |
| Export a value into an opaque. | |
| void | mwMpi_setDHPrime (struct mwMpi *i) |
| set a big integer to the Sametime Prime value | |
| void | mwMpi_setDHBase (struct mwMpi *i) |
| set a big integer to the Sametime Base value | |
| void | mwMpi_randDHKeypair (struct mwMpi *private_key, struct mwMpi *public_key) |
| sets private to a randomly generated value, and calculates public using the Sametime Prime and Base | |
| void | mwMpi_calculateDHShared (struct mwMpi *shared_key, struct mwMpi *remote_key, struct mwMpi *private_key) |
| sets the shared key value based on the remote and private keys, using the Sametime Prime and Base | |
| typedef struct mwCipherInstance*(* mwCipherInstantiator)(struct mwCipher *cipher, struct mwChannel *chan) |
Obtain an instance of a given cipher, which can be used for the processing of a single channel.
| typedef int(* mwCipherProcessor)(struct mwCipherInstance *ci, struct mwOpaque *data) |
Process (encrypt or decrypt, depending) the given data.
The passed buffer may be freed in processing and be replaced with a freshly allocated buffer. The post-processed buffer must in turn be freed after use
| enum mwCipherType |
| void mwCipher_free | ( | struct mwCipher * | cipher | ) |
destroy a cipher
| const char* mwCipher_getDesc | ( | struct mwCipher * | cipher | ) |
| const char* mwCipher_getName | ( | struct mwCipher * | cipher | ) |
| guint16 mwCipher_getType | ( | struct mwCipher * | cipher | ) |
| struct mwCipherInstance* mwCipher_newInstance | ( | struct mwCipher * | cipher, |
| struct mwChannel * | channel | ||
| ) | [read] |
| struct mwEncryptItem* mwCipherInstance_accept | ( | struct mwCipherInstance * | ci | ) | [read] |
Accept a cipher offered to our channel.
| void mwCipherInstance_accepted | ( | struct mwCipherInstance * | ci, |
| struct mwEncryptItem * | item | ||
| ) |
Indicates an offered cipher has been accepted.
| int mwCipherInstance_decrypt | ( | struct mwCipherInstance * | ci, |
| struct mwOpaque * | data | ||
| ) |
decrypt data
| int mwCipherInstance_encrypt | ( | struct mwCipherInstance * | ci, |
| struct mwOpaque * | data | ||
| ) |
encrypt data
| void mwCipherInstance_free | ( | struct mwCipherInstance * | ci | ) |
destroy a cipher instance
| struct mwChannel* mwCipherInstance_getChannel | ( | struct mwCipherInstance * | ci | ) | [read] |
reference the channel a cipher instance is attached to
| struct mwCipher* mwCipherInstance_getCipher | ( | struct mwCipherInstance * | ci | ) | [read] |
reference the parent cipher of an instance
| struct mwEncryptItem* mwCipherInstance_offer | ( | struct mwCipherInstance * | ci | ) | [read] |
Offer a cipher.
| void mwCipherInstance_offered | ( | struct mwCipherInstance * | ci, |
| struct mwEncryptItem * | item | ||
| ) |
Indicates a cipher has been offered to our channel.
| void mwDecrypt | ( | const guchar * | key, |
| gsize | keylen, | ||
| guchar * | iv, | ||
| struct mwOpaque * | in, | ||
| struct mwOpaque * | out | ||
| ) |
Decrypt data using an expanded form of the given key.
| void mwDecryptExpanded | ( | const int * | ekey, |
| guchar * | iv, | ||
| struct mwOpaque * | in, | ||
| struct mwOpaque * | out | ||
| ) |
Decrypt data using an already expanded key.
| void mwEncrypt | ( | const guchar * | key, |
| gsize | keylen, | ||
| guchar * | iv, | ||
| struct mwOpaque * | in, | ||
| struct mwOpaque * | out | ||
| ) |
Encrypt data using an expanded form of the given key.
| void mwEncryptExpanded | ( | const int * | ekey, |
| guchar * | iv, | ||
| struct mwOpaque * | in, | ||
| struct mwOpaque * | out | ||
| ) |
Encrypt data using an already-expanded key.
| void mwIV_init | ( | guchar * | iv | ) |
Setup an Initialization Vector.
IV must be at least 8 bytes
| void mwKeyExpand | ( | int * | ekey, |
| const guchar * | key, | ||
| gsize | keylen | ||
| ) |
Expand a variable-length key into a 128-byte key (represented as an an array of 64 ints)
| void mwKeyRandom | ( | guchar * | key, |
| gsize | keylen | ||
| ) |
| void mwMpi_calculateDHShared | ( | struct mwMpi * | shared_key, |
| struct mwMpi * | remote_key, | ||
| struct mwMpi * | private_key | ||
| ) |
sets the shared key value based on the remote and private keys, using the Sametime Prime and Base
| void mwMpi_free | ( | struct mwMpi * | i | ) |
destroy an mpi value
| struct mwMpi* mwMpi_new | ( | ) | [read] |
prepare a new mpi value
sets private to a randomly generated value, and calculates public using the Sametime Prime and Base
| void mwMpi_setDHBase | ( | struct mwMpi * | i | ) |
set a big integer to the Sametime Base value
| void mwMpi_setDHPrime | ( | struct mwMpi * | i | ) |
set a big integer to the Sametime Prime value
1.7.3