Documentation
¶
Index ¶
Constants ¶
View Source
const ( // KeySize is the size of AES-256 keys in bytes KeySize = 32 // NonceSize is the size of AES-GCM nonces in bytes NonceSize = 12 // SaltSize is the size of PBKDF2 salts in bytes SaltSize = 32 // PBKDF2Iterations is the number of iterations for key derivation PBKDF2Iterations = 100000 // KyberPublicKeySize is the size of Kyber public keys KyberPublicKeySize = 32 // KyberSecretKeySize is the size of Kyber secret keys KyberSecretKeySize = 32 // KyberCiphertextSize is the size of Kyber ciphertexts KyberCiphertextSize = 32 )
Variables ¶
View Source
var ( // Suite is the cryptographic suite we use for post-quantum operations Suite = edwards25519.NewBlakeSHA256Ed25519() )
Functions ¶
Types ¶
type ColumnEncryptor ¶
type ColumnEncryptor struct {
// PQ components
KyberPublicKey kyber.Point
KyberSecretKey kyber.Scalar
// contains filtered or unexported fields
}
ColumnEncryptor handles encryption/decryption for column data
func NewColumnEncryptor ¶
func NewColumnEncryptor(key []byte) (*ColumnEncryptor, error)
NewColumnEncryptor creates a new column encryptor with hybrid encryption
func (*ColumnEncryptor) Decrypt ¶
func (ce *ColumnEncryptor) Decrypt(ciphertext []byte) ([]byte, error)
Decrypt decrypts data using hybrid classical + post-quantum decryption
func (*ColumnEncryptor) Encrypt ¶
func (ce *ColumnEncryptor) Encrypt(plaintext []byte) ([]byte, error)
Encrypt encrypts data using hybrid classical + post-quantum encryption
Click to show internal directories.
Click to hide internal directories.