| 1234567891011121314151617181920212223242526272829303132 |
- 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)
- )
|