SM4 के बारे में
SM4 चीनी राष्ट्रीय ब्लॉक सिफर है, जिसका ब्लॉक आकार 128-बिट और कुंजी 128-बिट है। इसका व्यापक रूप से GM/T मानकों के पारिस्थितिकी तंत्र में उपयोग होता है, जिसमें SM TLS/SSL, WLAN सुरक्षा के लिए WAPI, ई-सरकार और वित्त शामिल हैं।
AES के साथ संबंध
- समानताएँ:
- दोनों 128-बिट ब्लॉक सिफर हैं; सामान्य मोड (ECB/CBC) और मानक पैडिंग (PKCS#5/7) का समर्थन करते हैं।
- बहुत समान संचालन मॉडल: एक कुंजी (Key) की आवश्यकता, वैकल्पिक IV, मोड और पैडिंग का चयन, फिर प्लेनटेक्स्ट को ब्लॉकों में संसाधित करना।
- अंतर:
- मानक और पारिस्थितिकी तंत्र: AES एक अंतरराष्ट्रीय मानक (FIPS 197) है और वैश्विक रूप से अपनाया गया; SM4 एक चीनी राष्ट्रीय मानक (GM/T शृंखला) है जो स्थानीय अनुपालन और नियामक आवश्यकताओं को पूरा करने के लिए उपयोग होता है।
- कुंजी लंबाई: AES 128/192/256-बिट कुंजी का समर्थन करता है; SM4 निश्चित रूप से 128-बिट का है।
- प्रदर्शन और हार्डवेयर: आधुनिक CPU/GPU में AES के लिए व्यापक हार्डवेयर त्वरण है; SM4 हार्डवेयर त्वरण सुधर रहा है और प्लेटफ़ॉर्म पर निर्भर करता है।
- अनुपालन: चीन या चीन-मुखी परिदृश्यों में, SM4 अक्सर "GuoMi" अनुपालन के लिए आवश्यक होता है; सीमा-पार/वैश्विक परिदृश्यों में आमतौर पर AES का उपयोग होता है।
ECB बनाम CBC
| आइटम |
ECB |
CBC |
| IV का उपयोग |
नहीं |
हाँ (16 बाइट) |
| त्रुटि प्रसार |
कोई नहीं |
हाँ (प्रति ब्लॉक) |
| समांतरता |
उच्च |
निम्न (चेन्ड) |
| सुरक्षा |
निम्न (संरचना उजागर करता है) |
उच्च (अनुशंसित) |
| विशिष्ट उपयोग |
यादृच्छिक डेटा, परीक्षण |
वास्तविक व्यावसायिक डेटा |
- ECB: प्रत्येक 16-बाइट ब्लॉक को स्वतंत्र रूप से एनक्रिप्ट करता है; संरचनात्मक पैटर्न लीक करता है। संरचित/दोहराए जाने वाले डेटा के लिए अनुशंसित नहीं।
- CBC: एक यादृच्छिक और पुनः उपयोग-योग्य नहीं 16-बाइट IV का उपयोग करता है; आसन्न ब्लॉकों को जोड़ता है, प्रभावी रूप से पैटर्न छिपाता है और व्यावसायिक उपयोग के लिए सुरक्षा बढ़ाता है।
पैडिंग और संरेखण
- PKCS#5/PKCS#7: स्वचालित रूप से 16 बाइट के गुणज तक पैड करता है; अधिकांश टेक्स्ट/बाइनरी डेटा के लिए उपयुक्त।
- NoPadding: कोई पैडिंग नहीं; प्लेनटेक्स्ट/साइफरटेक्स्ट 16 बाइट का गुणज होना चाहिए; पूर्व-संरेखित डेटा या कस्टम प्रोटोकॉल के लिए उपयुक्त।
अनुशंसाएँ
- मोड चयन: CBC को प्राथमिकता दें; संरचित डेटा के लिए ECB से बचें।
- IV प्रबंधन: CBC IV क्रिप्टोग्राफ़िक रूप से सुरक्षित यादृच्छिक और प्रति एनक्रिप्शन अद्वितीय होना चाहिए।
- कुंजी जनरेशन: सुरक्षित यादृच्छिक 128-बिट कुंजियाँ उपयोग करें; कमज़ोर/पूर्वानुमान योग्य मानों से बचें।
- आउटपुट प्रारूप: साइफरटेक्स्ट के लिए HEX या Base64 का उपयोग करें; क्रॉस-सिस्टम परिवहन के लिए Base64 अनुशंसित है।
- अनुपालन: चीन या GuoMi-अनुपालन प्रणालियों में, SM4 का उपयोग करें; अंतरराष्ट्रीय पारिस्थितिकी तंत्र में, AES आमतौर पर प्राथमिक है।