From 87b65e5f8a5ad03a7aecccf085270317fc700cef Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Fri, 14 Jan 2005 13:19:56 +0000 Subject: [PATCH] remove oaep --- stepmania/src/crypto51/oaep.cpp | 107 -------------------------------- stepmania/src/crypto51/oaep.h | 25 -------- 2 files changed, 132 deletions(-) delete mode 100644 stepmania/src/crypto51/oaep.cpp delete mode 100644 stepmania/src/crypto51/oaep.h diff --git a/stepmania/src/crypto51/oaep.cpp b/stepmania/src/crypto51/oaep.cpp deleted file mode 100644 index 8913631bc5..0000000000 --- a/stepmania/src/crypto51/oaep.cpp +++ /dev/null @@ -1,107 +0,0 @@ -// oaep.cpp - written and placed in the public domain by Wei Dai - -#include "pch.h" -#include "oaep.h" - -#include - -NAMESPACE_BEGIN(CryptoPP) - -// ******************************************************** - -ANONYMOUS_NAMESPACE_BEGIN - template - struct PHashComputation - { - PHashComputation() {H().CalculateDigest(pHash, P, PLen);} - byte pHash[H::DIGESTSIZE]; - }; - - template - const byte *PHash() - { - static PHashComputation pHash; - return pHash.pHash; - } -NAMESPACE_END - -template -unsigned int OAEP::MaxUnpaddedLength(unsigned int paddedLength) const -{ - return paddedLength/8 > 1+2*H::DIGESTSIZE ? paddedLength/8-1-2*H::DIGESTSIZE : 0; -} - -template -void OAEP::Pad(RandomNumberGenerator &rng, const byte *input, unsigned int inputLength, byte *oaepBlock, unsigned int oaepBlockLen) const -{ - assert (inputLength <= MaxUnpaddedLength(oaepBlockLen)); - - // convert from bit length to byte length - if (oaepBlockLen % 8 != 0) - { - oaepBlock[0] = 0; - oaepBlock++; - } - oaepBlockLen /= 8; - - const unsigned int hLen = H::DIGESTSIZE; - const unsigned int seedLen = hLen, dbLen = oaepBlockLen-seedLen; - byte *const maskedSeed = oaepBlock; - byte *const maskedDB = oaepBlock+seedLen; - - // DB = pHash || 00 ... || 01 || M - memcpy(maskedDB, PHash(), hLen); - memset(maskedDB+hLen, 0, dbLen-hLen-inputLength-1); - maskedDB[dbLen-inputLength-1] = 0x01; - memcpy(maskedDB+dbLen-inputLength, input, inputLength); - - rng.GenerateBlock(maskedSeed, seedLen); - H h; - MGF mgf; - mgf.GenerateAndMask(h, maskedDB, dbLen, maskedSeed, seedLen); - mgf.GenerateAndMask(h, maskedSeed, seedLen, maskedDB, dbLen); -} - -template -DecodingResult OAEP::Unpad(const byte *oaepBlock, unsigned int oaepBlockLen, byte *output) const -{ - bool invalid = false; - - // convert from bit length to byte length - if (oaepBlockLen % 8 != 0) - { - invalid = (oaepBlock[0] != 0) || invalid; - oaepBlock++; - } - oaepBlockLen /= 8; - - const unsigned int hLen = H::DIGESTSIZE; - const unsigned int seedLen = hLen, dbLen = oaepBlockLen-seedLen; - - invalid = (oaepBlockLen < 2*hLen+1) || invalid; - - SecByteBlock t(oaepBlock, oaepBlockLen); - byte *const maskedSeed = t; - byte *const maskedDB = t+seedLen; - - H h; - MGF mgf; - mgf.GenerateAndMask(h, maskedSeed, seedLen, maskedDB, dbLen); - mgf.GenerateAndMask(h, maskedDB, dbLen, maskedSeed, seedLen); - - // DB = pHash' || 00 ... || 01 || M - - byte *M = std::find(maskedDB+hLen, maskedDB+dbLen, 0x01); - invalid = (M == maskedDB+dbLen) || invalid; - invalid = (std::find_if(maskedDB+hLen, M, std::bind2nd(std::not_equal_to(), 0)) != M) || invalid; - invalid = (memcmp(maskedDB, PHash(), hLen) != 0) || invalid; - - if (invalid) - return DecodingResult(); - - M++; - memcpy(output, M, maskedDB+dbLen-M); - return DecodingResult(maskedDB+dbLen-M); -} - -NAMESPACE_END diff --git a/stepmania/src/crypto51/oaep.h b/stepmania/src/crypto51/oaep.h deleted file mode 100644 index c242698a2b..0000000000 --- a/stepmania/src/crypto51/oaep.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef CRYPTOPP_OAEP_H -#define CRYPTOPP_OAEP_H - -#include "pubkey.h" - -NAMESPACE_BEGIN(CryptoPP) - -extern byte OAEP_P_DEFAULT[]; // defined in misc.cpp - -/// EME-OAEP, for use with RSAES -template -class OAEP : public PK_EncryptionMessageEncodingMethod, public EncryptionStandard -{ -public: - static std::string StaticAlgorithmName() {return std::string("OAEP-") + MGF::StaticAlgorithmName() + "(" + H::StaticAlgorithmName() + ")";} - typedef OAEP EncryptionMessageEncodingMethod; - - unsigned int MaxUnpaddedLength(unsigned int paddedLength) const; - void Pad(RandomNumberGenerator &rng, const byte *raw, unsigned int inputLength, byte *padded, unsigned int paddedLength) const; - DecodingResult Unpad(const byte *padded, unsigned int paddedLength, byte *raw) const; -}; - -NAMESPACE_END - -#endif