एईएस का ब्लॉक आकार 16 बाइट्स है, इसलिए आपको इसकी आवश्यकता होगी
- आपके इनपुट का आकार, 16 के निकटतम गुणज तक पूर्णांकित
- साथ ही, यदि इनपुट पहले से ही 16 का गुणज है, तो PKCS#5 पैडिंग के लिए एक ब्लॉक आकार
- चतुर्थ के लिए प्लस 16 बाइट्स
ध्यान दें कि यह आवश्यक रूप से अन्य सिफर मोड पर लागू नहीं होता है।
तो इनपुट के 20 बाइट्स के लिए आपको कुल 48 बाइट्स की आवश्यकता होगी। हालांकि , आप परिणाम को बेस 64 एन्कोडिंग भी कर रहे हैं, जिसके लिए कम से कम 33% अधिक स्थान की आवश्यकता होती है (यानी यदि आप अंतरिक्ष की परवाह करते हैं तो आपको कच्चे बाइट्स को संग्रहीत करना चाहिए)।
आपको एन्कोडिंग से पहले हमेशा संयोजित होना चाहिए, अन्यथा आप अक्सर कई पैडिंग बाइट अनुक्रमों के साथ स्थान बर्बाद कर देते हैं। यदि आपका इनपुट 20 बाइट लंबा है, तो 32 बाइट सिफरटेक्स्ट को एन्कोडिंग करने से 44 बाइट्स उत्पन्न होते हैं, और IV एन्कोडिंग से 24 बाइट्स (दोनों को पैडिंग की आवश्यकता होती है) का उत्पादन होता है। एन्कोडिंग से पहले संयोजित करने से केवल 64 बाइट्स बनते हैं।
एन्कोडिंग से पहले संयोजित करने के लिए भी सीमांकक की आवश्यकता नहीं होती है, क्योंकि IV की लंबाई ज्ञात है।
1 AEAD सिफर, जैसे GCM, आमतौर पर CBC की तुलना में बेहतर होते हैं, लेकिन स्पष्ट रूप से प्रमाणीकरण हैश को संग्रहीत करने के लिए अधिक स्थान की आवश्यकता होती है।