সিমেট্রিক কি ক্রিপ্টোগ্রাফি হলো একটি এনক্রিপশন স্কিম যেখানে একই কি ব্যবহার করা হয় উভয় এনক্রিপ্ট এবং ডিক্রিপ্ট করার জন্য মেসেজ। ডেটা এনকোড করার এই পদ্ধতিটি গত দশকগুলোরłużে ব্যাপকভাবে ব্যবহৃত হয়েছে সরকার ও সেনাবাহিনীর মধ্যে গোপন যোগাযোগ সাধনের জন্য।
সিমেট্রিক-কি ক্রিপ্টোগ্রাফিকে শেয়ারড-কি, সিক্রেট-কি, সিঙ্গেল-কি, ওয়ান-কি এবং অবশেষে প্রাইভেট-কি ক্রিপ্টোগ্রাফিও বলা হয়। এই ক্রিপ্টোগ্রাফির রূপে, এটি স্পষ্ট যে কিটি প্রেরক এবং প্রাপকের উভয়কে জানা উচিত যারা শেয়ার করে। এই পদ্ধতির জটিলতা হলো কির বিতরণ।
সিমেট্রিক কি ক্রিপ্টোগ্রাফি স্কিমগুলো সাধারণত শ্রেণিবদ্ধ করা হয় স্ট্রিম সিফার বা ব্লক সিফার হিসেবে। স্ট্রিম সিফার একটি একক বিট (বাইট বা কম্পিউটার ওয়ার্ড) এ কাজ করে একবারে এবং কিছু ফিডব্যাক কাঠামো বাস্তবায়ন করে যাতে কি বারবার পরিবর্তিত হয়।
একটি ব্লক সিফার তই নাম 붙্যেছে কারণ স্কিমটি একবারে একটি ব্লক ইনফরমেশন এনক্রিপ্ট করে প্রতিটি ব্লকে একই কি ব্যবহার করে। সাধারণত, একই প্লেইনটেক্সট ব্লক सदা একই সিফারটেক্সটে এনক্রিপ্ট হবে একই কি ব্যবহার করে একটি ব্লক সিফারে যেখানে একই প্লেইনটেক্সট একটি স্ট্রিম সিফারে ভিন্ন সিফারটেক্সটে এনক্রিপ্ট হবে।
ব্লক সিফার একাধিক মোডে অপারেট করতে পারে যেগুলো নিচে দেওয়া হলো:
ইলেকট্রনিক কোডবুক (ECB) মোড হলো সবচেয়ে সহজ বাস্তবায়ন এবং শেয়ারড কি ব্যবহার করা যেতে পারে প্লেইনটেক্সট ব্লক এনক্রিপ্ট করতে সিফারটেক্সট ব্লক তৈরি করতে। দুটি অভিন্ন প্লেইনটেক্সট ব্লক সবসময় একই সিফারটেক্সট ব্লক তৈরি করবে। যদিও এটি ব্লক সিফারের সবচেয়ে সাধারণ মোড, এটি একাধিক ব্রুট-ফোর্স আক্রমণের জন্য ঝুঁকিপূর্ণ।
সিফার ব্লক চেইনিং (CBC) মোড এনক্রিপশন স্কিমে একটি ফিডব্যাক কাঠামো যোগ করে। CBC-এ, প্লেইনটেক্সট এক্সক্লूसিভ-অর (XORed) করা হয় পূর্বের সিফারটেক্সট ব্লকের সাথে এনক্রিপশনের আগে। এই মোডে, দুটি অভিন্ন প্লেইনটেক্সট ব্লক একই সিফারটেক্সটে এনক্রিপ্ট হবে না।
সিফার ফিডব্যাক (CFB) মোড হলো একটি ব্লক সিফার বাস্তবায়ন একটি সেলফ-সিঙ্ক্রোনাইজিং স্ট্রিম সিফার হিসেবে। CFB মোড ডেটা এনক্রিপ্ট করতে সক্ষম করে ইউনিটে যেগুলো ব্লক সাইজের চেয়ে ছোট, যা কিছু অ্যাপ্লিকেশনে উপকারী যেন ইন্টারঅ্যাক্টিভ টার্মিনাল ইনপুট এনক্রিপ্ট করা। যদি ১-বাইট CFB মোড ব্যবহার করা হয়।
প্রতিটি ইনকামিং ক্যারেক্টার একটি শিফ্ট রেজিস্টারে রাখা হয় ব্লকের মতো একই সাইজে, এনক্রিপ্ট করা হয়, এবং ব্লক প্রেরিত হয়। রিসিভিং সাইডে, সিফারটেক্সট ডিক্রিপ্ট করা হয় এবং ব্লকে আরও বিট বাতিল করা হয়।
আউটপুট ফিডব্যাক (OFB) মোড হলো একটি ব্লক সিফার বাস্তবায়ন ধারণাগতভাবে একই সিনক্রোনাস স্ট্রিম সিফারের মতো। OFB একই প্লেইনটেক্সট ব্লক একই সিফারটেক্সট ব্লক তৈরি করতে বাধা দেয় একটি ইন্টারন্যাল ফিডব্যাক কাঠামো ব্যবহার করে যা প্লেইনটেক্সট এবং সিফারটেক্সট বিটস্ট্রিম দুটির থেকে স্বাধীন।