Coretex
coretex.cryptography.random_generator.Random Class Reference

Public Member Functions

int getRandomByte (self)
 
bytes getRandomBytes (self, int count)
 

Detailed Description

    Random generator based on recursive hashing the provided seed
    using the provided hashing algorithm. Entropy is equal to the
    provided seed.

Definition at line 64 of file random_generator.py.

Member Function Documentation

◆ getRandomByte()

int coretex.cryptography.random_generator.Random.getRandomByte (   self)
    Returns
    -------
    int -> randomly generated byte value

Definition at line 81 of file random_generator.py.

81  def getRandomByte(self) -> int:
82  """
83  Returns
84  -------
85  int -> randomly generated byte value
86  """
87 
88  try:
89  return self._buffer.get()
90  except OverflowError:
91  # Raised when all bytes from current state have been exhausted
92  # so we need to generate new bytes
93  numberGenerator = hashes.Hash(self.algorithm)
94  numberGenerator.update(self._currentState)
95 
96  self._currentState = numberGenerator.finalize()
97  self._buffer.update(self._currentState)
98 
99  return self.getRandomByte()
100 

◆ getRandomBytes()

bytes coretex.cryptography.random_generator.Random.getRandomBytes (   self,
int  count 
)
    Parameters
    ----------
    count : int
        # of how many bytes should be generated

    Returns
    -------
    bytes -> randomly generated bytes array

Definition at line 101 of file random_generator.py.

101  def getRandomBytes(self, count: int) -> bytes:
102  """
103  Parameters
104  ----------
105  count : int
106  # of how many bytes should be generated
107 
108  Returns
109  -------
110  bytes -> randomly generated bytes array
111  """
112 
113  values = bytearray(count)
114 
115  for i in range(count):
116  values[i] = self.getRandomByte()
117 
118  return values

The documentation for this class was generated from the following file: