| 
    MCCI TweetNaCl
    
   TweetNaCl library adapted for embedded use 
   | 
 
 Collaboration diagram for One-time authentication:Data Structures | |
| struct | mcci_tweetnacl_onetimeauth_authenticator_t | 
| abstract type for crypto authenticators  More... | |
| struct | mcci_tweetnacl_onetimeauth_key_t | 
| abstract type for crypto keys  More... | |
| struct | mcci_tweetnacl_stream_key_t | 
| abstract type for crypto keys  More... | |
| struct | mcci_tweetnacl_stream_nonce_t | 
| abstract type for crypto nonces  More... | |
Functions | |
| static void | mcci_tweetnacl_core_hsalsa20 (unsigned char *out, const unsigned char *in, const mcci_tweetnacl_stream_key_t *key, const unsigned char *expansion) | 
| perform a core hash round of Salsa20 encryption.  More... | |
| static void | mcci_tweetnacl_core_salsa20 (unsigned char *out, const unsigned char *in, const mcci_tweetnacl_stream_key_t *key, const unsigned char *expansion) | 
| perform a core hash round of Salsa20 encryption.  More... | |
| static void | mcci_tweetnacl_onetimeauth (mcci_tweetnacl_onetimeauth_authenticator_t *pAuth, const unsigned char *pMessage, size_t nMessage, const mcci_tweetnacl_onetimeauth_key_t *pKey) | 
| Generate one-time authenticator for a given message and secret key.  More... | |
| static mcci_tweetnacl_result_t | mcci_tweetnacl_onetimeauth_verify (const mcci_tweetnacl_onetimeauth_authenticator_t *pAuth, const unsigned char *pMessage, size_t nMessage, const mcci_tweetnacl_onetimeauth_key_t *pKey) | 
| Verify message given one-time authenticator and secret key.  More... | |
| static void | mcci_tweetnacl_stream (unsigned char *pOutText, size_t sizeText, const mcci_tweetnacl_stream_nonce_t *pNonce, const mcci_tweetnacl_stream_key_t *pKey) | 
| Generate stream of crypto bytes.  More... | |
| static void | mcci_tweetnacl_stream_salsa20 (unsigned char *pOutText, size_t sizeText, const mcci_tweetnacl_stream_nonce_t *pNonce, const mcci_tweetnacl_stream_key_t *pKey) | 
| Generate stream of Salsa20 bytes.  More... | |
| static void | mcci_tweetnacl_stream_salsa20_xor (unsigned char *pOutText, const unsigned char *pInText, size_t sizeText, const mcci_tweetnacl_stream_nonce_t *pNonce, const mcci_tweetnacl_stream_key_t *pKey) | 
| encrypt or decrypt text using Salsa20  More... | |
| static void | mcci_tweetnacl_stream_xor (unsigned char *pOutText, const unsigned char *pInText, size_t sizeText, const mcci_tweetnacl_stream_nonce_t *pNonce, const mcci_tweetnacl_stream_key_t *pKey) | 
| Encrypt or decrypt text (using xsalsa20)  More... | |
      
  | 
  inlinestatic | 
perform a core hash round of Salsa20 encryption.
| [out] | out | pointer to a 64-byte buffer | 
| [in] | in | pointer to a 16-byte input value | 
| [in] | key | pointer to the 32-byte key | 
| [in] | expansion | pointer to a 16-byte expansion vector, normally "expand 32-byte k" | 
Definition at line 103 of file mcci_tweetnacl_stream.h.
References mcci_tweetnacl_stream_key_t::bytes.
      
  | 
  inlinestatic | 
perform a core hash round of Salsa20 encryption.
| [out] | out | pointer to a 64-byte buffer | 
| [in] | in | pointer to a 16-byte input value | 
| [in] | key | pointer to the 32-byte key | 
| [in] | expansion | pointer to a 16-byte expansion vector, normally either "expand 32-byte k" or "expand 16-byte k" | 
Definition at line 78 of file mcci_tweetnacl_stream.h.
References mcci_tweetnacl_stream_key_t::bytes.
      
  | 
  inlinestatic | 
Generate one-time authenticator for a given message and secret key.
| [out] | pAuth | set to the authenticator code. | 
| [in] | pMessage | the message to be authenticated. | 
| [in] | nMessage | number of bytes in the message. | 
| [in] | pKey | the secret key | 
Definition at line 75 of file mcci_tweetnacl_onetimeauth.h.
References mcci_tweetnacl_onetimeauth_key_t::bytes, and mcci_tweetnacl_onetimeauth_authenticator_t::bytes.
      
  | 
  inlinestatic | 
Verify message given one-time authenticator and secret key.
| [out] | pAuth | set to the authenticator code. | 
| [in] | pMessage | the message to be authenticated. | 
| [in] | nMessage | number of bytes in the message. | 
| [in] | pKey | the secret key | 
Definition at line 104 of file mcci_tweetnacl_onetimeauth.h.
References mcci_tweetnacl_onetimeauth_key_t::bytes, and mcci_tweetnacl_onetimeauth_authenticator_t::bytes.
      
  | 
  inlinestatic | 
Generate stream of crypto bytes.
| [out] | pOutText | pointer to buffer of size sizeText bytes.  | 
| [in] | sizeText | size of the output text buffer | 
| [in] | pNonce | pointer to 8-byte nonce, followed by 8-byte index buffer | 
| [in] | pKey | pointer to 32-byte key buffer. | 
Definition at line 188 of file mcci_tweetnacl_stream.h.
References mcci_tweetnacl_stream_key_t::bytes, and mcci_tweetnacl_stream_nonce_t::bytes.
      
  | 
  inlinestatic | 
Generate stream of Salsa20 bytes.
| [out] | pOutText | pointer to buffer of size sizeText bytes.  | 
| [in] | sizeText | size of the input and output text buffers | 
| [in] | pNonce | pointer to 8-byte nonce buffer | 
| [in] | pKey | pointer to 32-byte key buffer. | 
Definition at line 165 of file mcci_tweetnacl_stream.h.
References mcci_tweetnacl_stream_key_t::bytes, and mcci_tweetnacl_stream_nonce_t::bytes.
      
  | 
  inlinestatic | 
encrypt or decrypt text using Salsa20
| [out] | pOutText | pointer to buffer of size sizeText bytes.  | 
| [in] | pInText | pointer to buffer of size sizeText bytes. If NULL, a string of zero bytes will be substituted.  | 
| [in] | sizeText | size of the input and output text buffers | 
| [in] | pNonce | pointer to 8-byte nonce buffer | 
| [in] | pKey | pointer to 32-byte key buffer. | 
Definition at line 134 of file mcci_tweetnacl_stream.h.
References mcci_tweetnacl_stream_key_t::bytes, and mcci_tweetnacl_stream_nonce_t::bytes.
      
  | 
  inlinestatic | 
Encrypt or decrypt text (using xsalsa20)
| [out] | pOutText | pointer to buffer of size sizeText bytes.  | 
| [in] | pInText | pointer to buffer of size sizeText bytes.  | 
| [in] | sizeText | size of the output text buffer | 
| [in] | pNonce | pointer to 8-byte nonce, followed by 8-byte index buffer | 
| [in] | pKey | pointer to 32-byte key buffer. | 
Definition at line 219 of file mcci_tweetnacl_stream.h.
References mcci_tweetnacl_stream_key_t::bytes, and mcci_tweetnacl_stream_nonce_t::bytes.