diff options
author | wwylele <wwylele@gmail.com> | 2017-01-01 13:58:02 +0100 |
---|---|---|
committer | wwylele <wwylele@gmail.com> | 2017-02-21 22:57:31 +0100 |
commit | ea1ea0224c04753402e0b6472080f0c5d90a7a46 (patch) | |
tree | d6823e52d913418d63ec3f0b7ed12eb763a98899 /src/core/hw/aes/key.h | |
parent | Merge pull request #2562 from yuriks/pica-refactor3 (diff) | |
download | yuzu-ea1ea0224c04753402e0b6472080f0c5d90a7a46.tar yuzu-ea1ea0224c04753402e0b6472080f0c5d90a7a46.tar.gz yuzu-ea1ea0224c04753402e0b6472080f0c5d90a7a46.tar.bz2 yuzu-ea1ea0224c04753402e0b6472080f0c5d90a7a46.tar.lz yuzu-ea1ea0224c04753402e0b6472080f0c5d90a7a46.tar.xz yuzu-ea1ea0224c04753402e0b6472080f0c5d90a7a46.tar.zst yuzu-ea1ea0224c04753402e0b6472080f0c5d90a7a46.zip |
Diffstat (limited to 'src/core/hw/aes/key.h')
-rw-r--r-- | src/core/hw/aes/key.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/core/hw/aes/key.h b/src/core/hw/aes/key.h new file mode 100644 index 000000000..b01d04f13 --- /dev/null +++ b/src/core/hw/aes/key.h @@ -0,0 +1,35 @@ +// Copyright 2017 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include <array> +#include <cstddef> +#include "common/common_types.h" + +namespace HW { +namespace AES { + +enum KeySlotID : size_t { + APTWrap = 0x31, + + MaxKeySlotID = 0x40, +}; + +constexpr size_t AES_BLOCK_SIZE = 16; + +using AESKey = std::array<u8, AES_BLOCK_SIZE>; + +void InitKeys(); + +void SetGeneratorConstant(const AESKey& key); +void SetKeyX(size_t slot_id, const AESKey& key); +void SetKeyY(size_t slot_id, const AESKey& key); +void SetNormalKey(size_t slot_id, const AESKey& key); + +bool IsNormalKeyAvailable(size_t slot_id); +AESKey GetNormalKey(size_t slot_id); + +} // namspace AES +} // namespace HW |