summaryrefslogtreecommitdiffstats
path: root/SecurityPkg/RandomNumberGenerator/RngDxe/AesCore.h
diff options
context:
space:
mode:
authorLong, Qin <qin.long@intel.com>2013-11-19 01:49:49 +0000
committersfu5 <sfu5@6f19259b-4bc3-4df7-8a09-765794883524>2013-11-19 01:49:49 +0000
commit3aa8dc6cd37d9487e32d24e49e63267df9b9cccb (patch)
tree99a9f9403cf4c9aaaa3c96015950a0faa03750f0 /SecurityPkg/RandomNumberGenerator/RngDxe/AesCore.h
parent419db80bef66edff583a0a5f406e801d70f11344 (diff)
downloadedk2-3aa8dc6cd37d9487e32d24e49e63267df9b9cccb.tar.gz
edk2-3aa8dc6cd37d9487e32d24e49e63267df9b9cccb.tar.bz2
edk2-3aa8dc6cd37d9487e32d24e49e63267df9b9cccb.zip
Add UEFI RNG Protocol support. The driver will leverage Intel Secure Key technology to produce the Random Number Generator protocol, which is used to provide high-quality random numbers for use in applications, or entropy for seeding other random number generators. Refer to http://software.intel.com/en-us/articles/intel-digital-random-number-generator-drng-software-implementation-guide/ for more information about Intel Secure Key technology.
Signed-off-by: Long, Qin <qin.long@intel.com> Reviewed-by: Fu, Siyuan <siyuan.fu@intel.com> Reviewed-by: Rosenbaum, Lee G <lee.g.rosenbaum@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14858 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'SecurityPkg/RandomNumberGenerator/RngDxe/AesCore.h')
-rw-r--r--SecurityPkg/RandomNumberGenerator/RngDxe/AesCore.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/SecurityPkg/RandomNumberGenerator/RngDxe/AesCore.h b/SecurityPkg/RandomNumberGenerator/RngDxe/AesCore.h
new file mode 100644
index 0000000000..8279c61160
--- /dev/null
+++ b/SecurityPkg/RandomNumberGenerator/RngDxe/AesCore.h
@@ -0,0 +1,37 @@
+/** @file
+ Function prototype for AES Block Cipher support.
+
+Copyright (c) 2013, Intel Corporation. All rights reserved.<BR>
+This program and the accompanying materials
+are licensed and made available under the terms and conditions of the BSD License
+which accompanies this distribution. The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef __AES_CORE_H__
+#define __AES_CORE_H__
+
+/**
+ Encrypts one single block data (128 bits) with AES algorithm.
+
+ @param[in] Key AES symmetric key buffer.
+ @param[in] InData One block of input plaintext to be encrypted.
+ @param[out] OutData Encrypted output ciphertext.
+
+ @retval EFI_SUCCESS AES Block Encryption succeeded.
+ @retval EFI_INVALID_PARAMETER One or more parameters are invalid.
+
+**/
+EFI_STATUS
+EFIAPI
+AesEncrypt (
+ IN UINT8 *Key,
+ IN UINT8 *InData,
+ OUT UINT8 *OutData
+ );
+
+#endif // __AES_CORE_H__