Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

oaep.h

00001 #ifndef CRYPTOPP_OAEP_H 00002 #define CRYPTOPP_OAEP_H 00003 00004 #include "pubkey.h" 00005 00006 NAMESPACE_BEGIN(CryptoPP) 00007 00008 extern byte OAEP_P_DEFAULT[]; // defined in misc.cpp 00009 00010 /// <a href="http://www.weidai.com/scan-mirror/ca.html#cem_OAEP-MGF1">EME-OAEP</a>, for use with RSAES 00011 template <class H, class MGF=P1363_MGF1, byte *P=OAEP_P_DEFAULT, unsigned int PLen=0> 00012 class OAEP : public PK_EncryptionMessageEncodingMethod, public EncryptionStandard 00013 { 00014 public: 00015 static std::string StaticAlgorithmName() {return std::string("OAEP-") + MGF::StaticAlgorithmName() + "(" + H::StaticAlgorithmName() + ")";} 00016 typedef OAEP<H, MGF, P, PLen> EncryptionMessageEncodingMethod; 00017 00018 unsigned int MaxUnpaddedLength(unsigned int paddedLength) const; 00019 void Pad(RandomNumberGenerator &rng, const byte *raw, unsigned int inputLength, byte *padded, unsigned int paddedLength) const; 00020 DecodingResult Unpad(const byte *padded, unsigned int paddedLength, byte *raw) const; 00021 }; 00022 00023 NAMESPACE_END 00024 00025 #endif

Generated on Wed Jul 28 08:07:08 2004 for Crypto++ by doxygen 1.3.7