এনক্রিপশন ও ডিক্রিপশন কি ?Encryption , Decryption কিভাবে কাজ করে?

এনক্রিপশন কি? Encryption কিভাবে কাজ করে

আমরা যখনই হোয়াটসঅ্যাপে চ্যাট করি তখন আমরা প্রায়ই একটি দেখা দেখতে পাই যা হলো message and calls are end to end encrypted. এর মানে হল আপনি যা মেসেজ অথবা কল করবেন তা এনক্রিপ্ট থাকবে দুই প্রান্তের মধ্যেই যার ফলে মেসেজ অথবা কল করার সময় দুজনের মধ্যে কথোপকথন অথবা চ্যাট অন্য কেউ দেখতে পারবেনা অথবা কেউ দেখতে পেলেও কি মেসেজ করেছেন ওই লেখাটি পড়তে পারবে না। এমনকি WhatsApp কোম্পানিও লেখাটি পড়তে পারবে না।

বর্তমান দিনে ব্যবহারকারী (user) এর ডেটা (data) সুরক্ষিত রাখা প্রত্যেক টেকনোলজি কোম্পানির দায়িত্ব। তা না করতে পারলে কোন ব্যবহারকারী এইসব অ্যাপ , website ব্যাবহার করবে না।

আমরা প্রায়ই অনলাইনে চ্যাট , website ভিজিট , ভিডিও, গান শোনা, এবং সব থেকে গুরুত্বপূর্ণ (Important) হলো ব্যাঙ্কিং এর ক্ষেত্রে।

Banking ধীরে ধীরে ডিজিটাল হয়ে যাচ্ছে এবং আমরা ব্যাংকের website এ গিয়ে যা আইডি পাসওয়ার্ড ব্যাবহার করি সেগুলি যদি কেউ জেনে নেয় তাহলে আমাদের অনেক বড়ো সমস্যা তৈরি হতে পারে।

এই কারণেই ডাটা এনক্রিপশন করা হয়।

এনক্রিপশন কি? (What is Encryption?)

এনক্রিপশন এর মানে হলো , যখন ডাটা কোথাও স্টোর করছেন অথবা কাউকে পাঠাচ্ছেন , চ্যাট করছেন , এগুলি যখন আমরা করে থাকি , আমাদের উদেশ্য একটাই ওই ডাটা এমন একটি format এর পরিবর্তন করে দেওয়া হয়, যাতে ওই ডাটা কেউ দেখতে না পায় অথবা যদি দেখতেও পায়, তাও যেন ওই ডাটা এর মানে বুঝতে না পারে।

যিনি ওই ডাটা টি send করছেন এবং যাকে পাঠাচ্ছে শুধু ওই দুই user ডাটা টি পড়তে পারবে।

encryption

উদাহরণ হিসেবে, আপনি যদি গুগল ড্রাইভ এ hello এটি লিখে save করেন । গুগল ওই hello টিকে এমনভাবে save করে রাখবে, যা আপনি যদি দেখেন তা বুঝতেই পারবেন না। ওটা শুধুমাত্র গুগলই বুঝতে পারবে। (ধরুন google hello লেখাটিকে &^%#* এভাবে লিখে রাখলো)

যখন আপনি ওই hello লেখাটি দেখতে চাইবেন, তখন google drive এর মধ্যে ওই লেখাটিকে hello তে পরিবর্তন করার ক্ষমতা শুধু google drive এর কাছে আছে। অন্য কেউ বুঝতে পারবে না।

চ্যাট করার উদাহরণ: যখন দুইজন user চ্যাট করেন তখন ওই plain text গুলি এমন format এ পরিবর্তিত হয়, যার ফলে ডাটা যখন ট্রান্সফার হয় মাঝপথে কেউ যদি ওই ডাটা টি দেখেও ফেলে তাও ওই data এর মানে বুঝতে পারবে না। শুধুমাত্র যে পাঠাচ্ছে এবং যাকে পাঠাচ্ছে সেই ওই ডাটা টি দেখতে পাবে plain text এর মতো। এমনকি WhatsApp কোম্পানিও ওই ডাটাটি দেখতে পেলেও পড়তে পারবে না।

এনক্রিপশন ব্যাপারটা নতুন কিছু নয় আগেকার দিনে রাজা মহারাজা কোন মেসেজ পাঠানোর সময় মেসেজ এনক্রিপ্ট করে পাঠাতেন যার ফলে অন্যকেও মাঝখান থেকে দেখাতে না পড়তে পারে।

বর্তমান দিনের বিভিন্ন দোকানে কিছু কিছু জিনিসের দামের উপর এনক্রিপশন করা থাকে। যার মাধ্যমে ওখানে থাকা কর্মচারী শুধু ওই লেখাটি বুঝতে পারবে।

ইন্টারনেটে জগতে এনক্রিপশন ব্যাপারটা খুবই জরুরী কারণ এখানে যদি কোন তথ্য কেউ জেনে নিতে পারেন, তাহলে আপনার একাউন্ট লগ ইন করতে পারে। সেই সঙ্গে ওটা যদি ব্যাংকের অ্যাকাউন্ট হয়ে থাকে, তাহলে আরো সমস্যা হয়ে দাঁড়াতে পারে।

ডিক্রিপশন কি ? (What is Decryption?)

আশাকরি আপনারা সবাই এনক্রিপশন সমন্ধে কিছুটা ধারণা পেয়েছেন।

যখন ডাটা টি ট্রান্সফার করা হয় তখন ওই ডাটাটি এনক্রিপ্টেড অবস্থায় রিসিভার user এর কাছে পৌঁছোয়। তারপর এনক্রিপ্টেড ডাটাটি পুনরায় আগের অবস্থায় (যেমন plain text ) ফিরিয়ে আনার প্রক্রিয়াই হলো ডিক্রিপশন।

decryption

ডাটা ডিক্রিপশন এর মাধমেই তো একজন user এর দ্বারা পাঠানো এনক্রিপ্টেড ডাটা টি পড়তে পারে অন্য user টি।

Encryption ও Decryption কিভাবে কাজ করে ?

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

উদাহরণ হিসেবে: আমি a কে b লিখলাম b কে c হিসেবে লিখলাম। এইভাবে যদি banglate.co এটাকে ওই অনুযায়ী লিখতে গেলে, যা লেখা হবে তা হলো “cbohmbuf.dp“.

cbohmbuf.dp এই লেখাটি অন্য কাউকে দিলে কিছুই বুঝতে পারবে না। কিন্তু আপনি শুধু পারবেন। কারণ আপনার কাছে ওটি জানার চাবি (key) আছে। যা শুধু আপনি জানেন। key টি হলো, একটা word এর পরের ওয়ার্ড কে ব্যবহার করে ওই word কে লেখা হয়েছে, ওই ওয়ার্ডটি লেখার জন্য।

ওই লেখাটি আপনি যদি অন্য কাউকে send করেন। যদি আপনি key টি ওনাকে পাঠিয়ে দেন তাহলেই উনি পড়তে পারবেন। এটা হলো একটি সাধারণ এনক্রিপশন (encryption).

ইন্টারনেট এর ক্ষেত্রে ডেটাকে আরো সুরক্ষিত রাখার প্রয়োজন হয়। যখন ডাটা ট্রান্সফার হয় তখন মাঝপথে ওই ডাটা যাতে অন্য কেউ দেখতে না পারে সেরোকম ব্যবস্থাও করা হয়। এবং কোনভাবে যদি ডাটা কেউ দেখে ফেল তাহলে ওই ডেটা যাতে পড়তে না পারে সেরকম ব্যবস্থাও করা হয় যাতে ডেটার সম্পূর্ণ সুরক্ষা প্রদান করা সম্ভব হয়।

এনক্রিপশন করার জন্য দুটি key (চাবি) এর ব্যবহার করা হয়। যা হলো :-

  1. Public key: পাবলিক চাবি প্রত্যেকের কাছেই শেয়ার করা থাকে। আপনার public key সবার কাছে আছে।
  2. Private key: প্রাইভেট চাবি যা কাউকে share করা হয়না। আপনার private key শুধুমাত্র আপনার কাছেই থাকবে।

ধরুন আপনি একজন user , তাই আপনার কাছে দুটি key থাকবে। একটি হলো private key যা শুধু আপনার কাছেই থাকবে। অন্যটি হলো public key যেটা সবার কাছে থাকে।

এবং উল্টোদিকে অন্য user যে আছেন ওনার কাছেও একটি private key আছে যা শুধু ওনার কাছেই আছে। এবং আর একটি public key আছে। যেটি সবার কাছে থাকে।

এবার আপনার যদি প্রশ্ন হয় এই key গুলি কি কাজে লাগে ?, ওই key এর সহজেই যে এনক্রিপ্টটেড (encrypted) ডাটা আছে ওটাকে ডিক্রিপ্ট (decrypt) করা।

যদি আপনি কোনো মেসেজ কে public key দিয়ে lock করে দেন, তাহলে ওই মেসেজটি private key দিয়েই খোলা সম্ভব। একইভাবে যদি কোনো মেসেজকে (message ) private key দিয়ে lock করেন, তাহলে ওটিকে public key দিয়েই খোলা সম্ভব। (প্রথমে এই ব্যাপারটি ভালো করে বুঝে নিন).

ধরুন আপনি কোনো user কে Hi লিখে পাঠাবো। এর জন্য আমি প্রথমে Hi লেখাটিকে lock করবো ওই user এর public key দিয়ে। (কারণ সবার public কি সবার কাছেই থাকে। তাই ওই user public key আমার কাছে থাকবে )

এরপর ওই Hi লেখাটি ওই user এর কাছে পৌঁছলে ওই user নিজের private key দিয়ে ওই মেসেজটি পড়তে পারবে। (এর মাঝখানে যদি অন্য কেউ মেসেজটি পেয়েও যায় তাও ওর কাছে ওই user এর private key না থাকার জন্য পড়তে পারবে না )

এই পদ্ধতিতে কে Hi লিখে পাঠালো তা বোঝা সম্ভব নয় কারণ সবার পাবলিক key তো সবার কাছে আছে , তাই এটিকে আরো বেশি সুরক্ষিত (secure ) বানানোর জন্য: প্রথমে ওই Hi লেখাটিকে প্রথমে ওই user এর public key দিয়ে lock করা হবে। তারপর আরেকবার আমার private key দিয়ে lock করা হবে।

এর ফলে যখন ওই Hi লেখাটি ওই user এর কাছে পৌঁছবে তখন ওই ডাটা টি খোলার জন্য প্রথমে আমার public key লাগবে। প্রথমে আমার public key দিয়ে lock টি খুলবে। তারপর নিজের private key দিয়ে নিজের public key lock টি খুলে Hi লেখাটি দেখা হবে।

WhatsApp ও কিছু app কিভাবে ডাটা এনক্রিপশন করে ?

ধরুন, আমি কাউকে WhatsApp এ Text পাঠিয়েছেন , এর জন্য ওই user প্রথমে ওর public key কি share করবে , তারপর আমি ওই ইমেইল টিকে ওই user এর public key দিয়ে লক করে দেব।

Text টি যখন ওই user এর কাছে পৌঁছে যাবে তখন ওই user সহজেই নিজের private key ব্যবহার করে ইমেইল টি খুলতে পারবে।

এটি যদি সঠিকভাবে বুঝতে না পারেন তাহলে ওপরের লেখাগুলি ভালো ভাবে পড়ুন।

গুগল ড্রাইভ কিংবা সার্ভার এর মধ্যে ডাটা এনক্রিপশন কিভাবে হয়?

google drive কিংবা কোনো সার্ভার এর মধ্যে যখন কোনো ডাটা স্টোর করা থাকে। তখন ওই সার্ভার ওই ডাটাকে এমনভাবে save করে রাখে যা অন্য কেউ পড়তে পারবে না। এবং যখন ওই ডাটা আমরা দেখতে চাই, তখন ওই ডাটা decode (অর্থাৎ decryption করা হয়) করে আমাদের সামনে দেওয়া হয়।

উপসংহার

আমরা সাধারণত হোয়াটস্যাপ, ইমেইল এগুলি ব্যবহার করে থাকি এগুলি দুটি keyএর দ্বারা মেসেজটি secure করা হয়। এভাবেই আমাদের মেসেজ এর সিকিউরিটি প্রদান করে।

কিন্তু এর মানে এই নয় যে এটিকে অন্য কারো দ্বারা ডিকোড করা সম্ভব নয়। অনেকেই আছেন যারা গুলির সুড়ঙ্গ (loophole ) খোঁজার চেষ্টা করছে। সেইভাবে এনক্ৰিপ্টর রা system কে secure বানানোর জন্য কাজ করে চলেছে।

শেয়ার করুন

Leave a Comment

Your email address will not be published. Required fields are marked *