From 6617de83036578a5c14b0f39394d3e4fbebe62a7 Mon Sep 17 00:00:00 2001 From: N2614 Date: Thu, 17 Mar 2011 05:01:35 +0000 Subject: [PATCH] =?UTF-8?q?AES=E9=8D=B5=E3=82=92=E3=83=90=E3=82=A4?= =?UTF-8?q?=E3=83=8A=E3=83=AA=E3=81=A8=E3=81=97=E3=81=A6=E5=90=AB=E3=82=81?= =?UTF-8?q?=E3=81=9A=E3=83=93=E3=83=AB=E3=83=89=E3=82=B9=E3=82=A4=E3=83=83?= =?UTF-8?q?=E3=83=81=E3=81=A7=E5=88=87=E3=82=8A=E6=9B=BF=E3=81=88=E3=82=8B?= =?UTF-8?q?=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@146 385bec56-5757-e545-9c3a-d8741f4650f1 --- .../ConsoleBackup/Exporter.cpp | 11 +------ .../ConsoleRestore/Importer.cpp | 11 +------ .../ConsoleDataMigration/common/Aes_define.h | 22 +++++++++---- .../common/FileTransfer.cpp | 33 +++---------------- .../common/SdReaderWriter.cpp | 22 ++----------- 5 files changed, 23 insertions(+), 76 deletions(-) diff --git a/trunk/ConsoleDataMigration/ConsoleBackup/Exporter.cpp b/trunk/ConsoleDataMigration/ConsoleBackup/Exporter.cpp index 51294de..766650e 100644 --- a/trunk/ConsoleDataMigration/ConsoleBackup/Exporter.cpp +++ b/trunk/ConsoleDataMigration/ConsoleBackup/Exporter.cpp @@ -18,7 +18,6 @@ #include #include #include -#include #include #include #include @@ -240,15 +239,7 @@ void WriteIvs() nn::crypto::SwAesCtrContext swAesCtrContest; - if(nn::os::IsRunOnDevelopmentHardware()) - { - swAesCtrContest.Initialize(common::devIv, common::devKey, sizeof(common::devKey)); - } - else - { - swAesCtrContest.Initialize(common::prodIv, common::prodKey, sizeof(common::prodKey)); - } - + swAesCtrContest.Initialize(common::iv, common::key, sizeof(common::key)); swAesCtrContest.Encrypt(enc, ivs, size); s_SdWriter.WriteBufWithCmac(common::IVS_PATHNAME, enc, size); diff --git a/trunk/ConsoleDataMigration/ConsoleRestore/Importer.cpp b/trunk/ConsoleDataMigration/ConsoleRestore/Importer.cpp index 663b2f3..10c5e58 100644 --- a/trunk/ConsoleDataMigration/ConsoleRestore/Importer.cpp +++ b/trunk/ConsoleDataMigration/ConsoleRestore/Importer.cpp @@ -14,7 +14,6 @@ *---------------------------------------------------------------------------*/ #include -#include #include #include #include @@ -607,15 +606,7 @@ nn::Result ImportIvs() nn::crypto::Initialize(); nn::crypto::SwAesCtrContext swAesCtrContest; - if(nn::os::IsRunOnDevelopmentHardware()) - { - swAesCtrContest.Initialize(common::devIv, common::devKey, sizeof(common::devKey)); - } - else - { - swAesCtrContest.Initialize(common::prodIv, common::prodKey, sizeof(common::prodKey)); - } - + swAesCtrContest.Initialize(common::iv, common::key, sizeof(common::key)); swAesCtrContest.Decrypt(dec, enc, readSize); // IVS書き込み diff --git a/trunk/ConsoleDataMigration/common/Aes_define.h b/trunk/ConsoleDataMigration/common/Aes_define.h index f244569..d6fadcb 100644 --- a/trunk/ConsoleDataMigration/common/Aes_define.h +++ b/trunk/ConsoleDataMigration/common/Aes_define.h @@ -16,46 +16,54 @@ #ifndef AES_DEFINE_H_ #define AES_DEFINE_H_ +//マスタリング用ビルド時に有効にする +//#define USE_PROD_KEY + #include namespace common { - const bit8 devKey[AES_KEY_SIZE] NN_ATTRIBUTE_ALIGN(4) = + +#ifndef USE_PROD_KEY + + const bit8 key[AES_KEY_SIZE] NN_ATTRIBUTE_ALIGN(4) = { 0x81, 0x35, 0xc6, 0x54, 0x19, 0x1a, 0x47, 0x2a, 0x6b, 0x78, 0xbe, 0x25, 0x90, 0xf6, 0xee, 0x74 }; - const bit8 devCmacKey[AES_KEY_SIZE] = + const bit8 cmacKey[AES_KEY_SIZE] = { 0x87, 0xdd, 0xc6, 0xd6, 0xf2, 0xe0, 0x2c, 0xa6, 0x04, 0x21, 0x9c, 0x5e, 0x33, 0x8c, 0x3d, 0xaa }; - const bit8 devIv[AES_BLOCK_SIZE] NN_ATTRIBUTE_ALIGN(4) = + const bit8 iv[AES_BLOCK_SIZE] NN_ATTRIBUTE_ALIGN(4) = { 0xdf, 0x0f, 0xf9, 0x1b, 0x34, 0x47, 0x70, 0x7f, 0x7d, 0x06, 0x85, 0xe6, 0xe7, 0xb6, 0x4e, 0xe9 }; - - const bit8 prodKey[AES_KEY_SIZE] NN_ATTRIBUTE_ALIGN(4) = +#else + const bit8 key[AES_KEY_SIZE] NN_ATTRIBUTE_ALIGN(4) = { 0x64, 0x02, 0x6d, 0xbd, 0x9f, 0xb6, 0x62, 0x39, 0x86, 0x90, 0x67, 0x8a, 0xe2, 0xfa, 0xe1, 0x6e }; - const bit8 prodCmacKey[AES_KEY_SIZE] = + const bit8 cmacKey[AES_KEY_SIZE] = { 0xdf, 0x3c, 0x58, 0xeb, 0xeb, 0xbf, 0x45, 0x6d, 0xc9, 0xbe, 0xe3, 0x10, 0xe2, 0x23, 0xfc, 0x30 }; - const bit8 prodIv[AES_BLOCK_SIZE] NN_ATTRIBUTE_ALIGN(4) = + const bit8 iv[AES_BLOCK_SIZE] NN_ATTRIBUTE_ALIGN(4) = { 0xe4, 0xcf, 0x58, 0xe5, 0xc9, 0xd6, 0xac, 0x7d, 0xf1, 0xb9, 0x82, 0xf9, 0xa2, 0xd8, 0xda, 0x7b }; +#endif + } diff --git a/trunk/ConsoleDataMigration/common/FileTransfer.cpp b/trunk/ConsoleDataMigration/common/FileTransfer.cpp index 51e5ad6..7ce23f6 100644 --- a/trunk/ConsoleDataMigration/common/FileTransfer.cpp +++ b/trunk/ConsoleDataMigration/common/FileTransfer.cpp @@ -15,8 +15,6 @@ #include -#include - #include #include #include @@ -214,14 +212,7 @@ bool CopyDirectory(const wchar_t * from_path, const wchar_t * to_path, void* buf } nn::crypto::SwAesCtrContext swAesCtrContext; - if(nn::os::IsRunOnDevelopmentHardware()) - { - swAesCtrContext.Initialize(devIv, common::devKey, sizeof(devKey)); - } - else - { - swAesCtrContext.Initialize(prodIv, common::prodKey, sizeof(prodKey)); - } + swAesCtrContext.Initialize(iv, common::key, sizeof(key)); size_t totalReadSize = 0; nn::crypto::Sha256Context context; @@ -306,16 +297,8 @@ bool CopyDirectory(const wchar_t * from_path, const wchar_t * to_path, void* buf context.GetHash(sha256Hash); bit8 cmac[nn::crypto::AES_CMAC_MAC_SIZE]; - if(nn::os::IsRunOnDevelopmentHardware()) - { - result = nn::crypto::CalculateAesCmacSw(cmac, sha256Hash, - nn::crypto::Sha256Context::HASH_SIZE, common::devCmacKey); - } - else - { - result = nn::crypto::CalculateAesCmacSw(cmac, sha256Hash, - nn::crypto::Sha256Context::HASH_SIZE, common::prodCmacKey); - } + result = nn::crypto::CalculateAesCmacSw(cmac, sha256Hash, + nn::crypto::Sha256Context::HASH_SIZE, common::cmacKey); COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); result = to_file.TryWrite(&writesize, cmac, sizeof(cmac)); @@ -448,15 +431,7 @@ bool CalculateAndCompareCmac(nn::crypto::Sha256Context* context, bit8* sdCmac) context->GetHash(sha256Hash); context->Finalize(); - if(nn::os::IsRunOnDevelopmentHardware()) - { - result = nn::crypto::CalculateAesCmacSw(cmac, sha256Hash, sizeof(sha256Hash), common::devCmacKey); - } - else - { - result = nn::crypto::CalculateAesCmacSw(cmac, sha256Hash, sizeof(sha256Hash), common::prodCmacKey); - } - + result = nn::crypto::CalculateAesCmacSw(cmac, sha256Hash, sizeof(sha256Hash), common::cmacKey); if (result.IsFailure()) { COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); diff --git a/trunk/ConsoleDataMigration/common/SdReaderWriter.cpp b/trunk/ConsoleDataMigration/common/SdReaderWriter.cpp index 5fd268a..4bea638 100644 --- a/trunk/ConsoleDataMigration/common/SdReaderWriter.cpp +++ b/trunk/ConsoleDataMigration/common/SdReaderWriter.cpp @@ -18,8 +18,6 @@ #include "CommonLogger.h" #include "Aes_define.h" -#include - #include #include #include @@ -124,15 +122,7 @@ nn::Result SdReaderWriter::WriteBufWithCmac(const wchar_t* path, void* buf, size nn::crypto::CalculateSha256(sha256Hash, buf, size); bit8 cmac[nn::crypto::AES_CMAC_MAC_SIZE]; - - if(nn::os::IsRunOnDevelopmentHardware()) - { - result = nn::crypto::CalculateAesCmacSw(cmac, sha256Hash, nn::crypto::Sha256Context::HASH_SIZE, common::devCmacKey); - } - else - { - result = nn::crypto::CalculateAesCmacSw(cmac, sha256Hash, nn::crypto::Sha256Context::HASH_SIZE, common::prodCmacKey); - } + result = nn::crypto::CalculateAesCmacSw(cmac, sha256Hash, nn::crypto::Sha256Context::HASH_SIZE, common::cmacKey); COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); s32 writeSize; @@ -222,15 +212,7 @@ nn::Result SdReaderWriter::ReadBufWithCmac(const wchar_t* path, void* buf, size_ nn::crypto::CalculateSha256(sha256Hash, buf, *totalSize); bit8 cmac[nn::crypto::AES_CMAC_MAC_SIZE]; - if(nn::os::IsRunOnDevelopmentHardware()) - { - result = nn::crypto::CalculateAesCmacSw(cmac, sha256Hash, nn::crypto::Sha256Context::HASH_SIZE, common::devCmacKey); - } - else - { - result = nn::crypto::CalculateAesCmacSw(cmac, sha256Hash, nn::crypto::Sha256Context::HASH_SIZE, common::prodCmacKey); - } - + result = nn::crypto::CalculateAesCmacSw(cmac, sha256Hash, nn::crypto::Sha256Context::HASH_SIZE, common::cmacKey); COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); if(std::memcmp(reinterpret_cast(buf) + *totalSize, cmac, sizeof(cmac)) != 0)