| /* SPDX-License-Identifier: GPL-2.0+ */ |
| /* |
| * Copyright (c) 2011 The Chromium OS Authors. |
| * (C) Copyright 2010 - 2011 NVIDIA Corporation <www.nvidia.com> |
| */ |
| |
| #ifndef _CRYPTO_H_ |
| #define _CRYPTO_H_ |
| |
| /** |
| * Sign a block of data |
| * |
| * \param source Source data |
| * \param length Size of source data |
| * \param signature Destination address for signature, AES_KEY_LENGTH bytes |
| */ |
| int sign_data_block(u8 *source, unsigned int length, u8 *signature); |
| |
| /** |
| * Sign an encrypted block of data |
| * |
| * \param source Source data |
| * \param length Size of source data |
| * \param signature Destination address for signature, AES_KEY_LENGTH bytes |
| * \param key AES128 encryption key |
| */ |
| int sign_enc_data_block(u8 *source, unsigned int length, u8 *signature, u8 *key); |
| |
| /** |
| * Encrypt a block of data |
| * |
| * \param source Source data |
| * \param length Size of source data |
| * \param key AES128 encryption key |
| */ |
| int encrypt_data_block(u8 *source, unsigned int length, u8 *key); |
| |
| /** |
| * Decrypt a block of data |
| * |
| * \param source Source data |
| * \param length Size of source data |
| * \param key AES128 encryption key |
| */ |
| int decrypt_data_block(u8 *source, unsigned int length, u8 *key); |
| |
| #endif /* #ifndef _CRYPTO_H_ */ |