// blowfish.cpp - originally written and placed in the public domain by Wei Dai #include "pch.h" #include "blowfish.h" #include "misc.h" NAMESPACE_BEGIN(CryptoPP) void Blowfish::Base::UncheckedSetKey(const byte *key_string, unsigned int keylength, const NameValuePairs &) { AssertValidKeyLength(keylength); unsigned i, j=0, k; word32 data, dspace[2] = {0, 0}; std::memcpy(pbox, p_init, sizeof(p_init)); std::memcpy(sbox, s_init, sizeof(s_init)); // Xor key string into encryption key vector for (i=0 ; i Block; word32 left, right; Block::Get(inBlock)(left)(right); const word32 *const s=sbox; const word32 *p=pbox; left ^= p[0]; for (unsigned i=0; i