You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.7 KiB
55 lines
1.7 KiB
/* |
|
* Copyright (C) 2013 Freie Universität Berlin |
|
* |
|
* This file is subject to the terms and conditions of the GNU Lesser |
|
* General Public License v2.1. See the file LICENSE in the top level |
|
* directory for more details. |
|
*/ |
|
|
|
/** |
|
* @defgroup sys_crypto Crypto |
|
* @ingroup sys |
|
* |
|
* @brief RIOT provides a collection of block cipher ciphers, different |
|
operation modes and cryptographic hash algorithms. |
|
* |
|
* @section ciphers Ciphers |
|
* |
|
* Riot supports the following block ciphers: |
|
* * AES-128 |
|
* * NULL |
|
* |
|
* You can use them directly by adding "crypto" to your USEMODULE-List. |
|
* While you can use the ciphers functions directly, you should resort to |
|
* the generic API for block ciphers whenever possible. |
|
* |
|
* Additionally you need to set a CFLAG for each cipher you want to use in your Makefile: |
|
* * AES-128: CFLAGS += -DCRYPTO_AES |
|
* Setting the CFLAGS initializes a sufficient large buffer size of the cipher_context_t, |
|
* used by the ciphers for en-/de-cryption operations. |
|
* |
|
* Example: |
|
* @code |
|
* #include "crypto/ciphers.h" |
|
* |
|
* cipher_t cipher; |
|
* uint8_t key[AES_KEY_SIZE] = {0}, |
|
* plain_text[AES_BLOCK_SIZE] = {0}, |
|
* cipher_text[AES_BLOCK_SIZE] = {0}; |
|
* |
|
* if (cipher_init(&cipher, CIPHER_AES_128, key, AES_KEY_SIZE) < 0) |
|
* printf("Cipher init failed!\n"); |
|
* |
|
* if (cipher_encrypt(&cipher, plain_text, cipher_text) < 0) |
|
* printf("Cipher encryption failed!\n"); |
|
* else |
|
* od_hex_dump(cipher_text, AES_BLOCK_SIZE, 0); |
|
* |
|
* @endcode |
|
* |
|
* If you need to encrypt data of arbitrary size take a look at the different |
|
* operation modes like: CBC, CTR or CCM. |
|
* |
|
* Additional examples can be found in the test suite. |
|
* |
|
*/
|
|
|