Sane C++ Libraries
C++ Platform Abstraction Libraries
Loading...
Searching...
No Matches
Cryptography

🟥 Fixed-storage wrappers over native and optional OpenSSL symmetric cryptography APIs (see Cryptography for more details) More...

Classes

struct  SC::Cryptography
 Platform-backed symmetric cryptography primitives. More...
 
union  SC::CryptographyErrorContext
 A typed scalar payload for a Cryptography error. More...
 
struct  SC::ResultCryptography
 Cryptography result retaining a stable operation detail and one scalar diagnostic context. More...
 

Enumerations

enum class  SC::CryptographyError : uint32_t {
  OperationUnsupported = 1 ,
  BackendUnavailable ,
  InvalidAeadType ,
  InvalidCipherType ,
  InvalidHashType ,
  InvalidCipherOperation ,
  InvalidKeySize ,
  InvalidNonceSize ,
  InvalidInitializationVectorSize ,
  InvalidTagSize ,
  SizeLimitExceeded ,
  OutputCapacityExceeded ,
  BufferOverlap ,
  SessionNotInitialized ,
  KeyNotSet ,
  InvalidCiphertext ,
  AuthenticationFailed ,
  RandomGenerationFailed ,
  BackendInitializationFailed ,
  BackendConfigurationFailed ,
  BackendOperationFailed ,
  InternalCapacityExceeded ,
  UnexpectedOutputSize ,
  InvalidBlockInputSize
}
 Stable portable failures returned by the Cryptography library. More...
 
enum class  SC::CryptographyErrorDetail : uint16_t {
  None = 0 ,
  FillRandom ,
  InitializeAead ,
  SealAead ,
  OpenAead ,
  StartCipher ,
  UpdateCipher ,
  FinishCipher ,
  SetHmacType ,
  SetHmacKey ,
  AddHmacData ,
  FinalizeHmac ,
  DeriveHkdf ,
  ValidateAeadKey ,
  ValidateAeadNonce ,
  ValidateAeadTag ,
  ValidateAeadMessageSize ,
  ValidateAeadOutput ,
  ValidateAeadPartialOverlap ,
  ValidateAeadSealCiphertextOverlap ,
  ValidateAeadSealTagOverlap ,
  ValidateAeadOpenPlaintextOverlap ,
  ValidateCipherKey ,
  ValidateCipherInitializationVector ,
  ValidateCipherOutput ,
  ValidateCipherOverlap ,
  ValidateCipherBlockInput ,
  ValidateCipherFinalBlock ,
  ValidateCipherPadding ,
  ValidateHkdfOutput ,
  AppleCommonCryptoRandomGenerate ,
  AppleCommonCryptoAeadCreate ,
  AppleCommonCryptoAeadEncrypt ,
  AppleCommonCryptoCipherCreate ,
  AppleCommonCryptoCipherUpdate ,
  WindowsBCryptRandomGenerate ,
  WindowsBCryptAeadOpenAlgorithm ,
  WindowsBCryptAeadSetGcmMode ,
  WindowsBCryptAeadQueryObjectLength ,
  WindowsBCryptAeadKeyObjectCapacity ,
  WindowsBCryptAeadGenerateKey ,
  WindowsBCryptAeadEncrypt ,
  WindowsBCryptAeadDecrypt ,
  WindowsBCryptCipherOpenAlgorithm ,
  WindowsBCryptCipherSetCbcMode ,
  WindowsBCryptCipherQueryObjectLength ,
  WindowsBCryptCipherKeyObjectCapacity ,
  WindowsBCryptCipherGenerateKey ,
  WindowsBCryptCipherEncrypt ,
  WindowsBCryptCipherDecrypt ,
  WindowsBCryptHmacOpenAlgorithm ,
  WindowsBCryptHmacQueryObjectLength ,
  WindowsBCryptHmacObjectCapacity ,
  WindowsBCryptHmacCreate ,
  WindowsBCryptHmacUpdate ,
  WindowsBCryptHmacFinalize ,
  LinuxGetRandom ,
  LinuxAFAlgCreateAlgorithmSocket ,
  LinuxAFAlgBindAlgorithmSocket ,
  LinuxAFAlgAcceptOperationSocket ,
  LinuxAFAlgSetKey ,
  LinuxAFAlgSetAeadAuthenticationSize ,
  LinuxAFAlgAeadSealSend ,
  LinuxAFAlgAeadSealReceive ,
  LinuxAFAlgAeadOpenSend ,
  LinuxAFAlgAeadOpenReceive ,
  LinuxAFAlgCipherSend ,
  LinuxAFAlgCipherReceive ,
  LinuxAFAlgHmacSend ,
  LinuxAFAlgHmacReceive ,
  OpenSSL3RuntimeUnavailable ,
  OpenSSL3AeadFetchCipher ,
  OpenSSL3AeadCreateContext ,
  OpenSSL3AeadInitialize ,
  OpenSSL3AeadAssociatedDataUpdate ,
  OpenSSL3AeadPayloadUpdate ,
  OpenSSL3AeadSealFinalize ,
  OpenSSL3AeadGetAuthenticationTag ,
  OpenSSL3AeadSetAuthenticationTag ,
  OpenSSL3AeadOpenFinalize ,
  OpenSSL3CipherFetch ,
  OpenSSL3CipherCreateContext ,
  OpenSSL3CipherInitialize ,
  OpenSSL3CipherSetPadding ,
  OpenSSL3CipherUpdate ,
  OpenSSL3HmacFetch ,
  OpenSSL3HmacCreateContext ,
  OpenSSL3HmacInitialize ,
  OpenSSL3HmacUpdate ,
  OpenSSL3HmacFinalize
}
 Stable operation or backend stage retained for a Cryptography failure. More...
 
enum class  SC::CryptographyErrorContextKind : uint16_t {
  None = 0 ,
  AppleCommonCryptoStatus ,
  WindowsNtStatus ,
  PosixErrno ,
  ExpectedBytes ,
  RequiredBytes ,
  MaximumBytes ,
  ActualBytes
}
 Kind of the scalar diagnostic context stored in ResultCryptography. More...
 

Detailed Description

🟥 Fixed-storage wrappers over native and optional OpenSSL symmetric cryptography APIs (see Cryptography for more details)

Enumeration Type Documentation

◆ CryptographyError

enum class SC::CryptographyError : uint32_t
strong

#include <CryptographyError.h>

Stable portable failures returned by the Cryptography library.

◆ CryptographyErrorContextKind

enum class SC::CryptographyErrorContextKind : uint16_t
strong

#include <CryptographyError.h>

Kind of the scalar diagnostic context stored in ResultCryptography.

◆ CryptographyErrorDetail

enum class SC::CryptographyErrorDetail : uint16_t
strong

#include <CryptographyError.h>

Stable operation or backend stage retained for a Cryptography failure.