Threefish
থ্রিফিশ একটি প্রতিসম-কী টুইকেবল ব্লক সাইফার যা স্কিন হ্যাশ ফাংশনের অংশ হিসাবে ডিজাইন করা হয়েছে, যা এনআইএসটি হ্যাশ ফাংশন প্রতিযোগিতার একটি এন্ট্রি। ক্যাশে টাইমিং আক্রমণ এড়ানোর জন্য থ্রিফিশ কোনও এস-বক্স বা অন্যান্য টেবিল লুকআপ ব্যবহার করে না; এর নন-লিনিয়ারিটি একচেটিয়া ওআর-এর সাথে পর্যায়ক্রমে সংযোজন থেকে আসে। এই ক্ষেত্রে, এটি সালসা20, টিইএ এবং এসএইচএ-3 প্রার্থী কিউবহ্যাশ এবং ব্লেকের অনুরূপ। থ্রিফিশ এবং স্কিন হ্যাশ ফাংশনের নকশা করেছিলেন ব্রুস স্নাইয়ার, নিলস ফার্গুসন, স্টেফান লুকস, ডগ হোয়াইটিং, মিহির বেলারে, তাদায়োশি কোহনো, জন ক্যালাস এবং জেসি ওয়াকার। সাইফার থ্রিফিশের বর্ণনা 64 বিটের শব্দের উপর কাজ করে (স্বাক্ষরহীন লিটল এন্ডিয়ান পূর্ণসংখ্যা)। এটি সরল পাঠ্য শব্দের সংখ্যা এবং মূল শব্দের সংখ্যাও। টুইক দুটি শব্দ নিয়ে গঠিত। সমস্ত সংযোজন এবং বিয়োগগুলি মডুলো হিসাবে সংজ্ঞায়িত করা হয়। মূল সময়সূচী থ্রিফিশ রাউন্ডে এনক্রিপ্ট করে এবং বিভিন্ন বৃত্তাকার কী ব্যবহার করে। প্রতি চারটি রাউন্ডের পরে, এবং প্রথম রাউন্ডের আগে, গোল কী শব্দগুলি ডেটা শব্দের সাথে যুক্ত করা হয়। বৃত্তাকার কীগুলি গণনা করার জন্য মূল কী-শব্দের সঙ্গে একটি অতিরিক্ত কী-ওয়ার্ড যুক্ত করা হয়। এছাড়াও, টুইক শব্দের সাথে একটি অতিরিক্ত টুইক শব্দ যুক্ত করা হয়। আপাতদৃষ্টিতে স্বেচ্ছাচারী ধ্রুবকের উদ্দেশ্য হল এমন কিছু আক্রমণকে হতাশ করা যা এবং অন্যান্য মূলশব্দগুলির মধ্যে সম্পর্কের সুযোগ নেয়। বৃত্তাকার মূল শব্দগুলি এখন এইভাবে সংজ্ঞায়িত করা হয়েছেঃ এখানে, বৃত্তাকার মূল শব্দটি ব্যবহার করা বৃত্তের সংখ্যা কোথায়। মিক্স ফাংশন মিক্স ফাংশন শব্দের একটি টুকরো নেয় এবং শব্দের আরেকটি টুকরো প্রদান করে। ফাংশনটি এইভাবে সংজ্ঞায়িত করা হয়েছেঃ দ্রুত বিস্তার অর্জনের জন্য নির্বাচিত ঘূর্ণন ধ্রুবকগুলির একটি নির্দিষ্ট সেট। ক্রমবিন্যাস ধাপটি একটি ধ্রুবক প্যাটার্ন অনুযায়ী শব্দের অবস্থানগুলি অদলবদল করে। এই ধাপে বিট-স্তরের বিন্যাস অর্জন করা যায় না, তবে এটি প্রয়োজনীয় নয় কারণ এম. আই. এক্স ফাংশনগুলি বিট-স্তরের বিন্যাস বিট-ভিত্তিক আবর্তনের আকারে প্রদান করে। এম. আই. এক্স ফাংশনে পারমিউট ধাপ এবং ঘূর্ণন ধ্রুবকগুলি এমনভাবে বেছে নেওয়া হয় যাতে সামগ্রিক প্রভাব একটি ডেটা ব্লকের সমস্ত বিটের সম্পূর্ণ বিস্তার হয়। যেহেতু এই বিন্যাস স্থির এবং কী থেকে স্বাধীন, তাই এটি গণনা করার জন্য প্রয়োজনীয় সময় কী বা প্লেইনটেক্সট সম্পর্কে তথ্য সরবরাহ করে না। এটি গুরুত্বপূর্ণ কারণ বেশিরভাগ আধুনিক মাইক্রোপ্রসেসরের পারফরম্যান্স অপ্টিমাইজেশানগুলি মেমরিতে ডেটা কোথায় সংরক্ষণ করা হয় তার উপর নির্ভর করে একটি অ্যারে অপারেশন গণনা করতে সময় নিতে পারে। সাইফারগুলিতে যেখানে অ্যারে সন্ধান কী বা প্লেইনটেক্সটের উপর নির্ভর করে (যেমন এইএস-এ প্রতিস্থাপন পদক্ষেপের ক্ষেত্রে), এটি এনক্রিপশনের জন্য প্রয়োজনীয় সময় পরীক্ষা করে সাইফারকে সময় আক্রমণের ঝুঁকিতে ফেলতে পারে। ক্রমবিন্যাসটি তাই ইচ্ছাকৃতভাবে এটি নিশ্চিত করার জন্য ডিজাইন করা হয়েছে যে এটি ব্যবহৃত কী বা এনক্রিপ্ট করা ডেটা থেকে স্বাধীনভাবে একই পদ্ধতিতে কার্যকর করা উচিত। একটি পূর্ণ থ্রিফিশ রাউন্ড যদি শব্দের সাথে বৃত্তাকার কী যোগ করা হয় তবে মিশ্র ফাংশনটি শব্দের জোড়ায় প্রয়োগ করা হয়, আবর্তনের প্রস্থ বৃত্তাকার সংখ্যা এবং শব্দ জোড়ার উপর নির্ভর করে শব্দগুলি বৃত্তাকার সংখ্যা থ্রিফিশ 256 থেকে স্বাধীন একটি বিন্যাস ব্যবহার করে বিন্যাস করা হয় এবং থ্রিফিশ 512 এই বৃত্তাকার সময় () প্রয়োগ করে। থ্রিফিশ1024 এটি 80 বার প্রয়োগ করে ()। চূড়ান্ত ক্রিয়াকলাপ সমস্ত রাউন্ড প্রয়োগ করার পরে, শেষ রাউন্ডের মূল শব্দগুলি শব্দের সাথে যুক্ত করা হয় এবং শব্দগুলি আবার বাইটের স্ট্রিংয়ে রূপান্তরিত হয়। 2010 সালের অক্টোবরে, একটি আক্রমণ যা রিবাউন্ড আক্রমণের সাথে ঘূর্ণনগত ক্রিপ্ট্যানালাইসিসকে একত্রিত করে প্রকাশিত হয়েছিল। আক্রমণটি থ্রিফিশ-256-এ 72 রাউন্ডের মধ্যে 53 রাউন্ড এবং থ্রিফিশ-512-এ 72 রাউন্ডের মধ্যে 57 রাউন্ডের বিরুদ্ধে একটি পরিচিত-কী পার্থক্যকারীকে মাউন্ট করে। এটি স্কিন হ্যাশ ফাংশনকেও প্রভাবিত করে। এটি ফেব্রুয়ারিতে প্রকাশিত আগের আক্রমণের একটি ফলো-আপ, যা যথাক্রমে 39 এবং 42 রাউন্ড ভেঙে। এই আক্রমণের প্রতিক্রিয়ায়, স্কিন দল থ্রিফিশে ব্যবহৃত ঘূর্ণন ধ্রুবকগুলি পরিবর্তন করে এবং এর ফলে এনআইএসটি হ্যাশ ফাংশন প্রতিযোগিতার 3য় রাউন্ডের জন্য মূল সময়সূচী ধ্রুবকগুলি পরিবর্তন করে। 2009 সালে, একটি কম বৃত্তাকার থ্রিফিশ সংস্করণের বিরুদ্ধে একটি সম্পর্কিত মূল বুমেরাং আক্রমণ প্রকাশিত হয়েছিল। 32-রাউন্ড সংস্করণের জন্য, সময় জটিলতা হল এবং মেমরি জটিলতা হল; 33-রাউন্ড সংস্করণের জন্য, সময় জটিলতা একটি নগণ্য মেমরি ব্যবহারের সাথে হয়। আক্রমণগুলি থ্রিফিশের টুইকড সংস্করণের বিরুদ্ধেও কাজ করেঃ 32-রাউন্ড সংস্করণের জন্য, সময় জটিলতা এবং মেমরি জটিলতা; 33-রাউন্ড সংস্করণের জন্য, সময় জটিলতা একটি নগণ্য মেমরি ব্যবহারের সাথে হয়। আরও দেখুন টুফিশ ব্লোফিশ (সাইফার) রেফারেন্স বাহ্যিক লিঙ্ক "দ্য স্কিন হ্যাশ ফাংশন ফ্যামিলি" স্কিন হ্যাশ ফাংশন পরিবারের হোমপেজ। মুক্ত সাইফার ব্লক করুন