Skip to content

Commit

Permalink
remove WAKE-CFB
Browse files Browse the repository at this point in the history
  • Loading branch information
weidai committed Jul 6, 2010
1 parent 038b960 commit a5c57e3
Show file tree
Hide file tree
Showing 4 changed files with 1 addition and 50 deletions.
6 changes: 0 additions & 6 deletions c5/TestVectors/wake.txt
Original file line number Diff line number Diff line change
@@ -1,13 +1,7 @@
AlgorithmType: SymmetricCipher
Source: Generated by Crypto++ 5.6.1
Key: r2 00112233445566778899AABBCCDDEEFF
Name: WAKE-CFB-LE
Plaintext: r80 00 r80 01
Ciphertext: FFEEDDCCDF42B9D4939C351568AB4888BD9264CA66CF7F7885141F6934F3F390F1987B8609B733919DC5F73F7BED93ECDCD4F35FF32828553B8AFAD113DDA6565932553D9143AA886AE859167327F3C260434E6CF23C167C7EF0772BFAECA2FFDD1BD61640505AC2D997F2419990975D6841E9788E7617C0E79DACF18E1B6463F6D8923602385AA995BBF890BF67F87E9DC3C0C3023F2C2B19B98900BB1E2FFC
Test: Encrypt
Name: WAKE-CFB-BE
Ciphertext: FFEEDDCC7C7C6FA2584C7634D139AE344A8EBA8E272CAF98F9BC424ECE6E2C97AF0214E41053BB0A27B1C36E3FF05E1AC3AE5E9693EC2BF8F917CBC40B0344ED4E65C906D1DBB7F350F63769C6D07C43415DF6714D200D7972AD96C20C5897424F219B4649842ECFC9EEDB8F020CD702FC585C3251A6434953C6FE9066E4D64A3B910B94E55E92E23FD5D17F37947313D3C2BD2FC189399955F8CD6BF8D14567
Test: Encrypt
Name: WAKE-OFB-LE
Ciphertext: FFEEDDCCDF42B9D4939C351568AB4888BD9264CA66CF7F7885141F6934F3F390F1987B8609B733919DC5F73F7BED93ECDCD4F35FF32828553B8AFAD113DDA6565932553D9143AA886AE859167327F3C260434E6C90A0895FD33E6B6412526521FA0B12F4ECEE3E8F4F96DCF70907AAFB5E29C40FC10EB70A4970736E98DF98C615AC844A46FB8E4AEBBBF599DF7B73930B94776C6C8757BE51B34E71E9B514AE
Test: Encrypt
Expand Down
2 changes: 0 additions & 2 deletions c5/regtest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,6 @@ void RegisterFactories()
RegisterSymmetricCipherDefaultFactories<Weak::MARC4>();
RegisterSymmetricCipherDefaultFactories<WAKE_OFB<LittleEndian> >();
RegisterSymmetricCipherDefaultFactories<WAKE_OFB<BigEndian> >();
RegisterSymmetricCipherDefaultFactories<Weak::WAKE_CFB<LittleEndian> >();
RegisterSymmetricCipherDefaultFactories<Weak::WAKE_CFB<BigEndian> >();
RegisterSymmetricCipherDefaultFactories<SEAL<LittleEndian> >();
RegisterAuthenticatedSymmetricCipherDefaultFactories<CCM<AES> >();
RegisterAuthenticatedSymmetricCipherDefaultFactories<GCM<AES> >();
Expand Down
18 changes: 0 additions & 18 deletions c5/wake.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ NAMESPACE_BEGIN(CryptoPP)

void WAKE_TestInstantiations()
{
Weak::WAKE_CFB<>::Encryption x1;
Weak::WAKE_CFB<>::Decryption x3;
WAKE_OFB<>::Encryption x2;
WAKE_OFB<>::Decryption x4;
}
Expand Down Expand Up @@ -67,22 +65,6 @@ void WAKE_Policy<B>::CipherSetKey(const NameValuePairs &params, const byte *key,
GenKey(k0, k1, k2, k3);
}

// CFB
template <class B>
void WAKE_Policy<B>::Iterate(byte *output, const byte *input, CipherDir dir, size_t iterationCount)
{
RegisterOutput<B> registerOutput(output, input, dir);

while (iterationCount--)
{
r3 = M(r3, ConditionalByteReverse(B::ToEnum(), r6));
r4 = M(r4, r3);
r5 = M(r5, r4);
r6 = M(r6, r5);
registerOutput(r6);
}
}

// OFB
template <class B>
void WAKE_Policy<B>::OperateKeystream(KeystreamOperation operation, byte *output, const byte *input, size_t iterationCount)
Expand Down
25 changes: 1 addition & 24 deletions c5/wake.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,6 @@

NAMESPACE_BEGIN(CryptoPP)

//! _
template <class B = BigEndian>
struct WAKE_CFB_Info : public FixedKeyLength<32>
{
static const char *StaticAlgorithmName() {return B::ToEnum() == LITTLE_ENDIAN_ORDER ? "WAKE-CFB-LE" : "WAKE-CFB-BE";}
};

//! _
template <class B = BigEndian>
struct WAKE_OFB_Info : public FixedKeyLength<32>
Expand All @@ -32,31 +25,15 @@ class CRYPTOPP_NO_VTABLE WAKE_Base
};

template <class B = BigEndian>
class CRYPTOPP_NO_VTABLE WAKE_Policy
: public CFB_CipherConcretePolicy<word32, 1>
, public AdditiveCipherConcretePolicy<word32, 1, 64>
, protected WAKE_Base
class CRYPTOPP_NO_VTABLE WAKE_Policy : public AdditiveCipherConcretePolicy<word32, 1, 64>, protected WAKE_Base
{
protected:
void CipherSetKey(const NameValuePairs &params, const byte *key, size_t length);
// CFB
byte * GetRegisterBegin() {return (byte *)&r6;}
void Iterate(byte *output, const byte *input, CipherDir dir, size_t iterationCount);
// OFB
void OperateKeystream(KeystreamOperation operation, byte *output, const byte *input, size_t iterationCount);
bool CipherIsRandomAccess() const {return false;}
};

namespace Weak {
//! <a href="http://www.cryptolounge.org/wiki/WAKE">WAKE-CFB-BE</a>
template <class B = BigEndian>
struct WAKE_CFB : public WAKE_CFB_Info<B>, public SymmetricCipherDocumentation
{
typedef SymmetricCipherFinal<ConcretePolicyHolder<WAKE_Policy<B>, CFB_EncryptionTemplate<> >, WAKE_CFB_Info<B> > Encryption;
typedef SymmetricCipherFinal<ConcretePolicyHolder<WAKE_Policy<B>, CFB_DecryptionTemplate<> >, WAKE_CFB_Info<B> > Decryption;
};
}

//! WAKE-OFB
template <class B = BigEndian>
struct WAKE_OFB : public WAKE_OFB_Info<B>, public SymmetricCipherDocumentation
Expand Down

0 comments on commit a5c57e3

Please sign in to comment.