summaryrefslogtreecommitdiff
path: root/Source/Core/Common/Crypto/AES.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/Common/Crypto/AES.cpp')
-rw-r--r--Source/Core/Common/Crypto/AES.cpp24
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