SHA-1 (সিকিউর হ্যাশ অ্যালগরিদম 1 এর জন্য সংক্ষিপ্ত) হল বেশ কয়েকটি ক্রিপ্টোগ্রাফিক হ্যাশ ফাংশনের মধ্যে একটি৷
এটি প্রায়শই একটি ফাইল অপরিবর্তিত হয়েছে তা যাচাই করতে ব্যবহৃত হয়। ফাইলটি স্থানান্তরিত হওয়ার আগে এটি একটি চেকসাম তৈরি করে করা হয় এবং তারপর আবার এটি তার গন্তব্যে পৌঁছালে।
প্রেরিত ফাইলটি কেবলমাত্র তখনই আসল বলে বিবেচিত হতে পারে যদি উভয় চেকসাম অভিন্ন হয়।
SHA হ্যাশ ফাংশনের ইতিহাস এবং দুর্বলতা
SHA-1 সিকিউর হ্যাশ অ্যালগরিদম (SHA) পরিবারের চারটি অ্যালগরিদমের মধ্যে একটি মাত্র৷ বেশিরভাগই ইউএস ন্যাশনাল সিকিউরিটি এজেন্সি (NSA) দ্বারা তৈরি করা হয়েছে এবং ন্যাশনাল ইনস্টিটিউট অফ স্ট্যান্ডার্ডস অ্যান্ড টেকনোলজি (NIST) দ্বারা প্রকাশিত হয়েছে৷
SHA-0 এর একটি 160-বিট বার্তা ডাইজেস্ট (হ্যাশ মান) আকার রয়েছে এবং এটি এই অ্যালগরিদমের প্রথম সংস্করণ। এর হ্যাশ মান 40 সংখ্যা দীর্ঘ. এটি 1993 সালে "SHA" নামে প্রকাশিত হয়েছিল কিন্তু অনেক অ্যাপ্লিকেশনে এটি ব্যবহার করা হয়নি কারণ এটি একটি নিরাপত্তা ত্রুটির কারণে 1995 সালে দ্রুত SHA-1 দিয়ে প্রতিস্থাপিত হয়েছিল৷
SHA-1 এই ক্রিপ্টোগ্রাফিক হ্যাশ ফাংশনের দ্বিতীয় পুনরাবৃত্তি। এটিতে 160 বিটের একটি বার্তা ডাইজেস্টও রয়েছে এবং এটি SHA-0-এ পাওয়া একটি দুর্বলতা সংশোধন করে নিরাপত্তা বাড়ানোর চেষ্টা করেছে৷ যাইহোক, 2005 সালে, SHA-1ও অনিরাপদ বলে প্রমাণিত হয়েছিল।
একবার SHA-1-এ ক্রিপ্টোগ্রাফিক দুর্বলতা পাওয়া গেলে, NIST 2006 সালে একটি বিবৃতি দিয়েছিল যাতে ফেডারেল এজেন্সিগুলিকে 2010 সালের মধ্যে SHA-2 ব্যবহার করতে উৎসাহিত করে। SHA-2 SHA-1-এর চেয়ে শক্তিশালী, এবং আক্রমণ করা হয় SHA-2 এর বিপরীতে বর্তমান কম্পিউটিং শক্তির সাথে ঘটার সম্ভাবনা কম।
শুধু ফেডারেল এজেন্সিই নয়, এমনকি Google, Mozilla এবং Microsoft-এর মতো কোম্পানিগুলিও হয় SHA-1 SSL সার্টিফিকেট গ্রহণ বন্ধ করার পরিকল্পনা শুরু করেছে অথবা ইতিমধ্যেই এই ধরনের পৃষ্ঠাগুলিকে লোড হওয়া থেকে ব্লক করে দিয়েছে৷
Google-এর কাছে একটি SHA-1 সংঘর্ষের প্রমাণ রয়েছে যা এই পদ্ধতিটিকে অনন্য চেকসাম তৈরি করার জন্য অবিশ্বস্ত করে তোলে, তা পাসওয়ার্ড, ফাইল বা ডেটার অন্য কোনও অংশের ক্ষেত্রেই হোক না কেন। এটি কীভাবে কাজ করে তা দেখতে আপনি SHAttered থেকে দুটি অনন্য পিডিএফ ফাইল ডাউনলোড করতে পারেন। উভয়ের জন্য চেকসাম জেনারেট করতে এই পৃষ্ঠার নীচে থেকে একটি SHA-1 ক্যালকুলেটর ব্যবহার করুন এবং আপনি দেখতে পাবেন যে মানটি একই রকম যদিও তাদের বিভিন্ন ডেটা রয়েছে৷
SHA-2 এবং SHA-3
SHA-2 2001 সালে প্রকাশিত হয়েছিল, SHA-1 এর বেশ কয়েক বছর পরে। এটিতে বিভিন্ন ডাইজেস্ট আকার সহ ছয়টি হ্যাশ ফাংশন রয়েছে: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, এবং SHA-512/256৷
নন-এনএসএ ডিজাইনারদের দ্বারা বিকাশিত এবং 2015 সালে NIST দ্বারা প্রকাশিত, এটি সিকিউর হ্যাশ অ্যালগরিদম পরিবারের আরেকটি সদস্য, যাকে বলা হয় SHA-3 (পূর্বে কেকাক)।
SHA-3 এর অর্থ SHA-2 প্রতিস্থাপন করার জন্য নয় যেমন আগের সংস্করণগুলি আগের সংস্করণগুলিকে প্রতিস্থাপন করার জন্য ছিল৷ পরিবর্তে, এটি SHA-0, SHA-1, এবং MD5-এর অন্য বিকল্প হিসাবে তৈরি করা হয়েছিল৷
SHA-1 কীভাবে ব্যবহার করা হয়?
একটি বাস্তব-বিশ্বের উদাহরণ যেখানে SHA-1 ব্যবহার করা যেতে পারে যখন আপনি একটি ওয়েবসাইটের লগইন পৃষ্ঠায় আপনার পাসওয়ার্ড লিখছেন। যদিও এটি আপনার অজান্তেই ব্যাকগ্রাউন্ডে ঘটে, তবে এটি এমন একটি পদ্ধতি হতে পারে যা একটি ওয়েবসাইট নিরাপদে যাচাই করতে ব্যবহার করে যে আপনার পাসওয়ার্ডটি সত্য।
এই উদাহরণে, কল্পনা করুন যে আপনি প্রায়ই যান এমন একটি ওয়েবসাইটে লগ ইন করার চেষ্টা করছেন। প্রতিবার লগ ইন করার জন্য অনুরোধ করলে, আপনাকে আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ড লিখতে হবে।
যদি ওয়েবসাইটটি SHA-1 ক্রিপ্টোগ্রাফিক হ্যাশ ফাংশন ব্যবহার করে, তাহলে এর অর্থ হল আপনার পাসওয়ার্ড প্রবেশ করার পরে এটি একটি চেকসাম হয়ে গেছে৷ তারপর সেই চেকসামটিকে আপনার বর্তমানের সাথে সম্পর্কিত ওয়েবসাইটে সংরক্ষিত চেকসামের সাথে তুলনা করা হয়৷ পাসওয়ার্ড, আপনি সাইন আপ করার পর থেকে আপনার পাসওয়ার্ড পরিবর্তন করেননি বা আপনি যদি কিছুক্ষণ আগে এটি পরিবর্তন করেন। যদি দুটি মিলে যায়, তাহলে আপনাকে অ্যাক্সেস দেওয়া হবে; যদি তারা না করে তবে আপনাকে বলা হবে পাসওয়ার্ডটি ভুল।
আর একটি উদাহরণ যেখানে এই হ্যাশ ফাংশনটি ফাইল যাচাইকরণের জন্য ব্যবহার করা যেতে পারে।কিছু ওয়েবসাইট ডাউনলোড পৃষ্ঠায় ফাইলটির SHA-1 চেকসাম প্রদান করবে যাতে আপনি ফাইলটি ডাউনলোড করার সময়, ডাউনলোড করা ফাইলটি আপনি যেটি ডাউনলোড করতে চান তার মতোই কিনা তা নিশ্চিত করতে আপনি নিজের জন্য চেকসামটি পরীক্ষা করতে পারেন৷
আপনি ভাবতে পারেন যে এই ধরনের যাচাইকরণের প্রকৃত ব্যবহার কোথায়। একটি দৃশ্যকল্প বিবেচনা করুন যেখানে আপনি বিকাশকারীর ওয়েবসাইট থেকে একটি ফাইলের SHA-1 চেকসাম জানেন, কিন্তু আপনি একটি ভিন্ন ওয়েবসাইট থেকে একই সংস্করণ ডাউনলোড করতে চান৷ তারপরে আপনি আপনার ডাউনলোডের জন্য SHA-1 চেকসাম তৈরি করতে পারেন এবং বিকাশকারীর ডাউনলোড পৃষ্ঠা থেকে আসল চেকসামের সাথে এটি তুলনা করতে পারেন৷
যদি দুটি ভিন্ন হয়, তবে এর অর্থ কেবল ফাইলের বিষয়বস্তু একই নয়, তবে ফাইলটিতে লুকানো ম্যালওয়্যার থাকতে পারে, ডেটা দূষিত হতে পারে এবং আপনার কম্পিউটারের ফাইলগুলির ক্ষতি হতে পারে, ফাইলটি নয় প্রকৃত ফাইলের সাথে সম্পর্কিত কিছু, ইত্যাদি।
তবে, এর মানে এমনও হতে পারে যে একটি ফাইল অন্যটির তুলনায় প্রোগ্রামের একটি পুরানো সংস্করণ উপস্থাপন করে, যেহেতু সামান্য পরিবর্তনও একটি অনন্য চেকসাম মান তৈরি করবে।
আপনি একটি সার্ভিস প্যাক বা অন্য কোনো প্রোগ্রাম বা আপডেট ইনস্টল করার সময় দুটি ফাইল অভিন্ন কিনা তাও পরীক্ষা করতে চাইতে পারেন কারণ ইনস্টলেশনের সময় কিছু ফাইল অনুপস্থিত থাকলে সমস্যা দেখা দেয়।
SHA-1 চেকসাম ক্যালকুলেটর
একটি বিশেষ ধরনের ক্যালকুলেটর ব্যবহার করা যেতে পারে একটি ফাইলের চেকসাম বা অক্ষরের গ্রুপ নির্ধারণ করতে।
উদাহরণস্বরূপ, SHA1 অনলাইন এবং SHA1 হ্যাশ জেনারেটর হল বিনামূল্যের অনলাইন টুল যা পাঠ্য, চিহ্ন এবং/অথবা সংখ্যার যেকোনো গ্রুপের SHA-1 চেকসাম তৈরি করতে পারে।
যে ওয়েবসাইটগুলি, উদাহরণস্বরূপ, এই জোড়া তৈরি করবে:
pAssw0rd!
bd17dabf6fdd24dab5ed0e2e6624d312e4ebeaba