ব্লোফিশ হল একটি সিমেট্রিক ব্লক সাইফার অ্যালগরিদম যা ব্রুট স্নাইয়ার ডিসেম্বর 1993 সালে উদ্ভাবন করেছিলেন। ব্লোফিশ হল DES বা IDEA এর বিকল্প। সবচেয়ে জনপ্রিয় ফিস্টেল নেটওয়ার্ক সাইফারগুলির মধ্যে একটি হল ব্লোফিশ। ব্লোফিশ অ্যালগরিদমের রয়েছে 64-বিট ব্লকের আকার এবং পরিবর্তনশীল কী দৈর্ঘ্য 42 বিট থেকে 448 বিট পর্যন্ত। অ্যালগরিদমে একটি কী-সম্প্রসারণ অংশ এবং ডেটা-এনক্রিপশন অংশ রয়েছে।
ব্লোফিশ সর্বাধিক 448 বিটের কী তৈরি করে বিভিন্ন সাবকি অ্যারেতে মোট 1042 32 বিট মান বা 4168 বাইট। এটি একটি 16- রাউন্ড ফিস্টেল সিস্টেম, যা খুব উচ্চ কী-নির্ভর এস-বক্স সমর্থন করে এবং 16টি পুনরাবৃত্তি সক্ষম করে।
প্রতিটি রাউন্ড একটি কী এবং ডেটা নির্ভর প্রতিস্থাপন এবং একটি কী-নির্ভর পরিবর্তনের সাথে অভিযোজিত হয়। 32-বিট শব্দ এবং XOR অপারেশনগুলি সংযোজন দ্বারা বাস্তবায়িত হয়। একটি পি-অ্যারে এবং চারটি 32-বিট এস-বক্স রয়েছে৷
৷পি-অ্যারে 32-বিট সাব কীগুলির মধ্যে 18টি অন্তর্ভুক্ত করে, যখন প্রতিটি এস-বক্সে 256টি এন্ট্রি রয়েছে। ইনপুট একটি 64 বিট ডেটা উপাদান। সাব কী জেনারেশনের প্রক্রিয়াটি নিম্নরূপ -
-
ব্লোফিশ অনেক সংখ্যক সাবকি ব্যবহার করে। এনক্রিপশন এবং ডিক্রিপশন উপস্থিত হওয়ার আগে এই কীগুলি প্রস্তুত করতে হবে৷ 32 বিট থেকে 448 বিট পর্যন্ত কী সাইজ ফিল্ড। অন্য পদে, কী আকার 1 থেকে 14 শব্দের মধ্যে, প্রতিটি 32 বিটের শব্দ সহ। এই কীগুলি নিচের মতো একটি অ্যারেতে সংরক্ষিত হয় -
K1, K2, ....Kn যেখানে 1 ≤ n ≤ 14
-
18, 32-বিট সাবকি-
সহ P-অ্যারের ধারণাP1,P2,………….,P18.
পি-অ্যারের সৃষ্টি পরবর্তীতে বর্ণনা করা হয়েছে।
-
চারটি 32-বিট এস-বক্স রয়েছে প্রতিটিতে 256টি এন্ট্রি রয়েছে −
S1, 0, S1, 1… S1, 255
S2, 0, S2, 1… S2, 255
S3, 0, S3, 1… S3, 255
S4, 0, S4, 1… S4, 255
পি-অ্যারে নির্মাণ পরবর্তীতে সংজ্ঞায়িত করা হয়।
-
এটি একটি নির্দিষ্ট স্ট্রিং সহ প্রথমে পি-অ্যারে শুরু করতে পারে, তারপরে চারটি এস-বক্স।
-
পি অ্যারে এবং চারটি এস বক্স Pi এর হেক্সাডেসিমেল সংখ্যা হিসাবে নির্দেশিত হয়৷
-
এটি P-অ্যারের একটি বিটওয়াইজ XOR অপারেশন এবং K অ্যারে থেকে K অ্যারের পুনঃব্যবহারের শব্দের সাথে কী বিট (যেমন, P1 XOR (বত্রিশ বিট অফ কী), P2 XOR (কির বত্রিশ বিট) ব্যবহার করতে পারে। পি>
-
এটি 64 বিট ব্লক এনক্রিপ্ট করতে পারে এবং সাধারণ P এবং S অ্যারেগুলির সাথে সমস্ত-শূন্য এনক্রিপ্ট করতে নিম্নলিখিত এনক্রিপশন প্রক্রিয়াটি ব্যবহার করতে পারে৷
-
এটি এনক্রিপশনের আউটপুট সহ p1 এবং p2 এর স্থান তৈরি করতে পারে এবং p1 এবং p2 হিসাবে নতুন আউটপুট বাদ দিতে পারে।
-
এটি বর্তমান পি বক্স এবং এস বক্স ব্যবহার করে স্টেপ3 এর আউটপুট এনক্রিপ্ট করতে পারে এবং ফলস্বরূপ এনক্রিপ্ট করা টেক্সট সহ ট্রান্সফর্ম3 এবং পি4 ব্যবহার করে এবং নতুন আউটপুটকে p3 এবং p4 বলা হয়৷
-
এটি নিম্নলিখিত পদক্ষেপগুলি পুনরাবৃত্তি করতে পারে যতক্ষণ না এটি P অ্যারে i.eP1, P2 এর সমস্ত উপাদান অর্জন করতে পারে৷