ব্যাসিক হ্যাকিং পর্ব ৬ : Cryptography কি? এটা কীভাবে কাজ করে? সম্পূর্ণ টিউটোরিয়াল

43
1474

Hacking হচ্ছে এটা বিজ্ঞ্যান [ অন্তত আমার মতে :/ ] আপনার যেমন basic জ্ঞান না থাকলে উচ্চতর গনিত বা calculus একদম এ বুঝতে পারবেন না বা করতেই পারবেন না সেরকম hacking এ ও আপনি বিশেষ কিছু করতে পারবেন না যদি না আপনার এক্কেবারে basic hacking grammar জানা না থাকে ! আমি এই টিউন টা তে চেষ্টা করব একদম বাসিক hacking grammar আপনাদের সাথে শেয়ার করার জন্য।

ব্যাসিক হ্যাকিং পর্ব ৬ : Cryptography কি? এটা কীভাবে কাজ করে? সম্পূর্ণ টিউটোরিয়াল

Unlimited Web Hosting
Unlimited Web Hosting
Unlimited Web Hosting
Unlimited Web Hosting

আজকে আমি CRYPTOGRAPHY, ENCRYPTION ও DECRYPTION নিয়ে লিখব । অনেকেই হয়ত এতমদ্ধে এ বেপারে আমার থেকে ভালো জানেন তবে যারা জানেন না তাদের জন্য বলি আমি মোটামুটি নিশ্ছিত আপনি যদি একটুঁ কষ্ট করে এবং মনোযোগ সহকারে এই টিউন টা পরেন তবে আনি এই ৩ টা বিষয়ে মোটামুটি ধরনের একজন বিশষজ্ঞ হয়ে যাবেন :)

Cryptography : এসম্পর্কে wikipedia বলে

Cryptography (or cryptology; from Greek κρυπτός, “hidden, secret”; and γράφειν, graphein, “writing”, or -λογία, -logia, “study”, respectively) is the practice and study of techniques for secure communication in the presence of third parties (called adversaries).

অর্থাৎ সংক্ষেপে তথ্য গোপন বা লুকানোর পদ্ধতি কে cryptography বলা হয় । এটা আসলে এটা বিশাল বিজ্ঞান । এ ব্যাপারে graduation certificate ও দেয়া হয় ।

Cipher:  যে algorithm ব্যাবহার করে তথ্য বা ডাটা লুকান হয় বা লুকায়িত ডাটা কে পুনরদ্ধার করা হইয় তাকে cipher বলে ।

Encryption: কোন algorithm ব্যাবহার করে এটা ডাটা কে লুকানোর পদ্ধতি কে encryption বলে । উদাহরণ হিসেবে বলা যায় Caeser Cipher . এটা পৃথিবীর প্রথম cipher. একে অনেকেই Shift Cipher বা ROT-13 বা Rotational Cipher বলে থাকেন । এটার কা্যপ্রণালী হচ্ছে english alphabet এর অক্ষরগুলো বিন্যাস করে তারপর ডাটা কে encrypt করা হয়।

ব্যাসিক হ্যাকিং পর্ব ৬ : Cryptography কি? এটা কীভাবে কাজ করে? সম্পূর্ণ টিউটোরিয়াল

এই ছবি তে দেখতে পাচ্ছেন অক্ষর বা alphabet গুলো কে ৩ ঘর এগুনো হয়েছে । অর্থাৎ M কে P , N কে Q এই রূপে উপস্থাপন করা হয়েছে । এই পদ্ধতি অনুসরণ করে জুলিয়াস সিজার এর encrypted নাম টা খেয়াল করছেন ? এটাই encryption এর উদ্দেশ্য ।

Decryption: encrypted তথ্য কে যে পদ্ধতি তে encrypt করা হয়েছে তার ধাপগুল উল্টো ভাবে অনুসরণ করে মূল ডাটা বা plain text কে উদ্ধার করার পদ্ধতি কে Decryption বলে । decrypt করতে অবশ্যই এটা correct key ( encrypt করার ধাপ ও পদ্ধতি ) লাগবে । correct key ছাড়া ডাটা উদ্ধার করার সম্ভাবনা কে statistician রা বলে থাকেন এক ট্রিলিয়ন বারে একবার ! যেটা মোটামুটি অসম্ভবের কাছাকাছি :/

এগুলো ছিল মূল ধারনা গুলো । আরও কিছু প্রয়োজনীয় ডাটা ও জেনে নেই :)

Cryptographic Hash Functions: ক্রিপ্টোগ্রাফিক হ্যাশ ফাংশন হচ্ছে একটি নির্ণায়ক পদ্ধতি যার মধ্যমে একটি ডাটা/plain text হতে অবাধ ব্লক/ arbitrary block of data রূপে রুপান্তরিত হয় । মনে রাখতে হবে এটা কিন্তু encryption না কিন্তু encryption করার পদ্ধতি ।

ব্যাসিক হ্যাকিং পর্ব ৬ : Cryptography কি? এটা কীভাবে কাজ করে? সম্পূর্ণ টিউটোরিয়াল

Hexadecimal hexadecimal হচ্ছে একটা Cryptographic Hash Functions । যেখানে মাত্র ১৬ টা ক্যারেক্টার ব্যাবহার করা হয় ডাটা encrypt/decrypt করার সময় । এই ১৬ টা ক্যারেক্টার হচ্ছে 0-9 ও A-F । এটা একটা 128 bit / 16byte এর hash value . একে Base-16 ও বলা হয়ে থাকে ।সব থেকে জনপ্রিয় hexadecimal hash value হচ্ছে MD5 ।

Base 32 :: Base 32 হচ্ছে ৩২ ক্যারেক্টার এর hash value। এতে A-Z ও 2-7 ক্যারেক্টার গুলো ব্যাবহার করা হয় । একটা উদাহরণ হচ্ছে d41d8cd98f00b204e9800998ecf8427e

Base 64 : Base 64 আরও একটা Hash value । এতে A-Z , 0-9 এবং কিছু বিশেষ সিম্বল ববহার করা হয়। Base 64 সবসময় “=” দারা শেষ হয় , উদাহরণ ঃ 1B2M2Y8AsgTpgAmY7PhCfg==

Collisions : যখন ২ টা আলাদা আলাদা hash value এর একি রকম encryption হবে তখন তা server এ বিভ্রান্তির সৃষ্টি করে । এই বিভ্রান্তি কে collisions বলা হয় ।এটা আসলে hacker দের জন্য আশীর্বাদ । তারা এটাকে ভালবেসে “God mode birthday attack ” বলে থাকে । collisions হলে server hang থেকে crash ও করতে পারে । উদাহরণ ঃ
মনে করুন ABDUL শব্দটির encryption হচ্ছে ঃ 9b306ab04ef5e25f9fb89c998a6aedab
আবার ধরুন FREAK শব্দটির encryption হচ্ছে ঃ 9b306ab04ef5e25f9fb89c998a6aedab

ভালো করে খেয়াল করে দেখবেন দুইটি encryption এ হুবহু একই রকম । এটাকে collisions বলা হয়। সাধারনত অনেক বড় বড় server এ এই ধরনের সমস্যা দেখা যায় ।

SALT: Salt হচ্ছে hacker দের দঃস্বপ্ন । বিশেষত AI upgraded server গুলোতে SALT দেখা যায় । যেকোনো ডাটা কে আর সুরক্ষিত করার উদ্দেশে একটা encrypted লাইন এর শেষে আর কয়ে্কটা ক্যারেক্টার যোগ করে দেওয়া কে SALT/ SALTING বলে । SALTING করা যে কোন ডাটা Decrypt করা একেবারেই অশম্ভব :( যেমন ধরুন “1sf5651etg64sfg” হচ্ছে একটা encrypted data.এখন এর শেষ এ যদি য়ার ২-৩ টা ক্যারেক্টার যেমন ud7 যোগ করে দেই তাহলে ওটা decrypt করার সাদ্ধ দুনিয়ার কারো হবে না । কোন Super Computer ও পারবে না !

এটা ডাটা decrypt করতে হলে তার কী দরকার । যদি কী এবং encrypted ডাটা দেওয়া থাকে তবে তা decrypt করা একদম এ সহজ। কী সাধারনত যে sequence এ encrypt করা হয় তার উল্লেখ। যেমন ধরুন আমাদের একটা encrypted ডাটা দেওয়া আছে । ডাটা টি নিম্নরুপ ঃ
3AcTBJCzggwY3LCyzIhJBJhtzewSA+5dyuQhaKcDzI3agWCRz+YC3OZMCdyG এবং এর কী হচ্ছে BASE-64 –> FERON-74 –> GILA 7

অর্থাৎ ডাটা টি যাই হক না কেন তা প্রথমে BASE-64 এ encrypt করা হয়েছে । পরের ধাপে BASE-64 থেকে প্রাপ্ত encrypted ডাটা কে FERON-74 এ আবার encrypt করা হয়েছে । সেটাকে পরে GILA 7 এ encrypt করা হয়েছে এবং সর্বশেষ encrypted ডাটা টাই আমাদের প্রদত্ত ডাটা টি। এখন এটাকে decrypt করতে হলে আমাদের কে encryption এর ধাপ গুলো ঠিক উল্টো ভাবে ব্যাবহার করতে হবে । অর্থাৎ প্রদত্ত ডাটা কে প্রথমে GILA 7 এ decrypt করতে হবে । আরা ধাপে ধাপে কাজ টি সারি । ডাটা encrypt/decrypt করার জন্য অনেক ওয়েবসাইট পাওয়া যায় তবে আমি http://www.crypo.com/ সাইট টাই ব্যাবহার করে শান্তি বেশী পাই :D আসুন কাজ শুরু করে দেই ।

১) প্রদত্ত ডাটা অর্থাৎ 3AcTBJCzggwY3LCyzIhJBJhtzewSA+5dyuQhaKcDzI3agWCRz+YC3OZMCdyG প্রথমে আমরা GILA 7এ decrypt করব । decrypt করলে যে ডাটা তা পাই তা হচ্ছে uRC0CTM6qvsPRnD0NKSFBTl3Azy8RZRgNLsbPlMvPc74

২) এবার এটাকে FERON-74 এ decrypt করে পাই YW1pJTIwZWtqb24lMjBiYW5nbGFkZWhp

৩) সর্বশেষ ধাপ । প্রাপ্ত decrypted ডাটা কে এখন BASE-64 এ decrypt করলেই আরা আসল ডাটা টা পেয়ে যাব। কারন এটাই কী এর প্রথম/ terminal hash value. কথা না বাড়িয়ে আসুন decrypt করে দেখি আসল ডাটা টা কি :P

৪) decrypt করার পর আমরা পাই ami ekjon bangladehi !

মজা তাই না ? ^_^

এগুলই ছিল cryptography এর উপর একেবারে দরকারি basic ধারনা গুলো । এখন আমি নিচে ২ টা encrypted ডাটা দিব । correct key /encryption sequence ও দিয়ে দিব । আপনারা চেষ্টা করে দেখুন তো ডাটা গুলো decrypt করতে পারেন কিনা ? পারলে comment এ উত্তর লিখুন ।

[encrypted data 1 ] s+/YrnabNF/0q699ALypuvMf6RsnebxWuTlVBYwjAuDprL8veX9DQcs+qZ7jr6/b

Correct key : MEGAN-35 –> GILA7 –>FERON-74

[encrypted data 2 ] k2nPkvWydInxRM0/jZj1nMmqmvOPlMmxn+fxnxjhlKjGm29dn1S1lvXUeIWyjuKXo2C7exiyo/i7oLjRj2OAjLiwofOzlx1Yk2nPktGdk1j6ju07RKS6fuK8ode5

Correct Key : BASE-64 –> TRIPO – 5 –> HAZZ-15 –> MEGAN35

আশা করি ভালো লেগে থাকবে ! ভালো থাকবেন সবাই । ধন্যবাদ :)

টিউনারপেজের নতুন টিউন আপনাকে ইমেইল করব?
Unlimited Web Hosting
Unlimited Web Hosting
Unlimited Web Hosting
Unlimited Web Hosting

43 মন্তব্য

একটি উত্তর ত্যাগ

Please enter your comment!
Please enter your name here

5 × one =