কম্পিউটারের জনক কে?
সাধারণ জ্ঞানের উত্তর- চার্লস ব্যাবেজ!
বিশ্বের প্রথম প্রোগ্রামিং কোড কে লিখেছিলেন?
অবশ্যই অগাস্টা এডা বায়রন।
দ্বিতীয় বিশ্বযুদ্ধ কত বছর স্থায়ী হয়েছিলো?
ছয় বছর। জয়ী হয়েছিলো মিত্রবাহিনী।
এসব সাধারণ বিষয় বা তথ্যসমূহ জনসাধারণের জানা থাকলেও কম্পিউটার এবং আর্টিফিশিয়াল ইন্টেলিজেন্সের সাথে দ্বিতীয় বিশ্বযুদ্ধের মতো কোনো বিষয়বস্তুর সম্পর্ক থাকতে পারে, সে বিষয়ে খুব কমসংখ্যক লোকই জানেন।কারণ কখনো প্রযুক্তির (কিংবা রাজনীতির) এই রোমাঞ্চকর ইতিহাসকে গোপন করা হয়েছে,কখনো বা বিকৃত করা হয়েছে, কিংবা কখনো এই মহান ইতিহাসের বরপুত্ররা তাদের যথাযোগ্য মর্যাদা পাননি। প্রযুক্তি এবং রাজনীতি একসাথে মেশালে কী ধরনের বিষ্ফোরণ ঘটতে পারে, পৃথিবীর মানুষ তা দ্বিতীয় বিশ্বযুদ্ধের সময়ই দেখেছে হিরোশিমা আর নাগাসাকি শহরের ধ্বংসলীলার মাধ্যমে। তবে খুব কম লোকই জানেন যে, এই প্রযুক্তি আর রাজনীতি মিলেই ছয় বছরের সেই অরাজকতার অবসান ঘটিয়েছিলো। কী অসাধারণ বৈপরীত্য!
১৯৩৯ সালে শুরু হওয়া দ্বিতীয় বিশ্বযুদ্ধের প্রথমদিকে অক্ষশক্তিই এগিয়ে ছিলো, বিশেষ করে প্রভূত ধন-বলের অধিকারী জার্মানরা। তবে যুদ্ধের মোড় ঘোরাতে অন্যতম সহায়ক হিসেবে যে বিষয়টি ভূমিকা রাখে, সেটি হচ্ছে ‘এনিগমা কোড’। এনিগমা কোড হলো জার্মান নাৎসি বাহিনীর ব্যবহৃত পারস্পারিক যোগাযোগের একটি সাংকেতিক মাধ্যম, যার নাম এসেছে এই সাংকেতিক ভাষা তৈরি করার যন্ত্র ‘এনিগমা মেশিন’ এর নাম থেকে। এই বিশেষ মাধ্যম ব্যবহারের উদ্দেশ্য ছিলো জার্মানদের শত্রুপক্ষ যাতে কোনোভাবেই তাদের পরিকল্পনা সম্পর্কে অবহিত হতে না পারে, সে বিষয়টি নিশ্চিত করা। তবে কিছু তুখোড় বুদ্ধিসম্পন্ন বৈজ্ঞানিক ও গণিতবিদদের দ্বারা জার্মান সাংকেতিক ভাষার পাঠোদ্ধার সম্ভব হয়েছিলো, যা অনেক বিশেষজ্ঞের মতে, দ্বিতীয় বিশ্বযুদ্ধের সময়কাল ২ বছর পর্যন্ত হ্রাস করেছিলো এবং ১৪ মিলিয়নেরও বেশি মানুষের জীবন রক্ষায় ভূমিকা রেখেছিলো।
একইসাথে এ কাজে নিয়োজিত বৈজ্ঞানিক ও গণিতবিদদের গবেষণা কম্পিউটার এবং কৃ্ত্রিম বুদ্ধিমত্তা সম্পর্কিত প্রথমদিককার গবেষণা বলে মনে করেন অনেকে। একদিকে বিজ্ঞান ও প্রযুক্তি এবং অপরদিকে যুদ্ধ ও রাজনীতির অপূর্ব সম্মিলনে তৈরি এই অজানা অধ্যায়ের আলোচনা শুরু করা যাক একদম গোড়া থেকে।
একঝলক ক্রিপ্টোলজি
এনিগমা কোড কী এবং কীভাবে কাজ করে তা জানতে হলে আমাদের আগে ‘ক্রিপ্টোলজি’ সম্পর্কে খানিকটা ধারণা থাকতে হবে। দুটো গ্রিক শব্দ ‘ক্রিপ্টোজ’ (বাংলা অর্থ গোপনীয়) এবং ‘লোগোস (বাংলা অর্থ জ্ঞান) থেকে বর্তমান ইংরেজি শব্দ ‘ক্রিপ্টোলজি’র উৎপত্তি।
নাম শুনেই বোঝা যাচ্ছে, ক্রিপ্টোলজি শব্দের অর্থ হচ্ছে ‘গোপনীয়তার জ্ঞান’। সহজ ভাষায় বলি। কোনো জনসমাজে প্রচলিত ভাষাকে একটি নির্দিষ্ট নিয়মে সকলের জন্যে দুর্বোধ্য বা সাংকেতিক ভাষায় লেখা হলে তাকে ‘ক্রিপ্টোগ্রাফি’ বলে। গ্রিক শব্দ ‘ক্রিপ্টোজ’ (গোপনীয়) এবং ‘গ্রাফেইন’ (লিপি) থেকে ক্রিপ্টোগ্রাফি শব্দটি এসেছে, যার অর্থ ‘গোপনীয় লিপি’। আর এই গোপনীয় লিপি বা ক্রিপ্টোগ্রাফি সম্পর্কিত চর্চাকেই ক্রিপ্টোলজি বলে। ক্রিপ্টোগ্রাফ একমাত্র এর লেখক এবং যাকে উদ্দেশ্য করে লেখা হয়েছে, সে-ই বুঝতে পারবে। আগে একসময় ক্রিপ্টোলজি শুধুমাত্র পারস্পারিক যোগাযোগের সময় গোপনীয়তা রক্ষার্থে ব্যবহৃত হলেও বর্তমানে কম্পিউটার প্রোগ্রামিংয়ের মতো গুরুত্বপূর্ণ কাজেও এর ব্যবহার অপরিহার্য।
ক্রিপ্টোলজিতে জনসাধারণের বোধগম্য ভাষাকে বলা হয় ‘প্লেইন টেক্সট’ এবং এই ‘প্লেইন টেক্সট’ বা মূল ভাষাকে সাংকেতিক ভাষায় রূপান্তর করাকে বলা হয় ‘এনক্রিপশন’। কোনো প্লেইন টেক্সটকে ‘এনক্রিপ্ট’ করা হলে অর্থাৎ সাংকেতিক ভাষায় রূপান্তরিত করা হলে যে টেক্সটটি পাওয়া যায়, তাকে বলে ‘সাইফার টেক্সট’ বা ‘সাইফার’।সাইফার টেক্সটকে আবার বোধগম্য ভাষায় ফিরিয়ে আনার প্রক্রিয়াকে বলে ‘ডিক্রিপশন’।
ইতিহাসে অনেক আগে থেকেই একটু আধটু ক্রিপ্টোলজি চর্চার নিদর্শন পাওয়া গেলেও প্রথম তা জোড়ালোভাবে চোখে পড়ে রোমান সম্রাট জুলিয়াস সিজারের সময়কাল থেকে। সম্রাট সিজার স্বয়ং গোপন যোগাযোগের ক্ষেত্রে একধরনের ক্রিপ্টোগ্রাফিক পদ্ধতি ব্যবহার করতেন, যা ‘সিজার সাইফার’ নামে পরিচিত। এই পদ্ধতি অনুসারে একটি লেখ্য ভাষার প্রত্যেকটি বর্ণকে তাদের একটি নির্দিষ্ট সংখ্যক পরবর্তী বর্ণ দ্বারা পাল্টে লেখা হতো।যেমন- ইংরেজি ভাষার KING শব্দটিকে সিজার সাইফার অনুসারে এনক্রিপ্ট করলে হয় NLQJ। লক্ষ্য করলে দেখা যাবে, এখানে KING এর প্রথম বর্ণ K-কে তিন ধাপ পরবর্তী বর্ণ N দ্বারা পরিবর্তন করে লেখা হয়েছে। ঠিক তেমনি I-কে তিন ধাপ পরবর্তী বর্ণ L দ্বারা পরিবর্তন করা হয়েছে এবং এভাবে চলতেই থাকবে। এখানে এই তিন ধাপকে বলা যায় কী বা চাবি, যেটা জানা থাকলে এই পদ্ধতির সকল মেসেজই ডিক্রিপ্ট বা পাঠোদ্ধার করা যাবে।
কী বা চাবিকে সংখ্যা হিসেবে না ধরে অন্য কোনো বর্ণ বা সংকেত হিসেবেও ধরা যেতে পারে। যেমন- KING শব্দটির K-কে সবসময় P ধরা হলো, I-কে অন্য কোনো বর্ণ বা বিশেষ চিহ্ন হিসেবে ধরা হলো ইচ্ছেমতো। এমন প্রত্যেকটি (ইংরেজি ভাষার ক্ষেত্রে ২৬টি) আলাদা আলাদা বর্ণের জন্যে অন্য কোনো আলাদা বর্ণ বা সংখ্যা বা চিহ্ন ব্যবহার করা হলো। এভাবে তৈরি করা সাইফার সিজার সাইফারের তুলনায় তুলনামূলক জটিল হবে। সিজার সাইফারের দিকে তাকালে হয়তো আপাতদৃষ্টিতে কিছুই বোঝা যাবে না, তবে একটু মাথা খাটালেই জিনিসটা ধরে ফেলা যায়। কিন্তু যদি আপনি দ্বিতীয় নিয়মটি অবলম্বন করেন, তাহলে আপনি কোন বর্ণটি লেখার জন্যে কোন বর্ণ বা চিহ্ন ব্যবহার করেছেন, তা শুধু আপনি এবং যাকে আপনি বার্তাটি পাঠাচ্ছেন, সে জানবে (যদি আপনি তাকে আগে থেকে জানিয়ে রাখেন)। তবে এ ধরনের সাইফার টেক্সটও যে একেবারে দুর্ভেদ্য তা নয়। পরিসংখ্যান, বর্ণগুলোর পারস্পারিক সম্পর্ক এবং গণিতের কিছু নিয়ম অবলম্বন করে এ ধরনের সাইফারের কী বা সূত্র অনুধাবন করা যায়।
যেমন- প্রথমেই লক্ষ্য করতে হবে যে সাইফার টেক্সটে কোন বর্ণ বা সংখ্যা বা চিহ্নটি সবচেয়ে বেশি পরিমাণে রয়েছে। আমরা জানি, ইংরেজি ভাষার শব্দসমূহে ‘ভাওয়েল’ বর্ণগুলো সবচেয়ে বেশি পরিমাণে ব্যবহৃত হয়, যা অধিকাংশ সময় শব্দের মাঝখানে বসে। ভাওয়েল বর্ণগুলোর কোনটি কত শতাংশ ব্যবহৃত হয়, সেটি বের করে সাইফার টেক্সটের সাথে তুলনা করলে আস্তে আস্তে সাইফার কী বা সূত্রটি স্পষ্ট হতে থাকবে।
এনিগমা কোডের আদ্যোপান্ত
ইংরেজি শব্দ ‘এনিগমা’র অর্থ হচ্ছে যা কিছু বোধগম্য নয়। শব্দটি প্রাচীন গ্রিক শব্দ ‘এইনস’ (Ainos: গল্প, প্রবাদবাক্য) থেকে বিবর্তিত হয়ে ইংরেজি ভাষায় স্থান পেয়েছে। একটি ভুল ধারণা প্রচলিত আছে যে, দ্বিতীয় বিশ্বযুদ্ধে জার্মানদের ব্যবহৃত সাংকেতিক ভাষাকেই এনিগমা কোড বলে। আসলে গোপন যোগাযোগের জন্যে বোধগম্য জার্মান ভাষাকে সাংকেতিক ভাষায় রূপান্তরিত করতে জার্মানরা একটি স্বয়ংক্রিয় ইলেক্ট্রিক যন্ত্র ব্যবহার করেছিলো, যার নাম ছিলো এনিগমা মেশিন। এই মেশিন দ্বারা তৈরি সকল সাইফার টেক্সটকেই এনিগমা কোড বলা হতো।
আরেকটি প্রচলিত ভুল ধারণা হচ্ছে, নিজেদের যোগাযোগকে গোপন ও সুরক্ষিত রাখতে দ্বিতীয় বিশ্বযুদ্ধের সময় জার্মানরা এই মেশিন উদ্ভাবন করে। মূলত,এনিগমা মেশিনের সূচনা হয়েছিলো আরো আগে।
তো, প্রথমেই এনিগমা মেশিনের কলকব্জা সম্বন্ধে খানিকটা ধারণা দেয়া যাক। এনিগমা মেশিন দেখতে অনেকটা পুরনো টাইপরাইটারের মতো। এর প্রধান অংশগুলো হলো কী বোর্ড, ল্যাম্পবোর্ড, প্লাগবোর্ড এবং সবচেয়ে গুরুত্বপূর্ণ অংশ রোটর।
এবার আসি এই মেশিন কীভাবে কাজ করে সেই বিষয়ে। কী-বোর্ডে যখন একটি বর্ণ টাইপ করা হয়, তখন ল্যাম্পবোর্ডে সাজিয়ে রাখা বর্ণমালার মধ্যে যেকোনো একটি বর্ণে লাইট জ্বলে ওঠে। অর্থাৎ, ল্যাম্পবোর্ডে লাইট জ্বলে ওঠা বর্ণটিই কী-বোর্ডে টাইপ করা বর্ণের এনক্রিপ্টেড বা সাংকেতিক রূপ। কী-বোর্ডে কোন বর্ণটি চাপলে ল্যাম্পবোর্ডের কোন বর্ণটিতে লাইট জ্বলে উঠবে, সেটা নির্ধারণ করা হয় প্লাগবোর্ডে বর্ণগুলোর মধ্যে সংযোগ স্থাপন করে এবং এটা নিজ ইচ্ছেমতোই করা যায়।
উদাহরণস্বরূপ, ধরুন GOOGLE শব্দটি এনিগমা মেশিনে আপনি এনক্রিপ্ট করতে চাচ্ছেন। এজন্য কী-বোর্ডে যখনই আপনি G চাপলেন, দেখলেন যে ল্যাম্পবোর্ডের N বর্ণটিতে লাইট জ্বলে উঠলো। তার মানে G এর সাংকেতিক রূপ হলো N। প্লাগবোর্ডে G এর সাথে N এর সংযোগ স্থাপন করা আছে বলেই এমনটা হয়েছে। আপনি চাইলেই এই সংযোগ পাল্টাতে পারবেন। তবে GOOGLE শব্দটির পরবর্তী G লেখার জন্যে আপনি যখন আবার G চাপবেন, তখন কিন্তু আর আগের মতো N বর্ণটিতে লাইট জ্বলে উঠবে না। অর্থাৎ, G বর্ণের সাংকেতিক রূপ আর N হবে না, হবে G ও N ব্যতিত ইংরেজি বর্ণমালার বাকি ২৪টি বর্ণের যেকোনো একটি!
সিজার সাইফার নিয়ে আলোচনা করার সময় আমরা দেখেছিলাম যে, আপনি যদি K বর্ণটি লেখার জন্য তার তিনধাপ পরবর্তী বর্ণ N ব্যবহার করেন, তাহলে আপনি যখনই K লিখবেন, আপনাকে অবশ্যই N ব্যবহার করতে হবে। কিংবা K লেখার জন্যে আপনি যদি নিজ ইচ্ছেমতো যেকোনো একটি বর্ণ বা সংকেত ব্যবহার করেন, তাহলে প্রত্যেকবার K লেখার জন্যে আপনাকে ঐ বর্ণ বা সংকেতটিই ব্যবহার করতে হবে। আর সেই নির্ধারিত বর্ণ বা সংকেত আপনি শুধুমাত্র K লেখার ক্ষেত্রেই ব্যবহার করতে পারবেন।
কিন্তু এনিগমা মেশিন এ ধরনের কোনো নির্দিষ্ট সূত্র বা নিয়ম মেনে চলে না। GOOGLE শব্দে দুটো G এবং দুটো O আছে। প্রথম G এর এনক্রিপ্টেড রূপ যদি N হয়, তবে দ্বিতীয় G এর এনক্রিপ্টেড রূপ কখনোই N হবে না। আবার প্রথম O এর এনক্রিপ্টেড রূপ যা হবে, দ্বিতীয় O এর এনক্রিপ্টেড রূপ তা হবে না। এনিগমা মেশিনে প্রত্যেকটা G এবং O পৃ্থকভাবে পৃথক বর্ণ হিসেবে এনক্রিপ্টেড হবে। বাকি দুটি বর্ণ L ও E কেও আপনি পরবর্তীতে আর প্রথমবারের মতো পাবেন না।
এমনটা কেন হয়? এমনটা হয় এনিগমা মেশিনে যুক্ত থাকা ‘রোটর’ নামক একপ্রকার ডিভাইসের কারণে। এই ডিভাইসটি আসলে আর কিছু নয়, একধরনের ধাতব গোল চাকতি। প্রত্যেকবার কী-বোর্ডে কোনো একটি বর্ণ টাইপ করার পর রোটর বা চাকতিটি একধাপ ঘুরে যায় এবং কী-বোর্ডের সাথে ল্যাম্পবোর্ডের বর্ণগুলোর সংযোগ পাল্টে দেয়। ধরুন, প্লাগবোর্ডে A বর্ণটির সাথে L বর্ণটির সংযোগ স্থাপন করা আছে। তাহলে প্রথমবার A চাপার পর কী-বোর্ডে L বর্ণটি জ্বলে উঠবে। কিন্তু এই একটি টাইপের পরেই রোটর একধাপ ঘুরে যাবে এবং কী-বোর্ডের সকল বর্ণের সাথে ল্যাম্পবোর্ডের সকল বর্ণের যে পূর্বসংযোগ ছিলো, তা বদলে দেবে। কাজেই, A এর সাথে L এর সংযোগ আর থাকবে না, A তখন অন্য কোনো বর্ণের সাথে সংযোগ তৈরি করবে! ফলে পরবর্তীতে আপনি যখন আবার A চাপছেন, তখন সেটা অন্য কোন বর্ণ হিসেবে এনক্রিপ্ট হচ্ছে।
ইংরেজি বর্ণমালায় ২৬টি বর্ণ রয়েছে। ২৬টি বর্ণের জন্যে রোটরটি ২৬ ধাপ (বা ৩৬০ ডিগ্রী) ঘুরে ২৬ বার সেটিং পরিবর্তন করে আবার আগের অবস্থানে বা সেটিংসে ফিরে আসে। আপনি হয়তো ভাবছেন, রোটরটি সম্পূর্ণ একবার ঘোরার পর যখন পুনরায় আগের অবস্থানে ফিরে আসবে, তখন আবার A বর্ণটি চাপলে ল্যাম্পবোর্ডে আপনি L বর্ণটি পেয়ে যাবেন! তবে এমনটা কখনো হবে না। কারণ একটি এনিগমা মেশিনে সাধারণত তিনটি রোটর যুক্ত থাকে।প্রথম রোটরটি ২৬ ধাপ ঘুরে আবার আগের অবস্থানে ফিরে এলে দ্বিতীয় রোটরটি একধাপ ঘুরে যাবে। কাজেই প্রথম রোটরটি আবার আগের জায়গায় ফিরে এলেও দ্বিতীয় রোটরটি একধাপ ঘুরে যাওয়ায় আপনি প্রথমবারের সেটিংসটি আর ফিরে পাচ্ছেন না, যার ফলে A চাপলে আপনি আর L পাবেন না।
এখানে বলে রাখা ভালো, প্রথম রোটরটি ২৬ বার ঘুরলে দ্বিতীয় রোটরটি একবার করে ঘুরবে। একইভাবে দ্বিতীয় রোটরটি ২৬ ধাপ ঘোরার পর আবার আগের জায়গায় ফিরে এলে তৃতীয় রোটরটি একবার ঘুরবে এবং এভাবে চলতেই থাকবে। বারবার রোটর ঘোরার ফলে একেকবার একেক সেটিংস আসায় A বর্ণটি একেক সময় ইংরেজি বর্ণমালার একেক বর্ণ হিসেবে এনক্রিপ্টেড হতে থাকবে। আপনি ঘুণাক্ষরেও টের পাবেন না কোনটি A! সেজন্যই একসময় মনে করা হতো, প্রাপক ও প্রেরক ছাড়া অন্য কারো পক্ষে এনিগমা কোডের পাঠোদ্ধার করা অসম্ভব।
এখন প্রশ্ন হচ্ছে, এত জগাখিচুড়িওয়ালা একটি সাইফারকে প্রাপক কীভাবে ডিক্রিপ্ট করবে? উত্তর সহজ,আপনি যার কাছে মেসেজটি পাঠাতে চাচ্ছেন, তার কাছেও একটি এনিগমা মেশিন থাকতে হবে এবং আপনি লেখা শুরু করার সময় রোটর এবং প্লাগবোর্ডকে যেরকমভাবে বা যে সেটিংসে রেখেছিলেন, কোডের পাঠোদ্ধার করার সময় প্রাপককেও রোটর এবং প্লাগবোর্ড একইভাবে সেট করে নিতে হবে। তারপর প্রাপক সাইফার টেক্সটকে কী-বোর্ডে টাইপ করলে স্বয়ংক্রিয়ভাবেই মূল বার্তাটি ল্যাম্পবোর্ডে আসতে থাকবে।
এমনটা হয়ে থাকে এনিগমা মেশিনের প্রতিফলন বা রিফ্লেকশন সিস্টেম থাকার কারণে। রিফ্লেকশন সিস্টেম হচ্ছে, আপনি রোটর এবং প্লাগবোর্ডকে যে সেটিংসে রেখে প্রথমবার A বর্ণটি চেপে L বর্ণটি পেয়েছিলেন, একই সেটিংসে রেখে যদি প্রথমবার L বর্ণটি চাপেন, তাহলে এর উল্টোটা ঘটবে, অর্থাৎ আপনি A বর্ণটি ফিরে পাবেন। এভাবেই এনক্রিপ্ট করা পুরো বার্তাটাকে আপনি বোধগম্য ভাষায় ফিরিয়ে নিয়ে আসতে পারবেন।
এই আলোচনা থেকে বোঝা গেল যে, এনিগমা কোড অন্য যেকোনো ক্রিপ্টোগ্রাফি থেকে বেশ ভিন্ন এবং জটিল। অন্য কোনো ক্রিপ্টোগ্রাফিক কোড যেমন একটি নির্দিষ্ট কী বা সূত্র দিয়ে ডিক্রিপ্ট করা যায়, এনিগমা কোডকে তেমন কোনো সূত্র বা নিয়ম দিয়ে ডিক্রিপ্ট করা যাবে না। এজন্য এনিগমা মেশিনের একটি নির্দিষ্ট সেটিংস জানা থাকতে হবে। আচ্ছা, এনিগমা মেশিনে মোট কয় ধরনের সেটিংস থাকতে পারে? একটু গাণিতিক হিসাব কষে বিষয়টি বের করে ফেলা যায়।
তিন রোটরবিশিষ্ট একটি এনিগমা মেশিনে একটি রোটর মোট ২৬ ধরনের সেটিংস দিতে পারে। তাহলে, ৩টি রোটর সম্মিলিতভাবে মোট ২৬ X ২৬ X ২৬ বা ১৭৫৭৬ ধরনের সেটিংস দিতে পারে! অর্থাৎ,রোটরের সংখ্যা যত বাড়বে, মেশিনের সম্ভাব্য সেটিংসও তত বেশি হবে এবং সাইফারটিও তত বেশি জটিল হবে।
এবার আসি প্লাগবোর্ডের সেটিংস সংখ্যায়। প্লাগবোর্ডের ২৬টি বর্ণের পরস্পরের সাথে সংযোগ স্থাপন করা যায় ২৬ এর ফ্যাক্টরিয়াল সংখ্যক উপায়ে। অর্থাৎ ২৬! সংখ্যক উপায়ে। আর ২৬! হলো প্রায় ৪ X ১০^২৬ এর সমান!তাহলে, রোটর ও প্লাগবোর্ড মিলিয়ে মোট সম্ভাব্য সেটিংস সংখ্যা দাঁঁড়ায় প্রায় ৭ X ১০^৩০টি! এতগুলো সেটিংসের মধ্যে মাত্র একটি সেটিংস দিয়েই একটি এনিগমা কোড ডিক্রিপ্ট করা যাবে। এলাহি কান্ড বটে!
পরবর্তী পর্বে আমরা দেখব, কীভাবে মানুষের তৈরি এই অপূর্ব প্রযুক্তি দিয়ে একইসাথে অন্যায় এবং বিপ্লব সাধিত হয়েছিলো।