নির্বাচিত পোস্ট | লগইন | রেজিস্ট্রেশন করুন | রিফ্রেস

খাই দাই যুদ্ধ করি

টিনের সেপাই

টিনের সেপাই › বিস্তারিত পোস্টঃ

Cipher : A secret way of writting বার্তা আদান-প্রদানের এক গোপন বিদ্যা

২২ শে এপ্রিল, ২০১১ রাত ১১:৫০

Cipher হল কোন ম্যাসেজ বা বার্তা কোন গোপন কোডের মাধ্যমে পাঠানো।

আপনাকে যদি এই রকম একটা ম্যাসেজ দেওয়া হয় ---



"VRPHZKHUHLQEORJ"



এই কোড থেকে কি বুঝতেছেন ??



এইটা হল এক ধরনের Cipher Text। এর মূল অর্থ বের করতে হলে আপনাকে এর "Key" জানতে হবে। অনেক আগে থেকেই বিভিন্ন যুদ্ধে ক্ষেত্রে বা গোপন কোন বার্তা পাঠাতে এই Cipher পদ্ধতি অবলম্বন করা হয়। যতদূর জানা যায় জুলিয়াস সিজার প্রথম এই পদ্ধতিতে যুদ্ধক্ষেত্রে তার জেনারেলদের বার্তা পাঠাতেন।



ক্লাসিকাল Cipher তথা যা লেখার মাধ্যমে করা হত তা প্রধানত দুই ধরনের

Transposition cipher আর substitution ciphers। Transposition cipher করা হত কোন শব্দের মাঝে অক্ষর গুলোর পরিবর্ত করে , যেমন "ehlol owrdl" এই কোডটি মূল অর্থ হল "hello world" , শুধু ওয়ার্ডের মাঝে ইন্টারচেন্জ করে লেখা।



আর জুলিয়াস সিজার যে পদ্ধতি অনলম্বন করতো তা হল substitution ciphers। এক্ষেত্রে ইংরেজী আলফাবেট কে দুই সারিতে সাজিয়ে দ্বিতীয় সারিতে আলফাবেট গুলো কয়েক ঘর সিফট করা হত। নিচে দেখেন--



ABCDEFGHIJKLMNOPQRSTUVWXYZ

DEFGHIJKLMNOPQRSTUVWXYZABC



উপরের দ্বিতীয় সারিতে আলফাবেট গুলো ৩ ঘর সিফট করা হয়েছে। এখন যদি এই রকম বার্তা দেওয়া হয় "DWWDFN" তাহলে মূল বার্তা হবে "ATTACK" আর এখানে Key হল ৩ কারন আলফাবেট ৩ ঘর সিফট করা হইছে। সিজার সাহেবের নাম অনুসারে এই কে আদর করে "Caeser Cipher" নামে ডাকা হয়:D



এই রকম আরেক ধরনের Cipher হল Vigenère cipher । এতে Caeser cipher এর মত অনেক গুলো সারি থাকে ভিন্ন ভিন্ন Key অনুযায়ী। এর চেহারা নিচে দেখেন--





এতে ২৬x২৬ কম্বিনেশন থাকে। ধরেন আমরা একটি Cipher text "LXFOPVEFRNHR" Plain text করবো। এখন আমাদের দরকার হবে এর Key। এর Key হল "LEMON" । এখন আমরা এইভাবে সাজাতে পারি --



Key: LEMONLEMONLE

Ciphertext: LXFOPVEFRNHR



এখন Key গুলোকে সর্ববামের কলামে এক এক করে বসান। প্রথম Key L এর ক্ষেত্রে L কে সর্ববামের কলামে এবং প্রথম Ciphertext L কে Key L বরাবর খুজুন তাহলে দ্বিতীয় কলামে আমরা L পাবো, এই দ্বিতীয় কলামের প্রথম অক্ষরটি হবে আমাদের প্লেইন টেক্সের প্রথম অক্ষর (বেশী জটিল হয়ে গেল মনে হয়/:) এই রকম করলে আমরা পুরা বার্তা টা পাবো "ATTACKATDAWN" |-) |-)



আপনারা নিশ্চয় National Treasure: Book of Secrets মুভি টি দেখেছেন, এই মুভি তে দেখা যায় কেজ সাহেব একটা ফাইভ লেটার কীওয়ার্ডের জন্যে হন্যে হয়ে বেরান তার দাদার রেখে যাওয়া এক Cipher এর অর্থ উদ্ধারের জন্য। মুভিতে যে Cipher এর কথা বলা হয় তা হল Playfair cipher । এক্ষেত্রে একটি কীওয়ার্ড থাকে। ধরা যাক কীওয়ার্ড হল DEATH (মুভি তে এটাই ছিল:P) এখন কীওয়ার্ড প্রথমে রেখে ৫X৫ গ্রীডে সাজাতে হবে, নিচে দেখুন--





এখনে I & J কে একই ওয়ার্ড হিসেবে ধরা হয়। ৫*৫ গ্রীডে সাজানোর নিয়ম হল প্রথমে কী রেখে পরে ইংরেজী বর্ণমালা ক্রমানুসারে সাজানো, এখনে প্রথমের লাইনে লেখা D E A T H , এর পরে লাইনে D এর নিচে লেখা B (কারণ এখন আমরা ইংরেজী বর্ণমালা ক্রমানুসারে সাজাবো, যেহেতু A একবার লেখা হইছে তাই দ্বিতীয় বর্ণমালা B লেখা হইছে) এভাবে C F G I পরে লেখা হইছে (যেহেতু D এবং E একবার করে লেখা হইছে)



এখন সাইফার DA কে A বলা হইছে, খেয়াল করুন প্রথম কলামের D এবং প্রথম সারির A মিলে C হইছে ( যেভাবে গ্রাফ কাগজে বিন্দু বসানো হয় X ও Y অক্ষ ধরে)। এভাবে Cipher text - DA DT DT DA BE KD হলে Plain Text হবে--

DA DT DT DA BE KD

A T T A C K

অর্থাৎ ATTACK



এছাড়া আছে Rail Fence Cipher , Bacon's cipher ইত্যাদি ইত্যাদি. |-) |-)



এরপর আসলো মেশিনের যুগ। দ্বিতীয় বিশ্বযুদ্ধের সময় জার্মান রা Enigma machine নামক এক ধরনের মেশিনের সাহায্যে সাইফার প্লেইন টেক্সে পরিবর্তন করতো। এই মেশিনের কম্বিনেশনের সংখ্যা অনেক বেশী হত আর কী ছাড়া মূল ম্যাসেজ বের করা প্রায অসাধ্য।



Enigma machine



আরোও জটিলের মধ্যে আছে Jefferson disk এতে ৩৬ টি চাকতির কম্বিনেশন থাকে:-*:-*

এছাড়া দুই চাকতির কম্বনেশনে আছে CipherWheel



CipherDisk



আজ অনেক হল আর না। আচ্ছা পোষ্টের শুরুতে একটা Cipher Text দিছিলাম, দেখেন তো পারেন কিনা... আর বলে দেই এর কী হল ৩ এবং এটা হল Caesar Cipher ;)

এখানে আরও

Cipher ইন্জিনের কথা জানতে পারবেন।

এর পরের পোস্টে আশা করি steganography আর মর্সকোড নিয়ে কিছু লিখবো। এই পোষ্টটা মনে হচ্ছে সাজায়ে লিখতে পারলাম না। এত ধৈর্য ধরে পুরোটুকু পড়ার জন্য ধন্যবাদ।



তথ্যসুত্র ও ছবি : wikipedia

মন্তব্য ২৯ টি রেটিং +২১/-০

মন্তব্য (২৯) মন্তব্য লিখুন

১| ২৩ শে এপ্রিল, ২০১১ রাত ১২:০৪

স্বাধীনতার বার্তা বলেছেন: SOMEWHEREINBLOG


B-)

২৩ শে এপ্রিল, ২০১১ রাত ১২:১৪

টিনের সেপাই বলেছেন: পাশ
টাকা দিয়া মিষ্টি কিনা খাইয়া নিয়েন =p~ =p~ =p~

২| ২৩ শে এপ্রিল, ২০১১ রাত ১২:০৮

লেখাজোকা শামীম বলেছেন: এই গোপন বিদ্যা কি এখনও ব্যবহার হয় ?

২৩ শে এপ্রিল, ২০১১ রাত ১২:১৮

টিনের সেপাই বলেছেন: আসলে বিদ্যা এখন আর মনে হয় গোপন নাই (সবাই তো জানে)
এখন তো কম্পিউটার বেসড অনেক সিস্টেম আসছে
পড়ার জন্য ধন্যবাদ

৩| ২৩ শে এপ্রিল, ২০১১ রাত ১২:১৩

ফেরারী... বলেছেন: ভালো লাগলো এবং খুবি ইন্টারেস্টিং পোষ্ট । যদিও কোড ব্রেক করার ব্যপারগুলা মাথার উপর দিয়া গেছে :||

২৩ শে এপ্রিল, ২০১১ রাত ১২:১৯

টিনের সেপাই বলেছেন: হুমম
ভাল করে সাজায়ে লিখতে পারি নাই/:)/:)

৪| ২৩ শে এপ্রিল, ২০১১ রাত ১২:২৭

পাওয়ার ফ্যালকন বলেছেন:
মেহের পাকিজান,গরিলা ও আমার বিরুদ্ধে গ্র্যান্ড ন্যারেটিভ ডিসকোর্স কুৎসার জবাব- মাওলানা হাফমিদুল হক :P :P :P :P

২৩ শে এপ্রিল, ২০১১ রাত ১২:৩২

টিনের সেপাই বলেছেন: পড়লুম.........বুঝলুম।

৫| ২৩ শে এপ্রিল, ২০১১ রাত ১২:৫৯

বিষন্ন একা বলেছেন: +++

২৩ শে এপ্রিল, ২০১১ রাত ১:০৯

টিনের সেপাই বলেছেন: ধন্যবাদ

৬| ২৩ শে এপ্রিল, ২০১১ রাত ১:২৯

মরহুম আসমান ফকির বলেছেন: ফেরারী... বলেছেন: ভালো লাগলো এবং খুবি ইন্টারেস্টিং পোষ্ট । যদিও কোড ব্রেক করার ব্যপারগুলা মাথার উপর দিয়া গেছে :||

২৩ শে এপ্রিল, ২০১১ রাত ১:৩৪

টিনের সেপাই বলেছেন: আসলেই জটিল ব্যাপার

৭| ২৩ শে এপ্রিল, ২০১১ সকাল ১০:৩৯

আকাশ_পাগলা বলেছেন: ধরা যাক কীওয়ার্ড হল DEATH (মুভি তে এটাই ছিল:P) এখন কীওয়ার্ড প্রথমে রেখে ৫X৫ গ্রীডে সাজাতে হবে, নিচে দেখুন--
D E A T H
B C F G I
K L M N O
P Q R S U
V W X Y Z

এখনে I & J কে একই ওয়ার্ড হিসেবে ধরা হয়। এবার Cipher text - DA DT DT DA BE KD হলে Plain Text হবে--
DA DT DT DA BE KD
A T T A C K
অর্থাৎ ATTACK

এইটা বুঝি নাই। আরেকটু বুঝাবেন???? "৫ *৫" গ্রিডে কোত্থেকে সাজালাম? কিভাবে আনলাম? মানে, পরের অক্ষর গুলা কিভাবে বসল?

পরে BE কে সি ধরলাম ক্যান???

সব মিলিয়ে দারুণ পোস্ট।

২৩ শে এপ্রিল, ২০১১ দুপুর ১:০০

টিনের সেপাই বলেছেন: প্লেফেয়ার সাইফারের ক্ষেত্রে যে "কী" থাকবে তা প্রথমে ক্রমানুসারে বসবে। ইংরেজিতে মোট ২৬ টি বর্নমালা থাকে আমরা জানি। ৫*৫ গ্রীডে সাজালে মোট ২৫ টি বর্নমালা হয়। এজন্য অপেক্ষাকৃত কম ব্যবহৃত J কে I এর সাথে কল্পনা করা হয়( প্লেইন টেক্সের সময় যেটা মিলে I অথবা J সেটাকে নেওয়া হয়)

৫*৫ গ্রীডে সাজানোর নিয়ম হল প্রথমে কী রেখে পরে ইংরেজী বর্ণমালা ক্রমানুসারে সাজানো, এখনে প্রথমের লাইনে লেখা D E A T H , এর পরে লাইনে D এর নিচে লেখা B (কারণ এখন আমরা ইংরেজী বর্ণমালা ক্রমানুসারে সাজাবো, যেহেতু A একবার লেখা হইছে তাই দ্বিতীয় বর্ণমালা B লেখা হইছে) এভাবে C F G I পরে লেখা হইছে (যেহেতু D এবং E একবার করে লেখা হইছে)

এখন সাইফার DA কে A বলা হইছে, খেয়াল করুন প্রথম কলামের D এবং প্রথম সারির A মিলে C হইছে ( যেভাবে গ্রাফ কাগজে বিন্দু বসানো হয় X ও Y অক্ষ ধরে)

পোষ্টে আসলে গ্রীডটা সঠিক ভাবে সাজাতে পারিনি (আপডেট করতেছি ) আশা করি বুঝাতে পারছি।

৮| ২৩ শে এপ্রিল, ২০১১ রাত ৮:৩৫

লুরমাক বলেছেন: ধন্যবাদ স্যার....................... আমি জানি এবং ব্যবহার করি....... আরো কিছু এনক্রিপশন আছে......... আর ইলেকট্রনিকতো প্রচুর......

২৩ শে এপ্রিল, ২০১১ রাত ৮:৪৬

টিনের সেপাই বলেছেন: ওরে আমি স্যার না :|| :||
স্টুডেন্ট:D
হ্যাঁ অনেক এনক্রিপশন আছে সব মেশিন বেজড।
পড়ার জন্য ধন্যবাদ।

৯| ২৩ শে এপ্রিল, ২০১১ রাত ৮:৪৮

অনিমেষ হৃদয় বলেছেন: বেশি ভেজাল লাগে :|| :||

তয় সাঙ্কেতিক ভাষার প্রতি আমার চিরকালই ব্যাপক আগ্রহ... B-)

কইনচেন দেহি...

TGHIMNDEPQR PQRSDEPAGHI

74 21 61 82

এইবার সহজ একটা

K SHA? DD SHA. KNO? TAr BA.

২৪ শে এপ্রিল, ২০১১ রাত ১২:৩৩

টিনের সেপাই বলেছেন: দিলেন তো মাথাডা হ্যাং কইরা। :-& :-&
এইটা Cipher এর কোন ক্লাস তা বললে সহজ হত 8-| 8-|
ট্রেরাই করতেছি, দেখি কয় দিন লাগে |-) |-) |-)

উপরের দুই লাইন কি একই Cipher এর ??

১০| ২৩ শে এপ্রিল, ২০১১ রাত ৮:৪৯

আক্তার হোসেন বলেছেন: ভালো লিখেছেন। কিন্তু শুরুতেই যে ভুলটা চোখে পড়লো তা বলি। আপনি বলেছেন,
"আর জুলিয়াস সিজার যে পদ্ধতি অনলম্বন করতো তা হল substitution ciphers। এক্ষেত্রে ইংরেজী আলফাবেট কে দুই সারিতে সাজিয়ে দ্বিতীয় সারিতে আলফাবেট গুলো কয়েক ঘর সিফট করা হত।"
এবং উদাহরণ যেটা দিলেন সেটা মুলত mono-alphabetic cipher . আরো ব্যাখ্যা করে বলতে গেলে Additive cipher মেথড।

জুলিয়াস সিজার যেভাবে cipher text লিখতেন তা ব্যাখ্যা করছি। প্রথমেই পুরো Plain text-যাকে cipher text বানাতে হবে-কে সকল space , fullstops etc বাদ দিয়ে শুধু character গুলি এক সাথে লিখা হতো। এরপর প্রয়োজনীয় সংখ্যক garbage characters যোগ করে plain text কে M X N ফর্মে আনা হয়। যেমন plain text এ যদি ১৬ টা characters থাকে তবে তার সাথে আরো ৪ টা garbage characters যোগ করে তাকে ২০ (5X4) characters এর plain text করা হয়। এখানে M<=N এবং M-N< 3 রাখা হয়। এরপর character গুলিকে M X N গ্রীডে row by row রাখা হয়। এরপর ওই গ্রীড থেকে column by column character গুলি লিখা হয়। এটাই সিজার cipher.
EXAMPLE:
plain-text: SOMEWHEREINBLOG.
No. characters: 15
So we will add a extra bogus character like X at the end of plain-text. Now the plain-text is: SOMEWHEREINBLOGX.

Here now we chose M=4 and N =4. And characters are placed as,

S O M E
W H E R
E I N B
L O G X

Then it written again as : SWELOHIOMENGERBX. This is the cipher text. Just reverse the total process to get the desired Plain-text.

Thanks.

১১| ২৩ শে এপ্রিল, ২০১১ রাত ৮:৫১

আক্তার হোসেন বলেছেন: আজবতো পুরা কমেন্ট আসে নাই!!!

১২| ২৩ শে এপ্রিল, ২০১১ রাত ৯:০২

আক্তার হোসেন বলেছেন: ভালো লিখেছেন। কিন্তু শুরুতেই যে ভুলটা চোখে পড়লো তা বলি। আপনি বলেছেন,
"আর জুলিয়াস সিজার যে পদ্ধতি অনলম্বন করতো তা হল substitution ciphers। এক্ষেত্রে ইংরেজী আলফাবেট কে দুই সারিতে সাজিয়ে দ্বিতীয় সারিতে আলফাবেট গুলো কয়েক ঘর সিফট করা হত।"
এবং উদাহরণ যেটা দিলেন সেটা মুলত mono-alphabetic cipher . আরো ব্যাখ্যা করে বলতে গেলে Additive cipher মেথড।

জুলিয়াস সিজার যেভাবে cipher text লিখতেন তা ব্যাখ্যা করছি। প্রথমেই পুরো Plain text-যাকে cipher text বানাতে হবে-কে সকল space , fullstops etc বাদ দিয়ে শুধু character গুলি এক সাথে লিখা হতো। এরপর প্রয়োজনীয় সংখ্যক garbage characters যোগ করে plain text কে M X N ফর্মে আনা হয়। যেমন plain text এ যদি ১৬ টা characters থাকে তবে তার সাথে আরো ৪ টা garbage characters যোগ করে তাকে ২০ (5X4) characters এর plain text করা হয়। এখানে M <= N এবং M-N<3 রাখা হয়। এরপর character গুলি row by row M X N গ্রীডে বসানো হয়। এরপর গ্রীড থেকে character গুলি column by column লিখা হয়। এটাই cipher text।
EXAMPLE:
Plain-text: somewhereinblog
No. characters: 15
So we will add 1 bogus character at the end of the plain-text. So new plain-text is now, somewhereinblogx
Then we chose M=4 & N=4, and arrange the characters as,

s o m e
w h e r
e i n b
l o g x

Now which will be written as: swelohiomengerbx . This is the cipher-text. Reveres the process to get the plain-text back.
Thanks.
বিঃদ্রঃ দয়া করে আগের ২ টা কমেন্ট ডিলিট করে দিবেন।

২৩ শে এপ্রিল, ২০১১ রাত ১১:৩৬

টিনের সেপাই বলেছেন: জানতাম না। আমি তো ইন্টারনেট আর উইকি ঘাঁইটা লেখছি। এইখানে তো substitution ciphers সমন্ধে তাই লেখা আছে। substitution অবশ্য mono-alphabetic cipher এর একটা ক্লাস।

এইবারও আপনার কমেন্টা পুরাটা আসে নাই। আসলে আরও ক্লিয়ার হওয়া যেত।additive মনে হয় stream cipher এর একটা ক্লাস(যদিও বুঝি না:| :| ) । মন্তব্য করার জন্য ধন্যবাদ।
পারলে আরেকবার পুরা কমেন্টটা দেন।

১৩| ২৩ শে এপ্রিল, ২০১১ রাত ১০:৫৭

মরহুম আসমান ফকির বলেছেন: সবাই কত বুদ্ধিমান। :(

২৪ শে এপ্রিল, ২০১১ রাত ৮:৫০

টিনের সেপাই বলেছেন: হুম.
খালি আমি আর আপনিই বোকা :-< :-<
আসেন কোলাকুলি করি=p~ =p~

১৪| ২৪ শে এপ্রিল, ২০১১ রাত ১:২৫

অনিমেষ হৃদয় বলেছেন: এইগুলা সিফার না ভাই... KGB-র আবিষ্কার করা কোডগুলার মধ্যে একটা! যদিও বেশ পুরানো। বুঝলে এক্কেবারে পানি! হিন্টস দি... আপনের মোবাইলের দিকে একবার খেয়াল করেন... :D :D

দ্বিতীয়টা দ্বিতীয় বিশ্বযুদ্ধে ব্রিটিশ আর্মির কয়েকজন অফিসার ব্যবহার করছিলেন... প্রথমটা পারলে এইটাও পারবেন মনে হয় ;) ;)

তিন নম্বরটা সত্যজিৎ রায়ের আবিষ্কার... ফেলুদায় আছে :D :D অবশ্য এটাকে সংস্কার করে ইউজ করা হয়...আমি সংস্কার করাটাই দিছি।

২৪ শে এপ্রিল, ২০১১ সকাল ১০:০২

টিনের সেপাই বলেছেন: প্রথম টা tiner sepai |-) :-B :-B
দ্বিতীয়টা samu B-) B-) :-B

ফেলুদার গল্প গুলো সব পড়া আছে যদিও এখন মনে নাই তবে মনে হয় এইগুলো কোনো কিছু বা ব্যক্তি নাম =p~

১৫| ২৪ শে এপ্রিল, ২০১১ দুপুর ১২:১৮

অনিমেষ হৃদয় বলেছেন: B-) B-) B-) B-) এইতো পারছেন!

দ্বিতীয়টা- কে এসেছে? দিদি এসেছে। কেন? টিয়ের বিয়ে।

২৪ শে এপ্রিল, ২০১১ দুপুর ১:৪৪

টিনের সেপাই বলেছেন: !:#P !:#P :-B :-B

১৬| ৩০ শে অক্টোবর, ২০১১ দুপুর ১২:১২

রাসেল মাহদুদ বলেছেন: এতে ২৬x২৬ কম্বিনেশন থাকে। ধরেন আমরা একটি Cipher text "LXFOPVEFRNHR" Plain text করবো। এখন আমাদের দরকার হবে এর Key। এর Key হল "LEMON" । এখন আমরা এইভাবে সাজাতে পারি --

ভাই অনুবাদ করতে গিয়ে আলসেমি করলে তো হবে না রে ভাই, আপনি এনক্রিপশন অংশে না গিয়ে সোজা ডিক্রিপ্ট করার কথা বলেছেন, এখন আমাকে বলেন কি ওয়র্ড লেমন আসলো কোথা থেকে? তারচেয়ে আপনি বলতে পারতেন লেমন দিয়ে কেমনে এনক্রিপ্ট করতে হবে।
আপনার আলসেমীর জন্য আমার বাংলায় সাইফার পড়া হলো না। X( X( X( X( X(( X(( X((

আপনার মন্তব্য লিখুনঃ

মন্তব্য করতে লগ ইন করুন

আলোচিত ব্লগ


full version

©somewhere in net ltd.