-
Notifications
You must be signed in to change notification settings - Fork 18
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Hacl Bot
committed
Nov 21, 2023
1 parent
4d3ac1c
commit 4778d6d
Showing
417 changed files
with
50,148 additions
and
59,403 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
/* MIT License | ||
* | ||
* Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation | ||
* Copyright (c) 2022-2023 HACL* Contributors | ||
* | ||
* Permission is hereby granted, free of charge, to any person obtaining a copy | ||
* of this software and associated documentation files (the "Software"), to deal | ||
* in the Software without restriction, including without limitation the rights | ||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
* copies of the Software, and to permit persons to whom the Software is | ||
* furnished to do so, subject to the following conditions: | ||
* | ||
* The above copyright notice and this permission notice shall be included in all | ||
* copies or substantial portions of the Software. | ||
* | ||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
* SOFTWARE. | ||
*/ | ||
|
||
|
||
#ifndef __Hacl_AEAD_Chacha20Poly1305_H | ||
#define __Hacl_AEAD_Chacha20Poly1305_H | ||
|
||
#if defined(__cplusplus) | ||
extern "C" { | ||
#endif | ||
|
||
#include <string.h> | ||
#include "krml/internal/types.h" | ||
#include "krml/lowstar_endianness.h" | ||
#include "krml/internal/target.h" | ||
|
||
#include "Hacl_Chacha20.h" | ||
|
||
/** | ||
Encrypt a message `input` with key `key`. | ||
The arguments `key`, `nonce`, `data`, and `data_len` are same in encryption/decryption. | ||
Note: Encryption and decryption can be executed in-place, i.e., `input` and `output` can point to the same memory. | ||
@param output Pointer to `input_len` bytes of memory where the ciphertext is written to. | ||
@param tag Pointer to 16 bytes of memory where the mac is written to. | ||
@param input Pointer to `input_len` bytes of memory where the message is read from. | ||
@param input_len Length of the message. | ||
@param data Pointer to `data_len` bytes of memory where the associated data is read from. | ||
@param data_len Length of the associated data. | ||
@param key Pointer to 32 bytes of memory where the AEAD key is read from. | ||
@param nonce Pointer to 12 bytes of memory where the AEAD nonce is read from. | ||
*/ | ||
void | ||
Hacl_AEAD_Chacha20Poly1305_encrypt( | ||
uint8_t *output, | ||
uint8_t *tag, | ||
uint8_t *input, | ||
uint32_t input_len, | ||
uint8_t *data, | ||
uint32_t data_len, | ||
uint8_t *key, | ||
uint8_t *nonce | ||
); | ||
|
||
/** | ||
Decrypt a ciphertext `input` with key `key`. | ||
The arguments `key`, `nonce`, `data`, and `data_len` are same in encryption/decryption. | ||
Note: Encryption and decryption can be executed in-place, i.e., `output` and `input` can point to the same memory. | ||
If decryption succeeds, the resulting plaintext is stored in `output` and the function returns the success code 0. | ||
If decryption fails, the array `output` remains unchanged and the function returns the error code 1. | ||
@param output Pointer to `input_len` bytes of memory where the message is written to. | ||
@param input Pointer to `input_len` bytes of memory where the ciphertext is read from. | ||
@param input_len Length of the ciphertext. | ||
@param data Pointer to `data_len` bytes of memory where the associated data is read from. | ||
@param data_len Length of the associated data. | ||
@param key Pointer to 32 bytes of memory where the AEAD key is read from. | ||
@param nonce Pointer to 12 bytes of memory where the AEAD nonce is read from. | ||
@param tag Pointer to 16 bytes of memory where the mac is read from. | ||
@returns 0 on succeess; 1 on failure. | ||
*/ | ||
uint32_t | ||
Hacl_AEAD_Chacha20Poly1305_decrypt( | ||
uint8_t *output, | ||
uint8_t *input, | ||
uint32_t input_len, | ||
uint8_t *data, | ||
uint32_t data_len, | ||
uint8_t *key, | ||
uint8_t *nonce, | ||
uint8_t *tag | ||
); | ||
|
||
#if defined(__cplusplus) | ||
} | ||
#endif | ||
|
||
#define __Hacl_AEAD_Chacha20Poly1305_H_DEFINED | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
/* MIT License | ||
* | ||
* Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation | ||
* Copyright (c) 2022-2023 HACL* Contributors | ||
* | ||
* Permission is hereby granted, free of charge, to any person obtaining a copy | ||
* of this software and associated documentation files (the "Software"), to deal | ||
* in the Software without restriction, including without limitation the rights | ||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
* copies of the Software, and to permit persons to whom the Software is | ||
* furnished to do so, subject to the following conditions: | ||
* | ||
* The above copyright notice and this permission notice shall be included in all | ||
* copies or substantial portions of the Software. | ||
* | ||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
* SOFTWARE. | ||
*/ | ||
|
||
|
||
#ifndef __Hacl_AEAD_Chacha20Poly1305_Simd128_H | ||
#define __Hacl_AEAD_Chacha20Poly1305_Simd128_H | ||
|
||
#if defined(__cplusplus) | ||
extern "C" { | ||
#endif | ||
|
||
#include <string.h> | ||
#include "krml/internal/types.h" | ||
#include "krml/lowstar_endianness.h" | ||
#include "krml/internal/target.h" | ||
|
||
#include "Hacl_Chacha20_Vec128.h" | ||
|
||
/** | ||
Encrypt a message `input` with key `key`. | ||
The arguments `key`, `nonce`, `data`, and `data_len` are same in encryption/decryption. | ||
Note: Encryption and decryption can be executed in-place, i.e., `input` and `output` can point to the same memory. | ||
@param output Pointer to `input_len` bytes of memory where the ciphertext is written to. | ||
@param tag Pointer to 16 bytes of memory where the mac is written to. | ||
@param input Pointer to `input_len` bytes of memory where the message is read from. | ||
@param input_len Length of the message. | ||
@param data Pointer to `data_len` bytes of memory where the associated data is read from. | ||
@param data_len Length of the associated data. | ||
@param key Pointer to 32 bytes of memory where the AEAD key is read from. | ||
@param nonce Pointer to 12 bytes of memory where the AEAD nonce is read from. | ||
*/ | ||
void | ||
Hacl_AEAD_Chacha20Poly1305_Simd128_encrypt( | ||
uint8_t *output, | ||
uint8_t *tag, | ||
uint8_t *input, | ||
uint32_t input_len, | ||
uint8_t *data, | ||
uint32_t data_len, | ||
uint8_t *key, | ||
uint8_t *nonce | ||
); | ||
|
||
/** | ||
Decrypt a ciphertext `input` with key `key`. | ||
The arguments `key`, `nonce`, `data`, and `data_len` are same in encryption/decryption. | ||
Note: Encryption and decryption can be executed in-place, i.e., `input` and `output` can point to the same memory. | ||
If decryption succeeds, the resulting plaintext is stored in `output` and the function returns the success code 0. | ||
If decryption fails, the array `output` remains unchanged and the function returns the error code 1. | ||
@param output Pointer to `input_len` bytes of memory where the message is written to. | ||
@param input Pointer to `input_len` bytes of memory where the ciphertext is read from. | ||
@param input_len Length of the ciphertext. | ||
@param data Pointer to `data_len` bytes of memory where the associated data is read from. | ||
@param data_len Length of the associated data. | ||
@param key Pointer to 32 bytes of memory where the AEAD key is read from. | ||
@param nonce Pointer to 12 bytes of memory where the AEAD nonce is read from. | ||
@param tag Pointer to 16 bytes of memory where the mac is read from. | ||
@returns 0 on succeess; 1 on failure. | ||
*/ | ||
uint32_t | ||
Hacl_AEAD_Chacha20Poly1305_Simd128_decrypt( | ||
uint8_t *output, | ||
uint8_t *input, | ||
uint32_t input_len, | ||
uint8_t *data, | ||
uint32_t data_len, | ||
uint8_t *key, | ||
uint8_t *nonce, | ||
uint8_t *tag | ||
); | ||
|
||
#if defined(__cplusplus) | ||
} | ||
#endif | ||
|
||
#define __Hacl_AEAD_Chacha20Poly1305_Simd128_H_DEFINED | ||
#endif |
Oops, something went wrong.