diff options
author | Jeffrey Walton <noloader@gmail.com> | 2018-07-03 23:35:36 -0400 |
---|---|---|
committer | Jeffrey Walton <noloader@gmail.com> | 2018-07-03 23:35:36 -0400 |
commit | 94e0b3c954b15048e00544c18c54f3776e1892da (patch) | |
tree | f63170173dff2aa5dcbaf4472adff75d270b4a39 /strciphr.h | |
parent | 65806e5ee9d1d7141da95cc611d0cade7bf12ee3 (diff) | |
download | cryptopp-git-94e0b3c954b15048e00544c18c54f3776e1892da.tar.gz |
Update documentation
Diffstat (limited to 'strciphr.h')
-rw-r--r-- | strciphr.h | 24 |
1 files changed, 18 insertions, 6 deletions
@@ -146,7 +146,8 @@ struct CRYPTOPP_DLL CRYPTOPP_NO_VTABLE AdditiveCipherAbstractPolicy /// which will be derived from GetBytesPerIteration().
/// \sa CanOperateKeystream(), OperateKeystream(), WriteKeystream(), KeystreamOperation()
virtual void OperateKeystream(KeystreamOperation operation, byte *output, const byte *input, size_t iterationCount)
- {CRYPTOPP_UNUSED(operation); CRYPTOPP_UNUSED(output); CRYPTOPP_UNUSED(input); CRYPTOPP_UNUSED(iterationCount); CRYPTOPP_ASSERT(false);}
+ {CRYPTOPP_UNUSED(operation); CRYPTOPP_UNUSED(output); CRYPTOPP_UNUSED(input);
+ CRYPTOPP_UNUSED(iterationCount); CRYPTOPP_ASSERT(false);}
/// \brief Key the cipher
/// \param params set of NameValuePairs use to initialize this object
@@ -159,7 +160,8 @@ struct CRYPTOPP_DLL CRYPTOPP_NO_VTABLE AdditiveCipherAbstractPolicy /// \param iv a byte array used to resynchronize the cipher
/// \param length the size of the IV array
virtual void CipherResynchronize(byte *keystreamBuffer, const byte *iv, size_t length)
- {CRYPTOPP_UNUSED(keystreamBuffer); CRYPTOPP_UNUSED(iv); CRYPTOPP_UNUSED(length); throw NotImplemented("SimpleKeyingInterface: this object doesn't support resynchronization");}
+ {CRYPTOPP_UNUSED(keystreamBuffer); CRYPTOPP_UNUSED(iv); CRYPTOPP_UNUSED(length);
+ throw NotImplemented("SimpleKeyingInterface: this object doesn't support resynchronization");}
/// \brief Flag indicating random access
/// \returns true if the cipher is seekable, false otherwise
@@ -169,7 +171,8 @@ struct CRYPTOPP_DLL CRYPTOPP_NO_VTABLE AdditiveCipherAbstractPolicy /// \brief Seeks to a random position in the stream
/// \sa CipherIsRandomAccess()
virtual void SeekToIteration(lword iterationCount)
- {CRYPTOPP_UNUSED(iterationCount); CRYPTOPP_ASSERT(!CipherIsRandomAccess()); throw NotImplemented("StreamTransformation: this object doesn't support random access");}
+ {CRYPTOPP_UNUSED(iterationCount); CRYPTOPP_ASSERT(!CipherIsRandomAccess());
+ throw NotImplemented("StreamTransformation: this object doesn't support random access");}
};
/// \brief Base class for additive stream ciphers
@@ -217,10 +220,17 @@ struct CRYPTOPP_NO_VTABLE AdditiveCipherConcretePolicy : public BASE };
/// \brief Helper macro to implement OperateKeystream
+/// \param x KeystreamOperation mask
+/// \param b Endian order
+/// \param i index in output buffer
+/// \param a value to output
#define CRYPTOPP_KEYSTREAM_OUTPUT_WORD(x, b, i, a) \
PutWord(bool(x & OUTPUT_ALIGNED), b, output+i*sizeof(WordType), (x & INPUT_NULL) ? (a) : (a) ^ GetWord<WordType>(bool(x & INPUT_ALIGNED), b, input+i*sizeof(WordType)));
/// \brief Helper macro to implement OperateKeystream
+/// \param x KeystreamOperation mask
+/// \param i index in output buffer
+/// \param a value to output
#define CRYPTOPP_KEYSTREAM_OUTPUT_XMM(x, i, a) {\
__m128i t = (x & INPUT_NULL) ? a : _mm_xor_si128(a, (x & INPUT_ALIGNED) ? _mm_load_si128((__m128i *)input+i) : _mm_loadu_si128((__m128i *)input+i));\
if (x & OUTPUT_ALIGNED) _mm_store_si128((__m128i *)output+i, t);\
@@ -374,8 +384,9 @@ public: /// \param iterationCount the number of iterations to perform on the input
/// \sa IsSelfInverting() and IsForwardTransformation()
virtual void Iterate(byte *output, const byte *input, CipherDir dir, size_t iterationCount)
- {CRYPTOPP_UNUSED(output); CRYPTOPP_UNUSED(input); CRYPTOPP_UNUSED(dir); CRYPTOPP_UNUSED(iterationCount);
- CRYPTOPP_ASSERT(false); /*throw 0;*/ throw Exception(Exception::OTHER_ERROR, "SimpleKeyingInterface: unexpected error");}
+ {CRYPTOPP_UNUSED(output); CRYPTOPP_UNUSED(input); CRYPTOPP_UNUSED(dir);
+ CRYPTOPP_UNUSED(iterationCount); CRYPTOPP_ASSERT(false);
+ throw Exception(Exception::OTHER_ERROR, "SimpleKeyingInterface: unexpected error");}
/// \brief Key the cipher
/// \param params set of NameValuePairs use to initialize this object
@@ -387,7 +398,8 @@ public: /// \param iv a byte array used to resynchronize the cipher
/// \param length the size of the IV array
virtual void CipherResynchronize(const byte *iv, size_t length)
- {CRYPTOPP_UNUSED(iv); CRYPTOPP_UNUSED(length); throw NotImplemented("SimpleKeyingInterface: this object doesn't support resynchronization");}
+ {CRYPTOPP_UNUSED(iv); CRYPTOPP_UNUSED(length);
+ throw NotImplemented("SimpleKeyingInterface: this object doesn't support resynchronization");}
};
/// \brief Base class for feedback based stream ciphers
|