SM4 সম্পর্কে
SM4 হলো চীনের জাতীয় ব্লক সাইফার, যার ব্লক সাইজ 128-বিট এবং কী 128-বিট। এটি GM/T স্ট্যান্ডার্ড ইকোসিস্টেম জুড়ে ব্যাপকভাবে ব্যবহৃত হয়, যার মধ্যে রয়েছে SM TLS/SSL, WLAN নিরাপত্তার জন্য WAPI, ই-গভর্নমেন্ট এবং ফাইন্যান্স।
AES-এর সাথে সম্পর্ক
- সাধারণ দিক:
- দুটিই 128-বিট ব্লক সাইফার; সাধারণ মোড (ECB/CBC) এবং মান প্যাডিং (PKCS#5/7) সমর্থন করে।
- অপারেশনাল মডেল খুব মিল: একটি কী প্রয়োজন, ঐচ্ছিক IV, মোড ও প্যাডিং বেছে নেয়, তারপর ব্লকে প্লেইনটেক্সট প্রক্রিয়া করে।
- পার্থক্য:
- মান ও ইকোসিস্টেম: AES একটি আন্তর্জাতিক মান (FIPS 197) এবং বিশ্বব্যাপী গৃহীত; SM4 একটি চীনা জাতীয় মান (GM/T সিরিজ) যা স্থানীয় সম্মতি ও নিয়ন্ত্রক প্রয়োজনীয়তা মেটাতে ব্যবহৃত হয়।
- কী দৈর্ঘ্য: AES 128/192/256-বিট কী সমর্থন করে; SM4 স্থির 128-বিট।
- পারফরম্যান্স ও হার্ডওয়্যার: আধুনিক CPU/GPU-তে AES-এর জন্য বিস্তৃত হার্ডওয়্যার এক্সিলারেশন আছে; SM4 হার্ডওয়্যার এক্সিলারেশন উন্নত হচ্ছে এবং প্ল্যাটফর্মের উপর নির্ভর করে।
- সম্মতি: চীনে বা চীন-মুখী পরিস্থিতিতে, "গুওমি" সম্মতির জন্য SM4 প্রায়ই প্রয়োজন; সীমান্তবর্তী/বৈশ্বিক পরিস্থিতিতে সাধারণত 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 প্রস্তাবিত।
- সম্মতি: চীনে বা গুওমি-সম্মত সিস্টেমে SM4 ব্যবহার করুন; আন্তর্জাতিক ইকোসিস্টেমে AES সাধারণত প্রাথমিক।