diff options
Diffstat (limited to 'Source/Core/Common/Crypto/AES.cpp')
| -rw-r--r-- | Source/Core/Common/Crypto/AES.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/Source/Core/Common/Crypto/AES.cpp b/Source/Core/Common/Crypto/AES.cpp new file mode 100644 index 0000000000..e12ba2481c --- /dev/null +++ b/Source/Core/Common/Crypto/AES.cpp @@ -0,0 +1,24 @@ +// Copyright 2017 Dolphin Emulator Project +// Licensed under GPLv2+ +// Refer to the license.txt file included. + +#include <mbedtls/aes.h> + +#include "Common/Crypto/AES.h" + +namespace Common +{ +namespace AES +{ +std::vector<u8> Decrypt(const u8* key, u8* iv, const u8* src, size_t size) +{ + mbedtls_aes_context aes_ctx; + std::vector<u8> buffer(size); + + mbedtls_aes_setkey_dec(&aes_ctx, key, 128); + mbedtls_aes_crypt_cbc(&aes_ctx, MBEDTLS_AES_DECRYPT, size, iv, src, buffer.data()); + + return buffer; +} +} // namespace AES +} // namespace Common |
