class InvalidIVFixedPart (Exception):
- """IV fixed part not in supplied list."""
+ """
+ IV fixed part not in supplied list: either the backup is corrupt or the
+ current object does not belong to it.
+ """
pass
class IVFixedPartError (Exception):
- """Error creating a unique IV fixed part."""
+ """
+ Error creating a unique IV fixed part: repeated calls to system RNG yielded
+ the same sequence of bytes as the last IV used.
+ """
pass
class InvalidFileCounter (Exception):
- """File counter out of range."""
+ """
+ When encrypting, an attempted reuse of a dedicated counter (info file,
+ index file) was caught.
+ """
pass
class DuplicateIV (Exception):
- """IV reused."""
+ """
+ During encryption, the current IV fixed part is identical to an already
+ existing IV (same prefix and file counter). This indicates tampering or
+ programmer error and cannot be recovered from.
+ """
pass
class NonConsecutiveIV (Exception):
- """IVs not numbered consecutively (not necessarily an error)."""
+ """
+ IVs not numbered consecutively. This is a hard error with strict IV
+ checking. Precludes random access to the encrypted objects.
+ """
pass
class DecryptionError (Exception):
- """Error during decryption."""
+ """Error during decryption with ``crypto.py`` on the command line."""
pass
class Unreachable (Exception):
- """Makeshift __builtin_unreachable()."""
+ """
+ Makeshift __builtin_unreachable(); always a programmer error if
+ thrown.
+ """
pass