summaryrefslogtreecommitdiff
path: root/padlkrng.h
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2017-11-29 10:54:33 -0500
committerJeffrey Walton <noloader@gmail.com>2017-11-29 10:54:33 -0500
commit61ec50dabe14c5d4582ac187706ea27645b3562b (patch)
tree18a2eebb7adc8c9556ce132d7081a105fa058d6b /padlkrng.h
parent16ebfa72bf130c4725e652e4d3688d97d3feb0ee (diff)
downloadcryptopp-git-61ec50dabe14c5d4582ac187706ea27645b3562b.tar.gz
Change Doxygen comment style from //! to ///
Also see https://groups.google.com/forum/#!topic/cryptopp-users/A7-Xt5Knlzw
Diffstat (limited to 'padlkrng.h')
-rw-r--r--padlkrng.h132
1 files changed, 66 insertions, 66 deletions
diff --git a/padlkrng.h b/padlkrng.h
index 541ae223..10cd602a 100644
--- a/padlkrng.h
+++ b/padlkrng.h
@@ -1,10 +1,10 @@
// via-rng.h - written and placed in public domain by Jeffrey Walton
-//! \file padlkrng.h
-//! \brief Classes for VIA Padlock RNG
-//! \since Crypto++ 6.0
-//! \sa <A HREF="http://www.cryptopp.com/wiki/VIA_Padlock">VIA
-//! Padlock</A> on the Crypto++ wiki
+/// \file padlkrng.h
+/// \brief Classes for VIA Padlock RNG
+/// \since Crypto++ 6.0
+/// \sa <A HREF="http://www.cryptopp.com/wiki/VIA_Padlock">VIA
+/// Padlock</A> on the Crypto++ wiki
#ifndef CRYPTOPP_PADLOCK_RNG_H
#define CRYPTOPP_PADLOCK_RNG_H
@@ -14,9 +14,9 @@
NAMESPACE_BEGIN(CryptoPP)
-//! \brief Exception thrown when a PadlockRNG generator encounters
-//! a generator related error.
-//! \since Crypto++ 6.0
+/// \brief Exception thrown when a PadlockRNG generator encounters
+/// a generator related error.
+/// \since Crypto++ 6.0
class PadlockRNG_Err : public Exception
{
public:
@@ -26,27 +26,27 @@ public:
: Exception(OTHER_ERROR, component + ": " + message) {}
};
-//! \brief Hardware generated random numbers using VIA XSTORE
-//! \details Some VIA processors provide a Security Engine called Padlock. The Padlock
-//! Security Engine provides AES, SHA and a RNG. The PadlockRNG class provides access
-//! to the RNG.
-//! \details The VIA generator uses an 8 byte FIFO buffer for random numbers. The
-//! generator can be configured to discard bits from the buffer to resist analysis.
-//! The <tt>divisor</tt> controls the number of bytes discarded. The formula for
-//! the discard amount is <tt>2**divisor - 1</tt>. When <tt>divisor=0</tt> no bits
-//! are discarded and the entire 8 byte buffer is read. If <tt>divisor=3</tt> then
-//! 7 bytes are discarded and 1 byte is read. TheVIA SDK samples use <tt>divisor=1</tt>.
-//! \details Cryptography Research, Inc (CRI) audited the Padlock Security Engine
-//! in 2003. CRI provided recommendations to operate the generator for secure and
-//! non-secure applications. Additionally, the Programmers Guide and SDK provided a
-//! different configuration in the sample code.
-//! \details You can operate the generator according to CRI recommendations by setting
-//! <tt>divisor</tt>, reading one word (or partial word) at a time from the FIFO, and
-//! then inspecting the MSR after each read.
-//! \details The audit report with recommendations is available on the Crypto++ wiki
-//! at <A HREF="http://www.cryptopp.com/wiki/VIA_Padlock">VIA Padlock</A>.
-//! \sa MaurerRandomnessTest() for random bit generators
-//! \since Crypto++ 6.0
+/// \brief Hardware generated random numbers using VIA XSTORE
+/// \details Some VIA processors provide a Security Engine called Padlock. The Padlock
+/// Security Engine provides AES, SHA and a RNG. The PadlockRNG class provides access
+/// to the RNG.
+/// \details The VIA generator uses an 8 byte FIFO buffer for random numbers. The
+/// generator can be configured to discard bits from the buffer to resist analysis.
+/// The <tt>divisor</tt> controls the number of bytes discarded. The formula for
+/// the discard amount is <tt>2**divisor - 1</tt>. When <tt>divisor=0</tt> no bits
+/// are discarded and the entire 8 byte buffer is read. If <tt>divisor=3</tt> then
+/// 7 bytes are discarded and 1 byte is read. TheVIA SDK samples use <tt>divisor=1</tt>.
+/// \details Cryptography Research, Inc (CRI) audited the Padlock Security Engine
+/// in 2003. CRI provided recommendations to operate the generator for secure and
+/// non-secure applications. Additionally, the Programmers Guide and SDK provided a
+/// different configuration in the sample code.
+/// \details You can operate the generator according to CRI recommendations by setting
+/// <tt>divisor</tt>, reading one word (or partial word) at a time from the FIFO, and
+/// then inspecting the MSR after each read.
+/// \details The audit report with recommendations is available on the Crypto++ wiki
+/// at <A HREF="http://www.cryptopp.com/wiki/VIA_Padlock">VIA Padlock</A>.
+/// \sa MaurerRandomnessTest() for random bit generators
+/// \since Crypto++ 6.0
class PadlockRNG : public RandomNumberGenerator
{
public:
@@ -54,51 +54,51 @@ public:
virtual ~PadlockRNG() {}
- //! \brief Construct a PadlockRNG generator
- //! \param divisor the XSTORE divisor
- //! \details Some VIA processors provide a Security Engine called Padlock. The Padlock
- //! Security Engine provides AES, SHA and a RNG. The PadlockRNG class provides access
- //! to the RNG.
- //! \details The VIA generator uses an 8 byte FIFO buffer for random numbers. The
- //! generator can be configured to discard bits from the buffer to resist analysis.
- //! The <tt>divisor</tt> controls the number of bytes discarded. The formula for
- //! the discard amount is <tt>2**divisor - 1</tt>. When <tt>divisor=0</tt> no bits
- //! are discarded and the entire 8 byte buffer is read. If <tt>divisor=3</tt> then
- //! 7 bytes are discarded and 1 byte is read. VIA SDK samples use <tt>divisor=1</tt>.
- //! \details Cryptography Research, Inc (CRI) audited the Padlock Security Engine
- //! in 2003. CRI provided recommendations to operate the generator for secure and
- //! non-secure applications. Additionally, the Programmers SDK provided a different
- //! configuration in the sample code.
- //! \details The audit report with recommendations is available on the Crypto++ wiki
- //! at <A HREF="http://www.cryptopp.com/wiki/VIA_Padlock">VIA Padlock</A>.
- //! \sa SetDivisor, GetDivisor
+ /// \brief Construct a PadlockRNG generator
+ /// \param divisor the XSTORE divisor
+ /// \details Some VIA processors provide a Security Engine called Padlock. The Padlock
+ /// Security Engine provides AES, SHA and a RNG. The PadlockRNG class provides access
+ /// to the RNG.
+ /// \details The VIA generator uses an 8 byte FIFO buffer for random numbers. The
+ /// generator can be configured to discard bits from the buffer to resist analysis.
+ /// The <tt>divisor</tt> controls the number of bytes discarded. The formula for
+ /// the discard amount is <tt>2**divisor - 1</tt>. When <tt>divisor=0</tt> no bits
+ /// are discarded and the entire 8 byte buffer is read. If <tt>divisor=3</tt> then
+ /// 7 bytes are discarded and 1 byte is read. VIA SDK samples use <tt>divisor=1</tt>.
+ /// \details Cryptography Research, Inc (CRI) audited the Padlock Security Engine
+ /// in 2003. CRI provided recommendations to operate the generator for secure and
+ /// non-secure applications. Additionally, the Programmers SDK provided a different
+ /// configuration in the sample code.
+ /// \details The audit report with recommendations is available on the Crypto++ wiki
+ /// at <A HREF="http://www.cryptopp.com/wiki/VIA_Padlock">VIA Padlock</A>.
+ /// \sa SetDivisor, GetDivisor
PadlockRNG(word32 divisor=1);
- //! \brief Generate random array of bytes
- //! \param output the byte buffer
- //! \param size the length of the buffer, in bytes
+ /// \brief Generate random array of bytes
+ /// \param output the byte buffer
+ /// \param size the length of the buffer, in bytes
virtual void GenerateBlock(byte *output, size_t size);
- //! \brief Generate and discard n bytes
- //! \param n the number of bytes to generate and discard
- //! \details the Padlock generator discards words, not bytes. If n is
- //! not a multiple of a 32-bit word, then it is rounded up to
- //! that size.
+ /// \brief Generate and discard n bytes
+ /// \param n the number of bytes to generate and discard
+ /// \details the Padlock generator discards words, not bytes. If n is
+ /// not a multiple of a 32-bit word, then it is rounded up to
+ /// that size.
virtual void DiscardBytes(size_t n);
- //! \brief Update RNG state with additional unpredictable values
- //! \param input unused
- //! \param length unused
- //! \details The operation is a nop for this generator.
+ /// \brief Update RNG state with additional unpredictable values
+ /// \param input unused
+ /// \param length unused
+ /// \details The operation is a nop for this generator.
virtual void IncorporateEntropy(const byte *input, size_t length)
{
// Override to avoid the base class' throw.
CRYPTOPP_UNUSED(input); CRYPTOPP_UNUSED(length);
}
- //! \brief Set the XSTORE divisor
- //! \param divisor the XSTORE divisor
- //! \returns the old XSTORE divisor
+ /// \brief Set the XSTORE divisor
+ /// \param divisor the XSTORE divisor
+ /// \returns the old XSTORE divisor
word32 SetDivisor(word32 divisor)
{
word32 old = m_divisor;
@@ -106,15 +106,15 @@ public:
return old;
}
- //! \brief Get the XSTORE divisor
- //! \returns the current XSTORE divisor
+ /// \brief Get the XSTORE divisor
+ /// \returns the current XSTORE divisor
word32 GetDivisor() const
{
return m_divisor;
}
- //! \brief Get the MSR for the last operation
- //! \returns the MSR for the last read operation
+ /// \brief Get the MSR for the last operation
+ /// \returns the MSR for the last read operation
word32 GetMSR() const
{
return m_msr;