2.1 DES Algorithm Core
DES অ্যালগরিদম 64-বিট ব্লকের প্লেইনটেক্সটে কাজ করে। এর মূল ফাংশন, ফেইস্টেল নেটওয়ার্ক, নিম্নরূপে উপস্থাপন করা যেতে পারে:
ডিজিটাল মুদ্রা, ব্লকচেইন এবং ক্লাউড ডেটা এনক্রিপশনের ক্ষেত্রে, ঐতিহ্যগত সফটওয়্যার-ভিত্তিক এনক্রিপশন ও ডিক্রিপশন পদ্ধতিগুলি ধীর গণনার গতি, উচ্চ হোস্ট সম্পদ খরচ এবং উল্লেখযোগ্য শক্তির প্রয়োজনীয়তা সহ উল্লেখযোগ্য চ্যালেঞ্জের মুখোমুখি হয়। যদিও Verilog/VHDL ব্যবহার করে ফিল্ড প্রোগ্রামেবল গেট অ্যারে (FPGA) বাস্তবায়ন হার্ডওয়্যার ত্বরণ প্রদান করে, তবে এগুলি দীর্ঘায়িত উন্নয়ন চক্র এবং রক্ষণাবেক্ষণ ও আপগ্রেডে অসুবিধার সম্মুখীন হয়। এই গবেষণাপত্র OpenCL ফ্রেমওয়ার্ক ব্যবহার করে 3DES অ্যালগরিদমের জন্য একটি নতুন FPGA অ্যাক্সিলারেটর ডিজাইন প্রস্তাব করে এই সীমাবদ্ধতাগুলি সমাধান করে।
প্রস্তাবিত নকশাটি একটি ৪৮-পুনরাবৃত্তি পাইপলাইন সমান্তরাল কাঠামো বাস্তবায়ন করে। অপ্টিমাইজেশন কৌশলগুলির মধ্যে রয়েছে কার্নেল ব্যান্ডউইথ ব্যবহার বৃদ্ধির জন্য ডেটা ট্রান্সমিশন মডিউলে ডেটা স্টোরেজ সমন্বয় এবং ডেটা বিট-প্রস্থ উন্নতি, পাশাপাশি একটি দক্ষ পাইপলাইন সমান্তরাল আর্কিটেকচার গঠনের জন্য অ্যালগরিদম এনক্রিপশন মডিউলে নির্দেশনা স্ট্রিম অপ্টিমাইজেশন। কার্নেল ভেক্টরাইজেশন এবং কম্পিউট ইউনিট প্রতিলিপিকরণের মাধ্যমে অতিরিক্ত কর্মদক্ষতা অর্জন করা হয়।
Peak Throughput on Intel Stratix 10 GX2800
Intel Core i7-9700 CPU-এর তুলনায় কার্যক্ষমতা লাভ
CPU এর তুলনায় শক্তি দক্ষতা লাভ
Performance & Efficiency gain vs. NVIDIA GTX 1080 Ti GPU
ট্রিপল ডেটা এনক্রিপশন স্ট্যান্ডার্ড (3DES) অ্যালগরিদম DES অ্যালগরিদমের উপর নির্মিত, যা তিনটি ধারাবাহিক DES অপারেশনের মাধ্যমে নিরাপত্তা বৃদ্ধি করে। DES একটি 56-বিট কী এবং 16 পুনরাবৃত্তি ব্যবহার করে, যেখানে 3DES একটি 168-বিট কী এবং 48 পুনরাবৃত্তি ব্যবহার করে।
DES অ্যালগরিদম 64-বিট ব্লকের প্লেইনটেক্সটে কাজ করে। এর মূল ফাংশন, ফেইস্টেল নেটওয়ার্ক, নিম্নরূপে উপস্থাপন করা যেতে পারে:
3DES দুটি বা তিনটি স্বাধীন কী (EDE মোড) সহ DES-কে তিনবার প্রয়োগ করে: $Ciphertext = E_{K3}(D_{K2}(E_{K1}(Plaintext)))$। এই কাঠামোটি একক DES-এর তুলনায় ব্রুট-ফোর্স আক্রমণের বিরুদ্ধে প্রতিরোধ ক্ষমতা উল্লেখযোগ্যভাবে বৃদ্ধি করে।
অ্যাক্সিলারেটরটি OpenCL-এর হেটেরোজিনিয়াস কম্পিউটিং মডেলের সুবিধা নেয়, যা কার্নেল প্রোগ্রামগুলিকে FPGA ডিভাইসে কম্পাইল এবং এক্সিকিউট করতে দেয়। এই পদ্ধতিটি সফ্টওয়্যারের নমনীয়তা এবং হার্ডওয়্যারের পারফরম্যান্সের মধ্যকার ব্যবধান দূর করে।
আর্কিটেকচারটি একটি হোস্ট (CPU) নিয়ে গঠিত যা কন্ট্রোল ফ্লো এবং ডেটা ট্রান্সফার পরিচালনা করে, এবং একটি ডিভাইস (FPGA) যা গণনাভিত্তিকভাবে জটিল 3DES কার্নেল নির্বাহ করে। একাধিক ডেটা ব্লক একসাথে প্রক্রিয়া করার জন্য FPGA কার্নেলটি একটি গভীর পাইপলাইন কাঠামো দিয়ে ডিজাইন করা হয়েছে।
নকশাটির মূল হল 3DES-এর 48টি পুনরাবৃত্তির সাথে সামঞ্জস্যপূর্ণ একটি 48-পর্যায়ের পাইপলাইন। উচ্চ ক্লক ফ্রিকোয়েন্সি এবং পাইপলাইনের পূর্ণ ব্যবহার নিশ্চিত করতে, পৃথক অপারেশনের লেটেন্সি লুকিয়ে রাখতে প্রতিটি পর্যায় সাবধানে ভারসাম্যপূর্ণ করা হয়েছে।
এই মডিউলটি হোস্ট মেমরি এবং FPGA গ্লোবাল মেমরির মধ্যে ডেটা স্থানান্তর পরিচালনা করে। তাত্ত্বিক সর্বোচ্চ ব্যান্ডউইথের কাছাকাছি পৌঁছানোর জন্য বার্স্ট ট্রান্সফার এবং এলাইনড মেমরি অ্যাক্সেসের মতো কৌশল প্রয়োগ করা হয়। আরও চওড়া AXI ইন্টারফেস (যেমন, 512-বিট) ব্যবহার কার্যকর ব্যান্ডউইথ উন্নত করার একটি মূল বিষয়।
এই মডিউলটি 3DES Feistel রাউন্ডগুলি বাস্তবায়ন করে। S-boxগুলি, যা ঐতিহ্যগতভাবে লুকআপ টেবিল (LUTs) হিসাবে বাস্তবায়িত হয়, FPGA-এর লজিক উপাদানগুলির জন্য অপ্টিমাইজ করা হয়েছে। পারমুটেশন এবং এক্সপ্যানশন অপারেশনগুলি ডেটাপাথে হার্ডওয়্যার হিসাবে সংযুক্ত করা হয়েছে।
অ্যাক্সেলারেটরের সামগ্রিক থ্রুপুট $T$ কে নিম্নরূপে মডেল করা যেতে পারে:
The accelerator was implemented on an Intel Stratix 10 GX2800 FPGA. The primary results are:
বনাম CPU (Intel Core i7-9700): FPGA অ্যাক্সিলারেটরটি 372x কর্মক্ষমতা উন্নতি এবং শক্তি দক্ষতায় (Performance/Watt) একটি বিস্ময়কর 644x উন্নতি প্রদর্শন করে। এটি নির্দিষ্ট, গণনা-নিবিড় কার্নেলের জন্য FPGA-এর শ্রেষ্ঠত্বকে তুলে ধরে।
বনাম GPU (NVIDIA GeForce GTX 1080 Ti): FPGA 20% উচ্চতর থ্রুপুট এবং 9x ভালো শক্তি দক্ষতা অর্জন করে। যদিও GPU নিয়মিত ডেটাতে ব্যাপক সমান্তরালতার ক্ষেত্রে শ্রেষ্ঠত্ব প্রদর্শন করে, FPGA বিট-লেভেল অপারেশন এবং কাস্টম পাইপলাইনে উচ্চতর দক্ষতা অর্জন করতে পারে, যেমনটি ক্রিপ্টোগ্রাফিক অ্যালগরিদমে দেখা যায়।
নকশাটি FPGA সম্পদ দক্ষতার সাথে ব্যবহার করে। প্রধান মেট্রিক্সগুলির মধ্যে রয়েছে:
হার্ডওয়্যার ক্রিপ্টো অ্যাক্সিলারেটর মূল্যায়নের কাঠামো:
কেস স্টাডি - ক্লাউড ডেটা এনক্রিপশন গেটওয়ে: কল্পনা করুন একটি নিরাপদ ক্লাউড স্টোরেজ পরিষেবা যা 3DES ব্যবহার করে স্থির সমস্ত ডেটা এনক্রিপ্ট করে। একটি Xeon সার্ভারে শুধুমাত্র সফ্টওয়্যার সমাধান একটি বাধা হয়ে উঠতে পারে। 3DES এনক্রিপশন একটি FPGA অ্যাক্সিলারেটর কার্ডে (ইন্টেল PAC with Stratix 10-এর মতো) অফলোড করে, পরিষেবাটি উচ্চ সামগ্রিক থ্রুপুট অর্জন করতে পারে, হার্ডওয়্যার পাইপলাইনের কারণে পৃথক অনুরোধের জন্য কম লেটেন্সি এবং সার্ভার বিদ্যুৎ খরচ এবং CPU লোড হ্রাস করতে পারে, অন্যান্য কাজের জন্য সংস্থান মুক্ত করতে পারে।
এই গবেষণাপত্রটি কেবল 3DES দ্রুত করার বিষয়ে নয়; এটি মুরের সূত্র-পরবর্তী যুগে দক্ষতা পুনরুদ্ধারের জন্য একটি কৌশলগত রূপরেখা। শিল্পটি যখন GPU-এর অপরিশোধিত FLOP-এর মাধ্যমে ত্বরণের জন্য মোহিত ছিল, তখন লেখকরা একটি স্পষ্ট অনুস্মারক দিয়েছেন: ক্রিপ্টোগ্রাফিক আদিম উপাদানের মতো নির্দিষ্ট, সু-সংজ্ঞায়িত কার্নেলের জন্য, FPGA-এর নির্ধারক, বিট-স্তরের প্রোগ্রামযোগ্যতা CPU এবং GPU-এর সাধারণ-উদ্দেশ্য, শক্তি-ক্ষুধার্ত স্থাপত্যকে ছাড়িয়ে যেতে পারে। একটি আধুনিক CPU-এর তুলনায় ৬৪৪x শক্তি দক্ষতা লাভ একটি ক্রমবর্ধমান উন্নতি নয়—এটি ডেটা সেন্টার অপারেটরদের জন্য একটি দৃষ্টান্ত পরিবর্তন, যেখানে শক্তি হল চূড়ান্ত ব্যয় কেন্দ্র। এই কাজটি Microsoft এবং Amazon-এর মতো হাইপারস্কেলারদের মধ্যে পর্যবেক্ষিত একটি বিস্তৃত প্রবণতার সাথে সামঞ্জস্যপূর্ণ, যারা নেটওয়ার্ক ভার্চুয়ালাইজেশন এবং ভিডিও ট্রান্সকোডিংয়ের মতো কাজের জন্য FPGA (এবং এখন ASIC) ব্যাপকভাবে মোতায়েন করে, শীর্ষ তাত্ত্বিক থ্রুপুটের চেয়ে প্রতি-ওয়াট কর্মক্ষমতাকে অগ্রাধিকার দেয়।
লেখকদের যুক্তি আকর্ষক এবং পদ্ধতিগত। তারা সঠিকভাবে দ্বৈত সমস্যা চিহ্নিত করে: সফ্টওয়্যার খুব ধীর এবং অদক্ষ, অন্যদিকে ঐতিহ্যগত HDL-ভিত্তিক FPGA উন্নয়ন খুব ধীর এবং অনমনীয়। তাদের সমাধান, একটি উচ্চ-স্তরের সংশ্লেষণ (HLS) টুল হিসাবে OpenCL ব্যবহার করে, উভয় দিককে সুন্দরভাবে আক্রমণ করে। অপ্টিমাইজেশন কৌশলগুলি একটি স্পষ্ট শ্রেণিবিন্যাস অনুসরণ করে: প্রথমত, নিশ্চিত করুন যে ডেটা গণনা ইউনিটে দক্ষতার সাথে প্রবাহিত হতে পারে (ডেটা স্টোরেজ, বিট-প্রস্থ)। দ্বিতীয়ত, নিশ্চিত করুন যে গণনা ইউনিটগুলি নিজেরাই সর্বাধিক ব্যবহার করা হয় (নির্দেশ অপ্টিমাইজেশন, পাইপলাইনিং)। সর্বশেষে, আউট স্কেল করুন (ভেক্টরাইজেশন, প্রতিলিপি)। এটি GPU কার্নেলের জন্য অপ্টিমাইজেশন প্রক্রিয়ার প্রতিফলন কিন্তু এমন একটি ফ্যাব্রিকে প্রয়োগ করা হয় যেখানে "কোর"গুলি সঠিক কাজের জন্য কাস্টম-নির্মিত। GTX 1080 Ti-এর সাথে তুলনাটি বিশেষভাবে অর্থপূর্ণ—এটি দেখায় যে এমনকি একটি অত্যন্ত সমান্তরাল প্রসেসরের বিরুদ্ধেও, একটি FPGA-তে একটি কাস্টম ডেটা পাথ কর্মক্ষমতা এবং, সিদ্ধান্তমূলকভাবে, দক্ষতা উভয় ক্ষেত্রেই জয়লাভ করতে পারে।
শক্তি: কর্মক্ষমতা এবং দক্ষতার ফলাফল ব্যতিক্রমী এবং কঠোরভাবে পরিমাপকৃত। OpenCL-এর ব্যবহার বিকাশকারীদের জন্য অত্যাবশ্যক প্রবেশাধিকার এবং ভবিষ্যৎ-সুরক্ষা প্রদান করে, যেমনটি Khronos OpenCL স্পেসিফিকেশনে উল্লেখ করা হয়েছে যা বিভিন্ন বিক্রেতার মধ্যে বহনযোগ্যতা সক্ষম করে। 3DES-এর উপর ফোকাস, যা একটি পুরানো কিন্তু এখনও ব্যাপকভাবে মোতায়েনকৃত মান (যেমন, আর্থিক ব্যবস্থায়), একটি বাস্তব-বিশ্বের আধুনিকীকরণের প্রয়োজনকে সম্বোধন করে, নিছক একাডেমিক অনুশীলন নয়।
Flaws & Critical Gaps: গবেষণাপত্রটির Achilles' heel হল এর সংকীর্ণ পরিধি। NIST নির্দেশিকা অনুসারে, নতুন সিস্টেমের জন্য 3DES-এর পরিবর্তে AES-256-কে অগ্রাধিকার দেওয়া হচ্ছে। কাজটি আরও বেশি প্রভাবশালী হত যদি এটি প্রদর্শন করত agility OpenCL পদ্ধতির নমনীয়তা প্রদর্শনের জন্য AES বা কোনো পোস্ট-কোয়ান্টাম প্রার্থী অ্যালগরিদমও বাস্তবায়ন করে, যা ফ্রেমওয়ার্কটির মূল্য একটি অ্যালগরিদমের বাইরেও প্রসারিত করে। তদুপরি, বিশ্লেষণে সাইড-চ্যানেল দুর্বলতা নিয়ে কোনো আলোচনার অভাব রয়েছে। একটি হার্ডওয়্যার বাস্তবায়ন, বিশেষত উচ্চ থ্রুপুটের লক্ষ্যে, টাইমিং বা পাওয়ার অ্যানালাইসিস আক্রমণের প্রতি সংবেদনশীল হতে পারে। একটি ক্রিপ্টোগ্রাফি গবেষণাপত্রের জন্য এই নিরাপত্তা মাত্রা উপেক্ষা করা একটি উল্লেখযোগ্য ত্রুটি। Mangard et al.-এর মতো গবেষকদের হার্ডওয়্যার সাইড-চ্যানেল প্রতিরোধ সংক্রান্ত কাজ এখানে অনুপস্থিত একটি অপরিহার্য প্রাসঙ্গিকতা।
For পণ্য ব্যবস্থাপক ক্লাউড বা নিরাপত্তা অ্যাপ্লায়েন্স কোম্পানিগুলিতে: এই গবেষণাটি ক্রিপ্টোগ্রাফিক ওয়ার্কলোড (TLS টার্মিনেশন, স্টোরেজ এনক্রিপশন) অফলোড করার জন্য FPGA-ভিত্তিক অ্যাক্সিলারেটর কার্ড মোতায়েনের একটি প্রমাণ-অব-ধারণা। শুধুমাত্র শক্তি সঞ্চয়ই একটি পাইলট প্রকল্পের জন্য যথেষ্ট ন্যায্যতা দেয়। জন্য নিরাপত্তা স্থপতিআপনার বিক্রেতাদের চাপ দিন। দাবি করুন যে হার্ডওয়্যার এক্সিলারেটর, সেটা FPGA হোক বা ASIC, সাইড-চ্যানেল প্রতিরোধী ডিজাইন একটি স্ট্যান্ডার্ড বৈশিষ্ট্য হিসেবে অন্তর্ভুক্ত করুক, কোনও পরবর্তী ভাবনা হিসেবে নয়। জন্য Researchers & Developersশুধুমাত্র 3DES-এ থেমে যাবেন না। এই OpenCL পদ্ধতিকে একটি ভিত্তি হিসেবে ব্যবহার করুন। পরবর্তী গুরুত্বপূর্ণ ধাপ হল অ্যালগরিদমের একটি স্যুটের (AES-GCM, ChaCha20-Poly1305, SHA-3, Kyber, Dilithium) জন্য ওপেন-সোর্স, অপ্টিমাইজড এবং সাইড-চ্যানেল প্রতিরোধী OpenCL কার্নেলগুলির একটি লাইব্রেরি তৈরি করা। কমিউনিটির প্রয়োজন বহনযোগ্য, দক্ষ এবং নিরাপদ বিল্ডিং ব্লক, শুধুমাত্র এককালীন প্রদর্শনী নয়। Intel-এর oneAPI এবং Xilinx Vitis দ্বারা উল্লিখিত টুলচেইন পরিপক্কতা শেষ পর্যন্ত এটিকে সম্ভব করছে। প্রতিযোগিতা শুধু গতির জন্য নয়; এটি নিরাপদ, দক্ষ এবং অভিযোজিত ত্বরণের জন্য।