You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

32 lines
1.2 KiB

package s3_constants
// Cryptographic constants
const (
// AES block and key sizes
AESBlockSize = 16 // 128 bits for AES block size (IV length)
AESKeySize = 32 // 256 bits for AES-256 keys
// SSE algorithm identifiers
SSEAlgorithmAES256 = "AES256"
SSEAlgorithmKMS = "aws:kms"
// SSE type identifiers for response headers and internal processing
SSETypeC = "SSE-C"
SSETypeKMS = "SSE-KMS"
SSETypeS3 = "SSE-S3"
// S3 multipart upload limits and offsets
S3MaxPartSize = 5 * 1024 * 1024 * 1024 // 5GB - AWS S3 maximum part size limit
// Multipart offset calculation for unique IV generation
// Using 8GB offset between parts (larger than max part size) to prevent IV collisions
// Critical for CTR mode encryption security in multipart uploads
PartOffsetMultiplier = int64(1) << 33 // 8GB per part offset
// KMS validation limits based on AWS KMS service constraints
MaxKMSEncryptionContextPairs = 10 // Maximum number of encryption context key-value pairs
MaxKMSKeyIDLength = 500 // Maximum length for KMS key identifiers
// S3 multipart upload limits based on AWS S3 service constraints
MaxS3MultipartParts = 10000 // Maximum number of parts in a multipart upload (1-10,000)
)