এই লেখাটি পড়ার জন্য পাঠকদের যেসব জিনিস জানা থাকলে সুবিধা হবে সেগুলি হল: বীজগণিত ও বাইনারী বা দ্বিমিক সংখ্যা ব্যবস্থা। নিউটনের সূত্র ও কোয়ান্টাম মেকানিক্স জানা থাকলে সুবিধে, কিন্তু জানা না থাকলেও সমস্যা নেই।
প্রথম পর্বে আলোচিত হয়েছিল কম্পিউটিং-এর সংক্ষিপ্ত ইতিহাস। দ্বিতীয় পর্বে আলোচনা করেছি কোয়ান্টাম কম্পিউটিং-এর গাণিতিক ভিত্তি ও প্রথম কোয়ান্টাম অ্যালগরিদম।
তৃতীয় পর্ব
গোপন পাসওয়ার্ড রইল না গোপন
আস্তে আস্তে বিভিন্ন দেশের অনেক গবেষক আরো নতুন সমস্যা কোয়ান্টাম কম্পিউটিং দিয়ে সমাধান করা শুরু করলেন। প্রথম কয়েকটি সমস্যার খুব বেশি বাস্তব প্রয়োগ ছিল না। কিন্তু ঊনিশশো চুরানব্বই সালে একটি বিপ্লব ঘটে গেল। পিটার শর নামে এমআইটি’র একজন গণিতবিদ কোয়ান্টাম কম্পিউটার দিয়ে পূর্ণ সংখ্যাকে তার মৌলিক উৎপাদকে ভাগ করে ফেলার একটি বুদ্ধি বের করে ফেললেন।
এটি একটি বিপ্লব কেন?
ইন্টারনেটে আমাদের যত গোপনীয়তা তার চাবিকাঠি কি? আপনার ফেসবুকের পাসওয়ার্ড বা চাবি আমি জানি না। কেবল আপনিই জানেন। ফেসবুকে আপনি যখন ঢুকেন শুরুতে ইউজার-নেম আর পাসওয়ার্ড দিয়ে দেন। আপনার ওয়েব ব্রাউজার থেকে সাত সমুদ্র তের নদী পাড়ি দিয়ে এই গোপন পাসওয়ার্ড যায় ফেসবুকের সার্ভারে। যাওয়ার এই সময়টুকু এই গোপন পাসওয়ার্ড আরো কত কম্পিউটার, রাউটার1 আর উপগ্রহ হয়ে যায়। কিন্তু আর কেউ সেটি বের করতে পারে না। কেন পারেনা? কারণ তাকে সংকেতে পরিণত করা হয়। কিভাবে? এর নাম হল মুক্তচাবিগুপ্তিলিপি বা পাবলিক কী ক্রিপ্টোগ্রাফি (Public Key Cryptography)। কোন তথ্যকে সংকেতে পরিণত করা অনেকটা সেই তথ্যকে সিন্দুকে রেখে বাইরে থেকে তালা বন্ধ করে দেয়ার মত। যার চাবি আছে সেই কেবল খুলে তথ্যটি পড়তে পারবে। কিন্তু চাবি ছাড়া সিন্দুক মাথায় করে এদিক সেদিক নিয়ে যেতে সবাই পারবে, কিন্তু পাঠোদ্ধার করতে পারবে না। তবে এই সংকেতে পরিণত করার যে প্রক্রিয়া সেটি যে নিরাপদ তার প্রমাণ কি? শুনলে আপনার ‘পেটের ভাত চাউল হয়ে যাবে’ যে আসলেই এর কোন সুসংহত গাণিতিক প্রমাণ নেই!
মুক্তচাবিগুপ্তিলিপি বা পাবলিক কী ক্রিপ্টোগ্রাফিতে কিভাবে মৌলিক উৎপাদক ব্যবহার করে পাসওয়ার্ডকে সংকেতে পরিণত করা হয় সেটি খুবই কৌতুহলোদ্দীপক। এই পদ্ধতিতে আমাদের লাগে একটি এনক্রিপশন কী বা গুপ্তিচাবি যা দিয়ে পাসওয়ার্ডকে গোপন সংকেতে পরিণত করে সেই সংকেত অন্য কম্পিউটার, রাউটার ইত্যাদি দিয়ে পাঠানো যায়। আর লাগে একটি ডিক্রিপশন কী বা নির্ণয় চাবি যা দিয়ে সেই সংকেতকে আবার পাসওয়ার্ডে পরিণত করা যায় প্রয়োজনমত, উপরের উদাহরণে ফেসবুকের সার্ভারের জন্য।
প্রথমে খুঁজতে হবে একটি এনক্রিপশান ইনডেক্স বা গুপ্তিসূচক, ও এনক্রিপশান কী বা গুপ্তিচাবি। একটি সংখ্যা ধরুন ৫৫ যার মৌলিক উৎপাদক ১১ আর ৫। এই মৌলিক উৎপাদক খুব গুরুত্বপূর্ণ এনক্রিপশনে। ৫৫ এর ‘অয়লার টোসেন্ট ফাংশন’ হল (৫ – ১) X (১১ – ১) = ৪০। এই টোসেন্ট ফাংশনের সাথে গুপ্তিসূচক বা এনক্রিপশন ইনডেক্স এর গসাগু হতে হবে ১। সেরকম একটি মৌলিক সংখ্যা হল ৭। তাহলে ৭ হল আমাদের এনক্রিপশান ইনডেক্স, আর এনক্রিপশন কী বা গুপ্তিচাবি হল (৫৫, ৭) এই জোড়া।
এই তথ্য আবার গোপন সংকেত থেকে সাধারণ ভাষায় আনতে হবে। তার জন্য দরকার ডিক্রিপশন কী বা নির্ণয়চাবি। কিভাবে এই নির্ণয়চাবি ঠিক করা হবে?
আমরা যেভাবে বের করবো এটি পাটিগণিতের একটি বিশেষ শাখার মধ্যে পড়ে। এর নাম হল মড্যুলার এরিথমেটিক বা চক্রিক পাটিগণিত। যেকোন চক্রিক পাটিগণিতের সবসময় একটি সাংখ্যিক ভিত্তি থাকবে। পাটিগণিতের কোন সংখ্যা বা ফলাফল সেই সংখ্যার চেয়ে বেশি কখনও হবে না। যখনই বেশি হবে সেই সংখ্যা দিয়ে ভাগ করে ভাগশেষটি বের করা হবে। আমাদের এই উদাহরণে সাংখ্যিক ভিত্তি হল ৪০। সাধারণ পাটিগণিতে আমরা কখন দুটি সংখ্যাকে একটি অপরটির বিপরীত বলি? যখন তাদের গুণফল ১ হয়। মড্যুলার এরিথমেটিক বা চক্রিক পাটিগণিতে দুটি সংখ্যা একটি অপরটির বিপরীত হবে যখন তাদের গুণফলকে সাংখ্যিক ভিত্তি দিয়ে ভাগ করলে ভাগশেষ ১ হয়।
প্রথমে আমাদের কয়েকটি সংখ্যা চিন্তা করতে হবে যার সাথে আমরা একক্রিপশন ইনডেক্স বা গুপ্তিসূচককে গুণ করব। ধরি এরকম তিনটি সংখ্যা হল ৭, ১৫, ২৩। তাহলে গুণফল তিনটি হবে ৪৯, ১০৫, এবং ১৬১। এখন দেখতে হবে কোন গুণফলটিকে টোসেন্ট ফাংশন ৪০ দিয়ে ভাগ করলে ভাগশেষ ১ হয়। সেটি হল ১৬১, যেটি উপরে ২৩ থেকে এসেছে। কাজেই ডিক্রিপশন কী বা নির্ণয়চাবি হবে (৫৫, ২৩) এই জোড়া।
বন্ধ করার আর খোলার চাবি হাতে এসেছে। এখন আমরা পাসওয়ার্ড কে সংকেতে পরিণত করব। ধরি পাসওয়ার্ড হল ‘এ’। এটি বাংলা বর্ণমালার ৮ নম্বর বর্ণ। ‘এ’ কে আমরা সংকেতে কি করে পরিণত করব? আমরা ৮ এর সপ্তম সূচক নিব কারণ ৭ হল আমাদের গুপ্তিসূচক। এটি হবে ৮৭ = ২০৯৭১৫২। তার ৫৫ ভিত্তিক চক্রিক সমমান হবে ২ কারণ ২০৯৭১৫২ সংখ্যাটিকে ৫৫ দিয়ে ভাগ করলে ভাগশেষ হয় ২। কাজেই আমাদের পাসওয়ার্ড ‘এ’ এর সংকেত হল ২। এখন এটি থেকে ‘এ’ আবার কি করে ফিরে পাব?
আমরা ২ এর ২৩ তম সূচক নিব। কারণ আমার ডিক্রিপশন কী বা নির্ণয়সূচক ছিল ২৩। সেই সংখ্যাটি হবে ২২৩ = ৮৩৮৮৬০৮। এর ৫৫ ভিত্তিক চক্রিকসমমান হবে ৮ কারণ ৫৫ দিয়ে ভাগ করলে ভাগশেষ হবে ৮ । বাংলা বর্ণমালায় ৮ নম্বর বর্ণটি কি? ‘এ’!
এত দশকের গবেষণা থেকে আমরা কম্পিউটার বিজ্ঞানীরা জানি যে কোন পূর্ণ সংখ্যাকে তার মৌলিক উৎপাদকে ভাগ করে ফেলার কাজটি ভীষণ কঠিন2। ছোটখাটো একটি সংখ্যা, যেমন উপরের উদাহরণে ব্যবহৃত ৫৫, তার মৌলিক উৎপাদক (এগার আর পাঁচ) বের করা কঠিন নয়। কিন্তু সংখ্যাটি বড় হতে থাকলে এই সমস্যার জটিলতাও বাড়তে থাকে। যেমন, ১২৬৭ – এই সংখ্যাটির কি কি মৌলিক উৎপাদক আছে বের করুন তো! আমাদের জানামতে প্রচলিত বা ধ্রুপদী কম্পিউটার বিজ্ঞানের জ্ঞান দিয়ে এই সমস্যার দ্রুত সমাধান করার বুদ্ধি কেউ জানে না। আমাদের জানামতে সবচেয়ে ভাল উপায়টি হল জেনারেল নাম্বার ফিল্ড সিভ অ্যালগরিদমটি ব্যবহার করা। তাতেও বড় বড় সংখ্যার মৌলিক উৎপাদক বের করতে বছরের পর বছর লেগে যেতে পারে। কাজেই আমরা বিশ্বাস করি যদি আপনার পাসওয়ার্ডকে বিশাল একটি পূর্ণ সংখ্যার মৌলিক উৎপাদক গোপন চাবিকাঠি হিসেবে ব্যবহার করে সংকেতে পরিণত করা হয় তাহলে সেই সংকেত থেকে সহজে কেউ আপনার আসল পাসওয়ার্ড বের করতে পারবে না। কারণ অননুমোদিতভাবে কারো কাছে সেই গোপন উৎপাদকটি নেই। আর উৎপাদক নির্ণয় করতে খুবই শক্তিশালী কম্পিউটার লাগবে (বাজারের দামী আর শক্তিশালী ল্যাপটপ নয় নয়, আমি সুপার কম্পিউটারের3 কথা বলছি!) যেটি খুব বেশি মানুষের নেই।
ঊনিশশো চুরানব্বই সাল পর্যন্ত সবকিছু ঠিকঠাক মতই চলছিল। কিন্তু পিটার শরের আবিষ্কার ভূমিকম্প সৃষ্টি করল। কোয়ান্টাম সুপারপোজিশান বা উপরিপাতনের খেলা দেখিয়ে তিনি প্রমাণ করলেন যথেষ্ট বড় কোয়ান্টাম কম্পিউটার থাকলে কোন সংখ্যাকে তার মৌলিক উৎপাদকে খুব সহজে ভাগ করে ফেলা যায়! তাহলে আপনার ফেসবুক অ্যাকাউন্টে এখনও কোয়ান্টাম হ্যাকিং শুরু হয়নি কেন? এর কারণ লুকিয়ে আছে ‘যথেষ্ট বড়’ কথাটির মধ্যে। এই মুহুর্তে সবচেয়ে বড় কোয়ান্টাম কম্পিউটারে আছে পঞ্চাশ কিউবিট। আপনার পাসওয়ার্ড চুরি করতে কোয়ান্টাম দুষ্ট লোকদের কমপক্ষে মিলিয়নের উপর কিউবিট লাগবে। দিল্লী এখনও অনেক দূর!
তবে একটি জিনিস আমরা এখানে মনে রাখব। এখন পর্যন্ত যত কোয়ান্টাম ধারাক্রম বা অ্যালগরিদম আবিষ্কৃত হয়েছে তাদের মধ্যে ধ্রুপদী কম্পিউটারবিদ্যার ধারাক্রমগুলোকে ছাড়িয়ে যাওয়ার ব্যাপারে শরের ধারাক্রমই সবচেয়ে এগিয়ে। তাই এটি সবচেয়ে বিখ্যাত।
আরো কিছু কোয়ান্টাম অ্যালগরিদম
শরের অ্যালগরিদম ছাড়া আরো কিছু বিখ্যাত কোয়ান্টাম অ্যালগরিদম আছে। তার মধ্যে একটি আসলো ঊনিশশো ছিয়ানব্বই সালে লভ গ্রোভারের কাছ থেকে। পাঠ্যবইয়ে একে বলে গ্রোভারের ধারাক্রম বা অ্যালগরিদম। গ্রোভার দেখালেন, আপনি যদি খড়ের গাদায় সূচ কিংবা অনেকগুলো এলোমেলো সংখ্যা থেকে একটি সংখ্যা খুঁজতে যান কোয়ান্টাম কম্পিউটার সবচেয়ে ভাল ধ্রুপদী অ্যালগরিদমের চেয়েও (মানে সাধারণ প্রচলিত কম্পিউটারে চালানো যায় এমন অ্যালগরিদমের চেয়ে) বেশ ভাল কাজ করে। খোঁজাখুঁজির কাজ আমরা তো কম্পিউটার দিয়ে হরহামেশাই করি। তাহলে ভেবে দেখুন এটি কত উপকারী!
২০০৮ সালে অ্যারাম হ্যারো, অ্যাভিন্যাটেন হ্যাসিডিম ও সেথ লয়েড নামে তিন বিজ্ঞানী মিলে রৈখিক সমীকরণতন্ত্রের (লিনিয়ার ইক্যুয়েশান) সমাধান করার জন্য একটি কোয়ান্টাম অ্যালগরিদম প্রস্তাব করলেন যেটি বিশেষ কিছু ক্ষেত্রে4 ধ্রুপদী অ্যালগরিদমের চেয়ে ভাল কাজ দেয়। কি কাজে লাগে এটি? আমাদের বাস্তবজীবনের অনেক সমস্যাকেই রৈখিক সমীকরণতন্ত্রের5 ভাষায় প্রকাশ করা যায়। বিশেষ করে কৃত্রিমবুদ্ধিমত্তার অর্থাৎ আর্টিফিশিয়াল ইন্টেলিজেন্সের অনেক অ্যালগরিদমের ভিতরে কলকব্জা রৈখিক বীজগণিত থেকে ধার করা। এখন যদি আমরা সেই সব কলকব্জা কোয়ান্টাম কলকব্জা দিয়ে প্রতিস্থাপন করে আরো ভালভাবে চালাতে পারে খারাপ কী? কোয়ান্টাম কম্পিউটার বিজ্ঞানের এই শাখাটি এখনও একদম অপরিণত তবে নিয়মিত এগুচ্ছে।
এখন পর্যন্ত আমি যেসব উদাহরণ দিলাম সবকটাতেই পর্দার আড়ালে চলছে সুপারপোজিশান বা উপরিপাতনের খেলা। এটি এমন একটি ঘটনা যেটি কেবল কোয়ান্টাম জগতেই ঘটে। এটি ধ্রুপদী কম্পিউটার বিজ্ঞানের ধরাছোঁয়ার বাইরে।
কোয়ান্টাম সুপারপোজিশান
কোয়ান্টাম মেকানিক্সে সুপারপজিশান বা উপরিপাতন সম্বন্ধে কয়েকটা কথা বলি এখানে6।
একটি কোয়ান্টাম কণাকে দুইটি পুরোপুরি বিপরীত দশার উপরিপাতনে রাখা সম্ভব! কোয়ান্টাম কণার একটি উদাহরণ হল আয়ন। কোন পরমাণুর ইলেক্ট্রন সরিয়ে দিয়ে ধনাত্মক আধান সৃষ্টি করলে বা অতিরিক্ত ইলেক্ট্রন যোগ করে ঋণাত্মক আধান সৃষ্টি করলে তাকে আয়ন বলা হয়। একটি আয়নের অনেক বৈশিষ্ট্যের মধ্যে একটি হল তার স্পিন7। স্পিনকে অনেকটা ছোট চুম্বক হিসাবে ভাবা যেতে পারে। সেটি +১/২ বা -১/২ হতে পারে, যেমন একটি চুম্বক উত্তর দিক বা দক্ষিণ দিক বরাবর থাকতে পারে। যেহেতু স্পিন একটি কোয়ান্টাম জিনিস তাই শুধু +১/২ আর -১/২ নয়, তার উপরিপাতনও হতে পারে। অর্থাৎ, একই সাথে আয়নের মধ্যেকার স্পিন বা চুম্বকটির একটি মেরু উত্তর দিক বরাবর আছে এবং দক্ষিণ দিক বরাবরও আছে! কারো কাছে মনে হতে পারে একটি আয়নের একই সাথে এই দুইরকম স্পিন কেন থাকবে? ব্যাপারটা অনেকটা একজন মানুষের একই সাথে রেগে থাকা আর খুশি থাকার মত শোনাচ্ছে। না, আমাদের দৈনন্দিন জীবনে সেটি হয় না। কিন্তু কোয়ান্টাম মেকানিক্সে হয়!
ডয়েচের অ্যালগরিদমের যে গল্প বলেছিলাম আগে, সেখানে রঙের উপমায় উপরিপাতনের উদাহরণ হবে একই সাথে লাল ও নীল রঙের গোলক।
ধ্রুপদী কম্পিউটারে তথ্য সংরক্ষণ করা হয় বৈদ্যুতিক বিভবের মাধ্যমে। যেমন কিছু কিছু প্রসেসরে একটি ট্রানজিস্টরে বিভব যদি ৫ ভোল্টের আশেপাশে হয় সেটিকে ‘১’ ধরা হয় আর ০ থেকে ০.৮ এর মধ্যে হলে তাকে ‘০’ ধরা হয়। তেমনি অনেক কোয়ান্টাম কম্পিউটারে স্পিনের মান আমরা তথ্য সংরক্ষণের জন্য ব্যবহার করি। ধরুন আমরা কোয়ান্টাম কম্পিউটারে ৪ (চার) সংখ্যাটি সংরক্ষণ করতে চাই। এখন ৪ এর বাইনারী বা দ্বিমিকরুপ হল ১০০। আমরা তিনটি আয়ন ব্যবহার করতে পারি। +১/২ দিয়ে যদি আমরা ১ বুঝাই আর -১/২ দিয়ে আমরা যদি ০ বুঝাই, তাহলে তিনটি আয়নকে +১/২, -১/২, -১/২ স্পিন দশায় রেখে আমরা বলতে পারি আমরা ৪ কে কম্পিউটারে সংরক্ষণ করেছি।
টীকা
- রাউটার কম্পিউটার নেটওয়ার্কে ব্যবহৃত একটি বিশেষায়িত যন্ত্র। এটি মূলত: তথ্য লেনদেনে ডাকপিয়নের কাজ করে।
- এখন পর্যন্ত পাবলিক কি ক্রিপ্টোগ্রাফিতে ব্যবহৃত সবচেয়ে বড় যে সংখ্যার উৎপাদকে বিশ্লেষণ করা হয়েছে সেটি হল ১২৩০১৮৬৬৮৪৫৩০১১৭৭৫৫১৩০৪৯৪৯৫৮৩৮৪৯৬২৭২০৭৭২৮৫৩৫৬৯৫৯৫৩৩৪৭৯২১৯৭৩২২৪৫২১৫১৭২৬৪০০৫০৭২৬৩৬৫৭৫১৮৭৪৫২০২১৯৯৭৮৬৪৬৯৩৮৯৯৫৬৪৭৪৯৪২৭৭৪০৬৩৮৪৫৯২৫১৯২৫৫৭৩২৬৩০৩৪৫৩৭৩১৫৪৮২৬৮৫০৭৯১৭০২৬১২২১৪২৯১৩৪৬১৬৭০৪২৯২১৪৩১১৬০২২২১২৪০৪৭৯২৭৪৭৩৭৭৯৪০৮০৬৬৫৩৫১৪১৯৫৯৭৪৫৯৮৫৬৯০২১৪৩৪১৩ = ৩৩৪৭৮০৭১৬৯৮৯৫৬৮৯৮৭৮৬০৪৪১৬৯৮৪৮২১২৬৯০৮১৭৭০৪৭৯৪৯৮৩৭১৩৭৬৮৫৬৮৯১২৪৩১৩৮৮৯৮২৮৮৩৭৯৩৮৭৮০০২২৮৭৬১৪৭১১৬৫২৫৩১৭৪৩০৮৭৭৩৭৮১৪৪৬৭৯৯৯৪৮৯ × ৩৬৭৪৬০৪৩৬৬৬৭৯৯৫৯০৪২৮২৪৪৬৩৩৭৯৯৬২৭৯৫২৬৩২২৭৯১৫৮১৬৪৩৪৩০৮৭৬৪২৬৭৬০৩২২৮৩৮১৫৭৩৯৬৬৬৫১১২৭৯২৩৩৩৭৩৪১৭১৪৩৩৯৬৮১০২৭০০৯২৭৯৮৭৩৬৩০৮৯১৭ । সংখ্যাটি ২২৯ অংকের আর উৎপাদকগুলি একশ ষোল আর একশ ঊনিশ অংকের। আপনার ফেসবুকের পাসওয়ার্ড পাহারা দেয়ার জন্য এর চেয়ে অনেক বড় সংখ্যা ব্যবহার করা হচ্ছে।
- সুপারকম্পিউটারটিও বছর ধরে চলতে হবে।
- মূল গবেষণা পত্রে সমীকরণগুলোর ধর্মের ব্যাপারে চারটি শর্ত আছে।
- একটি রৈখিক সমীকরণতন্ত্রের উদাহরণ নিম্নরুপ।
3x + 2y – z = 1
2x – 2y + 4z = -2
-x + 1/2y – z = 0
এর সমাধান করার জন্য x, y, এবং z এর মান বের করতে হবে। - বিস্তারিত জানার জন্য উইকিপিডিয়ার এই পাতাটি দেখা যেতে পারে। https://en.wikipedia.org/wiki/Quantum_superposition
- একটি কোয়ান্টাম কণার অনেক বৈশিষ্ট্য থাকে যেমন: ভর, আধান, স্পিন ইত্যাদি। স্পিন এক ধরণের কৌণিক ভরবেগ।
(চলবে)
উৎসর্গ: মুক্তচিন্তক শহীদ অভিজিৎ রায়
কৃতজ্ঞতা: মাহবুব আজাদ আজাদকে পরিভাষা ও বানানের ব্যাপারে সাহায্যের জন্য ধন্যবাদ।