স্ট্রিম সাইফার বনাম ব্লক সাইফার | স্টেট সাইফার বনাম ব্লক সাইফার
ক্রিপ্টোগ্রাফিতে, স্ট্রিম সাইফার এবং ব্লক সাইফার হল দুটি এনক্রিপশন/ডিক্রিপশন অ্যালগরিদম যা সিমেট্রিক কী সাইফারের পরিবারের অন্তর্গত। সাধারণত একটি সাইফার ইনপুট হিসাবে একটি প্লেইন-টেক্সট নেয় এবং আউটপুট হিসাবে একটি সাইফারটেক্সট তৈরি করে। ব্লক সাইফার একটি অপরিবর্তিত রূপান্তর ব্যবহার করে বিটগুলির নির্দিষ্ট দৈর্ঘ্যের ব্লককে এনক্রিপ্ট করে। স্ট্রীম সাইফারগুলি বিভিন্ন দৈর্ঘ্যের বিটগুলির স্ট্রিমগুলিকে এনক্রিপ্ট করে এবং প্রতিটি বিটে বিভিন্ন রূপান্তর ব্যবহার করে৷
স্ট্রিম সাইফার কি?
স্ট্রিম সাইফারগুলি সিমেট্রিক কী সাইফারের পরিবারের অন্তর্গত। স্ট্রিম সাইফারগুলি XOR (এক্সক্লুসিভ-অথবা) অপারেশন ব্যবহার করে একটি সিউডোর্যান্ডম সাইফার বিট স্ট্রিমের সাথে প্লেইন-টেক্সট বিটগুলিকে একত্রিত করে।স্ট্রীম সাইফারগুলি ধারাবাহিক অঙ্কগুলির জন্য বিভিন্ন রূপান্তর সহ এক সময়ে প্লেইন-টেক্সট ডিজিটগুলিকে এনক্রিপ্ট করে৷ যেহেতু প্রতিটি অঙ্কের এনক্রিপশন সাইফার ইঞ্জিনের বর্তমান অবস্থার উপর নির্ভর করে, স্ট্রিম সাইফারগুলিকে স্টেট সাইফারও বলা হয়। সাধারণত, একক বিট/কামড় একক সংখ্যা হিসাবে ব্যবহৃত হয়। নিরাপত্তা উদ্বেগ এড়াতে, এটি নিশ্চিত করা উচিত যে একই প্রারম্ভিক অবস্থা একবারের বেশি ব্যবহার করা হয় না। সর্বাধিক ব্যবহৃত স্ট্রিম সাইফার হল RC4৷
ব্লক সাইফার কি?
একটি ব্লক সাইফার আরেকটি সিমেট্রিক কী সাইফার। ব্লক সাইফারগুলি নির্দিষ্ট দৈর্ঘ্য সহ ব্লকগুলিতে (বিটগুলির গ্রুপ) কাজ করে। ব্লক সাইফারগুলি ব্লকের সমস্ত অঙ্কের জন্য একটি নির্দিষ্ট (অপরিবর্তিত) রূপান্তর ব্যবহার করে। উদাহরণস্বরূপ, যখন একটি এক্স-বিট ব্লক প্লেইন-টেক্সট (একটি গোপন কী সহ) ব্লক সাইফার ইঞ্জিনে ইনপুট হিসাবে সরবরাহ করা হয়, তখন এটি সাইফারটেক্সটের অনুরূপ এক্স-বিট ব্লক তৈরি করে। প্রকৃত রূপান্তর গোপন কী এর উপর নির্ভরশীল। একইভাবে, ডিক্রিপশন অ্যালগরিদম সাইফারটেক্সটের x-বিট ব্লক এবং ইনপুট হিসাবে উপরের গোপন কী ব্যবহার করে প্লেইনটেক্সটের আসল এক্স-বিট ব্লক পুনরুদ্ধার করে।যদি ইনপুট বার্তাটি ব্লকের আকারের তুলনায় খুব দীর্ঘ হয়, তবে এটি ব্লকগুলিতে ভেঙে যাবে এবং এই ব্লকগুলি একই কী ব্যবহার করে (ব্যক্তিগতভাবে) এনক্রিপ্ট করা হবে। যাইহোক, যেহেতু একই কী ব্যবহার করা হয়, তাই প্লেইন-টেক্সটের প্রতিটি পুনরাবৃত্তি ক্রম সাইফার-টেক্সটে একই পুনরাবৃত্তি ক্রম হয়ে যায় এবং এটি নিরাপত্তা উদ্বেগের কারণ হতে পারে। জনপ্রিয় ব্লক সাইফার হল DES (ডেটা এনক্রিপশন স্ট্যান্ডার্ড) এবং AES (অ্যাডভান্সড এনক্রিপশন স্ট্যান্ডার্ড)।
একটি স্ট্রিম সাইফার এবং একটি ব্লক সাইফারের মধ্যে পার্থক্য কী?
যদিও স্ট্রিম সাইফার এবং ব্লক সাইফার উভয়ই সিমেট্রিক এনক্রিপশন সাইফারের পরিবারের অন্তর্গত, কিছু মূল পার্থক্য রয়েছে। ব্লক সাইফারগুলি বিটগুলির নির্দিষ্ট দৈর্ঘ্যের ব্লকগুলিকে এনক্রিপ্ট করে, যখন স্ট্রিম সাইফারগুলি XOR অপারেশন ব্যবহার করে একটি সিউডোর্যান্ডম সাইফার বিট স্ট্রিমের সাথে প্লেইন-টেক্সট বিটগুলিকে একত্রিত করে। যদিও ব্লক সাইফারগুলি একই রূপান্তর ব্যবহার করে, স্ট্রিম সাইফারগুলি ইঞ্জিনের অবস্থার উপর ভিত্তি করে বিভিন্ন রূপান্তর ব্যবহার করে। স্ট্রিম সাইফারগুলি সাধারণত ব্লক সাইফারের চেয়ে দ্রুত কার্যকর করে।হার্ডওয়্যার জটিলতার পরিপ্রেক্ষিতে, স্ট্রিম সাইফার তুলনামূলকভাবে কম জটিল। যখন প্লেইন-টেক্সট বিভিন্ন পরিমাণে পাওয়া যায় (যেমন একটি সুরক্ষিত ওয়াইফাই সংযোগের জন্য), তখন ব্লক সাইফারের তুলনায় স্ট্রীম সাইফারগুলি সাধারণ পছন্দ, কারণ ব্লক সাইফারগুলি ব্লকের আকারের চেয়ে ছোট ব্লকগুলিতে সরাসরি কাজ করতে পারে না। কিন্তু কখনও কখনও, স্ট্রিম সাইফার এবং ব্লক সাইফারের মধ্যে পার্থক্য খুব স্পষ্ট নয়। কারণ হল, অপারেশনের নির্দিষ্ট মোড ব্যবহার করার সময়, একটি ব্লক সাইফার স্ট্রিম সাইফার হিসাবে কাজ করতে ব্যবহার করা যেতে পারে এটিকে উপলব্ধ ডেটার ক্ষুদ্রতম ইউনিট এনক্রিপ্ট করার অনুমতি দিয়ে৷