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