একটি আধুনিক ব্লক সাইফার হল একটি সাইফার যা প্লেইনটেক্সটের এম-বিট ব্লককে এনক্রিপ্ট করে এবং সাইফারটেক্সটের এম-বিট ব্লককে ডিক্রিপ্ট করে। এনক্রিপশন বা ডিক্রিপশনের জন্য, আধুনিক ব্লক সাইফার একটি K বিট কীকে সুবিধা দেয় এবং ডিক্রিপশন অ্যালগরিদম এনক্রিপশন অ্যালগরিদমের বিপরীত হওয়া উচিত এবং এনক্রিপশন এবং ডিক্রিপশন উভয়ের জন্য একই কী ব্যবহার করা হয়।
একটি ব্লক সাইফার n বিটের একটি প্লেইনটেক্সট ব্লকে কাজ করে এন বিটের সাইফার টেক্সট ব্লক তৈরি করে। সম্ভাব্য একাধিক প্লেইনটেক্সট ব্লক রয়েছে এবং, এনক্রিপশনটি প্রত্যাবর্তনযোগ্য হওয়ার জন্য (অর্থাৎ, ডিক্রিপশন প্রযোজ্য হওয়ার জন্য), প্রতিটির একটি অনন্য সাইফার টেক্সট ব্লক তৈরি করা উচিত। এই ধরনের রূপান্তরটি বিপরীতমুখী বা অ-একবচন হিসাবে পরিচিত।
টেক্সট এর অভিন্ন ব্লক এনক্রিপ্ট করার সুযোগ মুছে ফেলার জন্য ব্লক সাইফার মোড তৈরি করা হয়েছে একই পদ্ধতিতে, আগের এনক্রিপ্ট করা ব্লক থেকে তৈরি সাইফারটেক্সট পরবর্তী ব্লকে ব্যবহার করা হয়। বিটগুলির একটি ব্লক একটি ইনিশিয়ালাইজেশন ভেক্টর (IV) হিসাবে পরিচিত।
আধুনিক ব্লক সাইফারের বিভিন্ন উপাদান রয়েছে যা নিম্নরূপ -
-
ডি-বক্স − একটি ডি-বক্স হল একটি পারমুটেশন বাক্স যার বৈশিষ্ট্যগুলি ঐতিহ্যগত ট্রান্সপোজিশন সাইফারের মতো। ডি-বক্স ট্রান্সপোজ বিট। তিন ধরনের ডি-বক্স রয়েছে যা নিম্নরূপ -
সরাসরি ডি-বক্স − এটি n ইনপুট তৈরি করে, তাদের পারমিউট করে এবং n আউটপুট সমর্থন করে। এতে, পারমুটেশনের পরে দ্বিতীয় ইনপুটটি প্রথম আউটপুট হবে। ইনপুটের প্রথম অক্ষরটি দ্বিতীয় স্থানে, চতুর্থ স্থানে তৃতীয় এবং তৃতীয় স্থানে চতুর্থটি স্থানান্তরিত হয়। সেখানে নাই! ডি-বক্সে ম্যাপিংয়ের সম্ভাব্য উপায়।
কম্প্রেশন ডি-বক্স − এটি n ইনপুট এবং m আউটপুট সহ একটি ডি-বক্স, যেখানে m
সম্প্রসারণ ডি-বক্স − এটি n ইনপুট এবং m আউটপুট সহ একটি ডি-বক্স, যেখানে m>n অর্থাৎ, বিভিন্ন ইনপুট একাধিক আউটপুটের সাথে সংযুক্ত থাকে যখন এটি বিট স্থানান্তরের প্রয়োজন হয় এবং একইভাবে একাধিক বিট বৃদ্ধি করে পরবর্তী ধাপ।
এস-বক্স − এগুলি প্রতিস্থাপন সাইফারের অনুরূপ প্রতিস্থাপন বাক্স। একটি এস-বক্সে ইনপুট একটি এন-বিট শব্দ হতে পারে কিন্তু আউটপুট একটি এম-বিট শব্দ হতে পারে, যেখানে m এবং n মূলত একই নয়৷
বৃত্তাকার স্থানান্তর − এটি আধুনিক ব্লক সাইফারেও আবিষ্কৃত হতে পারে, এটি বাম শিফট বা ডান-শিফটের মতো হতে পারে। বৃত্তাকার বাম শিফটে, প্রতিটি বিটকে এন-বিট শব্দে m অবস্থান সহ বামে স্থানান্তর করুন এবং বাম থেকে সবচেয়ে বাম-বিটগুলি মুছে ফেলা হয় এবং ডানদিকের বিটগুলি হয়ে যায়৷