Friday, September 23, 2016

इनिग्मा

अॅलन ट्युरिंग, छायाचित्र सौजन्य: विकिपीडिया

उपोद्घात :

अॅलन ट्युरींग नावाच्या गणितज्ञाचे नाव विज्ञानाच्या जवळपास सर्व अभ्यासशाखांतील विद्यार्थ्याच्या ऐकण्यात आलेले असते. कॉम्पुटर सायन्स मधले त्याचे महाकाय योगदान आणि सर्व विद्याशाखांमध्ये वाढत चाललेले कॉम्पुटर प्रतिमानांचे (simulations) महत्व पाहता यात आश्चर्य वाटण्यासारखे काही नाही. परंतु सुदैवाने म्हणा की दुर्दैवाने (खरं तर माझ्या मते दुर्दैवानेच) ट्युरींगचा बौद्धीक आवाका हे त्याच्या प्रसिद्धीचे एकमेव कारण नव्हते. वयाच्या सववीसाव्या वर्षी एका नव्या विज्ञानाचा पाया रचणाऱ्या या शास्त्रज्ञाच्या वाटेला समलैगिकत्वामुळे आलेली मानहानी हा राजकीय, धार्मिक आणि मुख्यतः मानवी कृतघ्नपणाचा नमुनाच म्हणायला हवा. "नमुना" यासाठी की राजकारणी आणि धर्म या जोडगोळी मुळे यातना भोगलेला ट्युरींग हा एकमेव प्रतिभावंत नव्हता, ती परंपरा अगदी सॉक्रेटीस पासून (२३०० वर्षांपासून) चालत आलेली आहे. आपण फक्त, एवढीच आशा करू शकतो की या दुर्दैवी प्रज्ञावंतांच्या मांदियाळीतला ट्युरींग हा शेवटचा तारा असावा. यातना वाट्याला येऊनही शेवटपर्यंत एकांतात प्रतिभासाधना करणारऱ्या ट्युरींगचे वैयक्तिक आयुष्य सुद्धा बायरनच्या एखाद्या कवितेचा विषय व्हावा एवढे अनेकपदरी होते. आणि त्याचे वैज्ञानिक कार्य समजावून घ्यायचे असेल तर त्या त्या विषयातल्या शास्त्रज्ञानीच लिहिणे योग्य आहे. २०१३ मध्ये (ट्युरिंगच्या मृत्यू नंतर ५० वर्षांनी) वेगवेगळ्या विद्यापीठांमध्ये कार्यरत असणाऱ्या वेगवेगळ्या विषयातल्या तब्बल सत्तर शास्त्रद्न्यांनी ट्युरींगच्या "निवडक" संशोधनाचा आढावा घेणारा हजारपानी ग्रंथ प्रकाशित केला, यावरून त्याचा विस्तार लक्षात येईल. ज्यांना विशुद्ध गणित, सैद्धांतिक संगणकशास्त्र, कृत्रिम बुद्धीमत्ता, सैद्धांतिक जीवशास्त्र किंवा संबंधीत विषयांची आवड आहे त्यांनी मूळ ग्रन्थ डोळ्याखालून घालायला हरकत नाही ("अॅलन ट्यूरींग - हिज वर्क अँड इम्पॅक्ट", ले. : कूपर आणि लिवेन, एल्सवियर प्रकाशन, २०१३). 

परंतु ट्युरिंगच्या संशोधनाचा आढावा हा या लेखाचा विषय नाही, तर त्याच्या उण्यापुऱ्या ४१ वर्षाच्या आयुष्यातील तिशीच्या आसपासच्या ३-४ वर्षात केलेले संशोधन  हा आहे. आधीचेच नाट्य कमी म्हणून की काय हा काळही नेमका दुसऱ्या महायुद्धाच्या वेळचा आहे. परिणामी या कथेकडे एखाद्या हॉलिवूड निर्मात्याचे लक्ष गेले नसते तरच नवल, २०१४ मध्ये ट्यूरींगच्या जीवनावर आधारित 'दी इमिटेशन गेम' हा चित्रपट प्रदर्शित झाला. 'बेनेडिक्त कम्बरबॅच'ने यात ट्यूरींगची  भूमिका केली होती. थोडक्यात सांगायची तर त्या कालखंडाची कथा पुढील प्रमाणे आहे: १९३८ च्या सुमारास पी.एच.डी. संपवून ट्युरिंग ब्रिटिश सिक्रेट सर्व्हिस मध्ये रुजू झाला.

"त्याचा पी.एच.डी. चा प्रबंध (सिस्टिम्स ऑफ लॉजिक बेस्ड ऑन ऑर्डिनल्स) ही खरं तर गणितातल्या 'ग्योडेलच्या अपूर्णतेच्या प्रमेयाचीच' संगणक शास्त्रीय आवृत्ती आहे. गणितातील काही विशिष्ठ प्रकारांतल्या समस्या सोडविण्यासाठी आज्ञावली (algotithms) तयार करता येतात हे त्यात दाखवून दिलेले होते. या प्रबंधातील तर्कशास्त्राचा भाग हा आधुनिक सैद्धांतिक संगणक शास्त्राचा महत्वाचा घटक मानला जातो. प्रिन्स्टन विद्यापीठाच्या विद्यापीठाच्या वेब अर्काइव्हज वर हा प्रबंध उपलब्ध आहे."

असो, तर ब्रिटिश सिक्रेट सर्व्हिस मध्ये ट्युरिंग काम करत असलेला GCCS विभाग जर्मन नाझी सैन्याचे रेडिओ संदेश पकडत असे. हे संदेश अर्थातच सांकेतिक लिपी मध्ये असत. त्या संदेशांचा अर्थ लावायचं काम ट्यूरींगच्या गटाकडे सोपविण्यात आलं. हे काम अत्यंत अवघड का होतं, आणि ते त्यांनी कसं केलं या विषयी हा लेख आहे. 

इनिग्मा मशीन्स

१९३८ च्या बरंच आधी पासून जर्मनी मध्ये "इनिग्मा" नावाची यंत्रे प्रसिद्ध होती. ही यंत्रे साध्या संदेशाचे सांकेतिक भाषेत रूपांतर करीत असत. आता सांकेतिक लिपी म्हणजे काय, तर मूळ संदेश घ्यायचा आणि त्यातील अक्षरांच्या जागी दुसरी अक्षरे टाकायची. एका अक्षराच्या जागी दुसरे कोणते अक्षर घालायचे याचा एक नियम ठरवून घेतला की झाली आपली सांकेतिक लिपी तयार (खरं तर, ही सांकेतिक लिपी तयार करण्याची फक्त एक पद्धत झाली!). उदाहरणार्थ हा नियम वापरून पाहू:
a च्या जागी b टाकायचा ...
b च्या जागी c टाकायचा ...
...
...
...
y च्या जागी z टाकायचा ... आणि
z च्या जागी पुन्हा a टाकायचा ...
हा नियम वापरला तर;
"Here is a normal English message" या संदेशाच रूपांतर  
"Ifsf jt b opsnbm Fohmjti nfttbhf" असं होईल.

परंतु हा अगदी सोपा नियम झाला, इंग्रजी भाषेची काही वैशिष्ठे माहीत असतील (उदाहरणार्थ: E हे अक्षर सर्वात जास्त वेळा येणे; नामाच्या सुरुवातीचे अक्षर कॅपिटल असणे; शब्दांचे वितरण इत्यादी) तर मूळ संदेश अगदी सहज ओळखता येईल. या पद्धतीचा मुख्य दोष असा की मूळ संदेशामधले एका अक्षराचे रूपांतर सांकेतिक लिपीमध्ये होताना त्याचे दुसरे कुठले तरी अक्षर बनते, परंतु बनणारे अक्षर एकच असते. म्हणजे मूळ संदेशामध्ये दहा वेळा a असेल तर त्याचे रूपांतर निश्चितपणे दहा b मध्येच होईल; "पाच वेळा b, तीन वेळा c आणि दोन वेळा f" मध्ये होणार नाही. हा एक मोठाच दोष आहे.

इनिग्मा यंत्राचे भाग, छायाचित्र सौजन्य: विकिपीडिया
इनिग्माची प्रक्रिया मात्र सर्व पातळ्यांवर वेगळी होती. इनिग्मामध्ये तयार केलेला सांकेतिक संदेश मूळ संदेशापेक्षा खूपच वेगळा असे. मूळ संदेशात एकच अक्षर दोनदा आलं तरीही त्याचं दोन वेगवेगळ्या सांकेतिक अक्षरात रूपांतर होऊ शकत असे. यावर कडी म्हणजे इनिग्मा मध्ये "स्पेस-बार" नव्हता. त्यामुळे शब्द वेगवेगळे ओळखता येत नसत आणि मूळ संदेश ओळखणं अजूनच किचकट होत असे. अश्या प्रकारचे संदेश भेदण्यासाठी गणितामध्ये काही पद्धती आहेत, परंतु १९३० च्या दशकात उपलब्ध असलेल्या पद्धतींचा वापर करून या संदेशांचा अर्थ लावणं कोणालाच शक्य झालं नव्हतं. ही यंत्रे जर्मनीमध्ये विक्रीसही उपलब्ध असंत. त्यामुळे बँकेचे आर्थीक व्यवहारासंबधीचे तपशील, व्यक्तिगत व्यवसायाचे ठराव वगैरे कोठे पाठवायचे असतील; तर ते आधी इनिग्मा मधून सांकेतिक भाषेत तयार करून घेऊन मग पाठवले जात असंत. अशी ही इनिग्मा यंत्रे युद्ध सुरु झाल्या नंतर जर्मन सैन्याने सुद्धा वापरायला सुरुवात केली; यात काही आश्चर्य नव्हत. विक्रीस उपलब्ध असलेलीच यंत्रे थोडी जास्त जटील करून जर्मन सेना वापरत असे. आधीच अर्थ लावायला अवघड असलेली यंत्रे थोडीफार सुधारणा करून पूर्णतः अभेद्य होतील असा जर्मनांचा समज झाला असणारच. त्यांचं एका अर्थाने बरोबरही होतं, परंतु त्यांच्या प्रक्रीयेमध्ये असलेला एक गंभीर दोष तोपर्यंत कोणाच्याही लक्षात आला नव्हता. याच दोषाचा फायदा घेऊन इनिग्माच्या तटबंदीला ट्युरिंगने गणिताच्या साहाय्याने खिंडार पाडले, आणि क्रिप्टोलॉजी या विद्याशाखेमध्ये एक नवीन पर्व सुरु झाले, ते कसे ते पुढे येईलच. परंतु ते समजून घेण्याआधी इनिग्मा यंत्राची रचना समजावून घेऊ. 

नाझी सैन्याच्या आर्मी, नेव्ही आणि एअरफोर्स मध्ये वापरल्या जाणाऱ्या इनिग्मा मशीन्स मध्ये थोडाफार फरक असला तरी प्रातिनिधिक रचना एकच होती. वरील चित्रामध्ये सर्वसाधारण इनिग्माची बाह्य रचना दाखविली आहे. त्याचे खालील वेगवेगळ्या भागांमध्ये विभाजन करता येईल;

१) इनपुट कीबोर्ड 

यात सव्वीस अक्षरे असतात, स्पेस-बार वगळून. मूळ संदेश यात टाईप केला जातो

२) प्लग बोर्ड 

हा मशीनचा समोरचा भाग, जुन्या टेलिफोन स्विचबोर्ड सारखा दिसतो. यावर १० प्लग लावलेले असतात. त्यातला प्रत्येक प्लग २-२ अक्षरांना जोडतो. त्यामुळे सव्वीस पैकी २० अक्षरांची अदलाबदली होते, ही २० अक्षरे कोणकोणती असतील हे अर्थातच मशीन वापरणाऱ्याच्या मनावर असते. त्यामुळे हा प्लग बोर्ड सांकेतिक लिपीची क्लिष्टता अब्जावधी पटींनी वाढवतो. कसा ते पाहू: 
आपल्या कडे १० प्लग आहेत आणि २६ अक्षरे आहेत, एक प्लग दोन अक्षरे जोडतो. त्यामुळे पहिल्या प्लगला २६ पर्यायांमधून २ पर्याय निवडायचे आहेत, याचे ३२५ मार्ग असतात. पुढच्या प्लगला उरलेल्या २४ मधून २ पर्याय निवडायचे आहेत, त्याचे असतात २७६ मार्ग. असं करत-करत दहाही प्लग चे जोडण्याचे मार्ग शोधून काढले कि एकूण पर्यायांची संख्या होते १,५०,७३८,२७४,९३७,२५० ! ही सोळा आकडी संख्या आहे. म्हणजे फक्त २६ अक्षरांचा प्लग बोर्ड जोडण्याचे एवढे प्रचंड पर्याय आहेत. यात पुढे कशी वाढ होते ते पाहू.


३) तीन चक्राचा (रोटर्सचा) संच 

हा संच मशीनच्या दर्शनी भागात असतो. यातील प्रत्येक चक्राच्या परिघावर a ते z अशी अव्वीस अक्षरे लिहिलेली असतात. इनपुट कीबोर्ड वर एक बटन दाबले की या संचातले सर्वात डावीकडचे चाक एक घर पुढे सरकते (म्हणजे आधी a असेल तर b ला जाते). २६ घरे पुढे सरकली की (म्हणजे २६ अक्षरे कीबोर्ड वर दाबली की) या चाकाचा १ फेरा पूर्ण होतो (अर्थातच). यानंतर पुढचे अक्षर कीबोर्ड वर दाबले असता डावीकडून दुसरे चाक एक घर पुढे सरकते. अश्या प्रकारे या दुसर्या चाकाचा एक फेरा पूर्ण झाला की तिसरे चाक एका घराने पुढे सरकते. थोडक्यात दुसरे चाक एकदा फिरण्यासाठी पहिल्या चाकाला २६ वेळा फिरावे लागते आणि तिसरे चाक एकदा फिरण्याचा साठी दुसऱ्या चाकाला २६ वेळा फिरावे लागते (म्हणजेच पहिल्या चाकाला २६ x २६ = ६७६ वेळा फिरावे लागते). 
हे थोडंसं घड्याळाच्या काटयांसारखंच आहे; मिनिट काट्याचा एक फेरा होण्यासाठी सेकंड काट्याला ६० फेरे मारावे लागतात. आणि तास काट्याचा एक फेरा होण्यासाठी मिनिटकाट्याला ६० फेरे आणि सेकंड काट्याला ६० x ६० = ३६०० फेरे मारावे लागतात.
या प्रत्येक चक्रांमध्ये क्लिष्ट वायरिंग असते, ती चक्राच्या प्रत्येक घरामध्ये वेगवेगळ्या प्रकारे जोडली जाते. एक चाक फक्त एक घर जरी पुढे सरकल तरी पूर्णतः वेगळी जोडणी होऊन जाते. अशी तीन चाके, आणि प्रत्येक चाकाला २६ घरे सरकण्याचा वाव वगैरे गोष्टी लक्षात घेतल्या तर ही वायरिंग २६ x २६ x २६ = १७,५७६ वेगवेळ्या प्राकारे होऊ शकते हे लक्षात येईल. शिवाय ही तीन चक्रे कोणत्या क्रमाने लावायची हे तर पूर्णतः वापरणार्याच्याच हातात! तीन चक्रे ६ वेगवेगळ्या क्रमाने लावता येणं शक्य असतं, त्यामुळे वायरिंगची १७ हजाराची संख्या एकदम एक लाखावर पोचते (१७,५७६ x ६ = १,०५,४५६).
याउपर ही अजून क्लिष्टता वाढवायची म्हणून जर्मनांनी आणखी डोके लढवून एक कल्पना काढली होती. सुरुवातीच्या काळात मिळणाऱ्या इनिग्मा सोबत तीनच चक्र मिळत असत. सैन्याच्या इनिग्मासोबत मात्र पाच चक्रे येत असतं. ५ पैकी कोणतीही ३ चक्रे कोणत्याही क्रमाने वापरता येत असल्याने सहाजिकच किचकटपणा (काठिण्य नव्हे) आणखी १० पटीने वाढत असे. म्हणजे असा,
पाच पैकी तीन चक्रे १० वेगवेगळ्या प्रकारे निवडता येतात ("अ, ब, क, ड, इ" या पाच अक्षरांच्या संचातून ३ अक्षरांचा संच निवडून बघा, १० वेगवेगळे संच निवडता येतील.). या तीन चक्राचे सहा क्रम लावता येतात आणि प्रत्येकी चाकाला २६ घरे असतात, म्हणजे एकूण वायरिंगची संख्या तब्बल  दहा लाखावर पोचते (१० x ६ x १७,५७६ = १,०५४,५६०).
याचा अर्थ असा; की एखादा संदेश इनिग्माला दिला की त्यामध्ये बदल होण्याचे दहा लाखावर मार्ग उपलब्ध असतात. आणि हे फक्त तीन चाकांमुळे, पुढच्या प्लग बोर्ड मुळे होणारे बदल यात विचारात घेतलेले नाहीत. हा प्लग बोर्ड जोडण्याचे वेगवेगळे पर्याय विचारात घेतले तर; उपलब्ध पर्यायांची संख्या होते (१,५०,७३८,२७४,९३७,२५०) x (१७,५७६) = १,५८,९६२,५५५,२१७,८२६,३६०,०००!!
ही संख्या २१ आकडी आहे. हिच्या महाप्रचंड पणाचा अंदाज येण्यासाठी ही तुलना पहा. आपल्या आकाशगंगेमध्ये असलेल्या सर्व तार्यांची संख्या फक्त १२ आकडी आहे... म्हणजे आपल्या आकाश गंगेसारख्याच १६० करोड आकाशगंगा घेतल्या तर त्यामधील ताऱ्यांची एकत्रीत संख्या कशीबशी इनिग्माच्या उपलबद्ध पर्यायांच्या आसपास पोचेल !!! 

४) आउटपुट

हा सव्वीस दिव्यांचा संच असतो, प्रत्येक दिव्यावर a ते z अशी नावे दिलेली असतात. चक्र आणि प्लग बोर्ड यांच्यामध्ये उलटापालट होऊन जे काही अक्षर शेवटी मिळेल, ते लिहिलेला दिवा पेटतो आणि आपल्याला सांकेतिक लिपी मधले अक्षर मिळते. 
  
वरचा भाग थोडा लांब झाला आहे, परंतु इनिग्माची सांकेतिक लिपी भेदणे किती अवघड आहे (खरं तर, "होते" असा भूतकाळ वापरायला हवा) याचा अंदाज यावा म्हणून तो लिहिलेला आहे. आता मशीनचे कार्य पाहू, ते तुलनेनं सोपं आहे.  प्रथम, आपल्याला पाठवायचा संदेश कीबोर्ड वर टाईप केला जातो.

१) कीबोर्डचे एक अक्षर दाबले (समजा a) की बॅटरीचा करंट प्लग बोर्ड कडे जातो

२) प्लग बोर्ड वर ते अक्षर दुसर्या एखाद्या अक्षराला जोडलेले असेल (समजा b ला) तर करंट त्या अक्षरातून (b मधून) चक्राकडे जातो, आणि समजा प्लग बोर्ड वर ते अक्षर कशालाही जोडलेले नसेल तर करंट a मधूनच चक्राकडे जातो.

३) तीन चक्रांच्या अंतर्गत वायरिंग नुसार कोणत्यातरी एका अक्षराकडे करंट जातो (समजा c) आणि शेवटच्या चक्राकडून पुन्हा प्लग बोर्ड वरील त्या अक्षराकडे (या उदाहरणात c कडे) करंट येतो. आणि पहिले चाक एक घर पुढे सरकते (आणि समजा त्याचा वेढा पूर्ण झालेला असेल तर त्याच्या पुढचे चाकही एक घर पुढे सरकते, तेच तिसऱ्या चाकालाही लागू). 

४) समजा प्लग बोर्ड वरचे ते अक्षर दुसर्या अक्षराला जोडलेले असेल (समजा d ला) तर करंट आउटपुट वरच्या त्या अक्षराकडे (म्हणजे इथे d कडे) जातो, अन्यथा मूळ अक्षराकडे (या उदाहरणात c कडे) जातो. 

५) आउटपुट वरचा संबंधित दिवा (c किंवा d) पेटतो आणि आपल्याला सांकेतिक अक्षर मिळते.  
 
इथे लक्षात घेण्यासारखी एक गोष्ट म्हणजे, प्रत्येक अक्षर दाबल्यानंतर चकरांची एक घराने हालचाल होते. म्हणजेच टाईप करायला सुरुवात करण्याआधी चाकांची जी रचना असेल त्यावर आणि प्लग बोर्डच्या केलेल्या रचनेवर येणारे उत्तर अवलंबून असेल. या रचनेला इनिशियल सेटिंग असे नाव आहे. पुढची पायरी म्हणजे हे आलेले उत्तर जर सारख्याच इनिशियल सेटिंग्स ठेऊन इनिग्मा वर पुन्हा टाईप केले की मूळ संदेश परत मिळतो. परंतु वरती लिहिल्याप्रमाणे इनिशियल सेटिंगचेच पर्याय प्रचंड (१,५८,९६२,५५५,२१७,८२६,३६०,०००) असल्याने, मूळ अक्षर सेटिंग्स माहीत असल्याशिवाय "ओळखणे" हे जवळपास अशक्य काम होते. एका बाजूने गणिताचे एखादे प्रमेय आत सारावे आणि दुसरीकडून एखादे आधुनिकोत्तर काव्य बाहेर पडावे असा हा मामला होता. या वेबसाईटवर इनिग्मा यंत्राचे प्रतिरूप आहे. आपल्याला हवी ती सेटिंग्स देऊन, आपल्या संदेशाचे सांकेतिक भाषेत रूपांतर करता येते. आणि ते रूपांतर होताना कोणती वायरिंग निवडली गेली ते पाहता येते. आलेला संदेशच जर परत इनपुट म्हणून दिला, तर मूळ संदेश परत मिळतो. इनिग्माची अंतर्गत रचना समजावून घेण्यासाठी याचा वापर करता येईल.  
 

ट्युरिंगची पद्धत:

जर्मन सेनेच्या मुख्यालयातून युद्ध आघाडीवर संदेश पाठविण्यासाठी या तंत्राचा वापर केला जात असे. दोस्त राष्ट्रांनी हे संदेश जरी पकडले तरी त्याचा काहीही उपयोग होत नसे. कारण मिळालेले संदेश ही रोमन अक्षरांची एक निरर्थक मालिकाच असायची. अर्थात ज्याला इनिग्माचे सेटीन्ग्स माहीत नाहीत त्याच्यासाठी ती निरर्थक, नाझी अधिकारी मात्र त्यातून अर्थ काढून त्यानुसार कार्यवाही सुद्धा करत असत. त्यासाठी जर्मनीच्या मुख्यालयातली आणि युद्धआघाडीवरची इनिग्मा मशीन्स एकाच सेंटिंग्स मध्ये चालविली जात असत. ही सेटीन्ग्स रोज पहाटे सहा वाजता बदलली जात असत. दररोज कोणते सेंटिंग वापरायचे हे लिहिलेला कागद प्रत्येक आघाड्यांवरील अधिकाऱ्यांकडे दर महिन्याला दिला जात असे. दोस्त राष्ट्रांना चुकून एखादा कागद सापडलाच तरीही तो फक्त महिनाभरासाठीच चालत असे, शिवाय आपली सेटिंग्स चोरीला गेली आहेत असा संशय जरी आला तरी नाझी अधिकारी सेटिंग्स बदलून टाकत असत. नाझी सेना एका मागून एक देश काबीज करत चालली होती आणि या सततच्या युद्धामुळे ब्रिटिश अर्थव्यवस्था मोडकळीला आली होती. अन्नधान्याचा भयानक तुटवडा पडला होता. अमेरिकेकडून इंग्लंडला येणाऱ्या अन्नधान्याच्या जहाजांना नाझी सैन्य बुडवून टाकत होते. आपल्या जहाजांवर कोठून हल्ला होणार आहे हे कळायला ब्रिटिशांना मार्ग नव्हता, कारण इनिग्माचे अगम्य संदेश! युद्ध हे नेहमीच अनेक पातळ्यांवर लढलं जातं, प्रत्यक्ष सैन्य, त्याला पुरविली जाणारी रसद आणि दारुगोळा, राजकीय आणि आंतरराष्ट्रीय डावपेच आणि गुप्तवार्ता विभागातले तंत्रज्ञ. यापैकी कोणाचा सहाभाग जास्त हे तत्कालीन परिस्थितीच ठरवत असते. इंग्लंडची तेंव्हाची आर्थिक हालाखी आणि आघाड्यांवरचे अपयश पाहता युद्ध जेवढे लांबेल तेवढे जास्तच नुकसानकारक ठरणारे होते. आणि असे आर्थिक खाईत लोटणारे युद्ध लढून जिंकण्यापेक्षा टाळलेलेच बरे. खरे पाहता कोणतेही युद्ध टाळलेलेच बरे, पण नाझी सैन्याच्या जगभर चाललेल्या विकृत कारवाया पाहता हा पर्याय दोस्त राष्ट्रांसाठी आत्मघातकीच ठरला असता. अश्या टेकीला आलेल्या परिस्थितीमध्ये ट्युरिंगने ब्रिटिश सिक्रेट सर्व्हिस मध्ये प्रवेश केला होता आणि त्याच्या मदतीला वेगवेगळ्या क्षेत्रातल्या हुशार शास्त्रज्ञांचं पथक होतं. 
 
इनिग्माचे संदेश मूळ रूपात आणण्याचे प्रयत्न ट्युरिंगच्याही बरेच आधीपासून (१९३२ पासून) सुरू होते. इनिग्माच्या चाकांमधील वायरिंग आपण पुन्हा तयार करू शकलो तर कदाचित आपल्याला संदेश ओळखता येईल अशी काही पोलिश गणितज्ञांची समजूत होती. एका अर्थाने ते बरोबरही होतं परंतु प्लग बोर्डची रचना ओळखण्याचा भाग तरीही शिल्लक राहात होता. चाकांची वायरिंग शोधण्याची पद्धत रेजेवस्की नावाच्या गणितज्ञाने तयारही केली होती. १९३२ मधले इनिग्मा मशिन्स समोरचा प्लगबोर्ड वापरात नसत, त्याकाळात ती पद्धत चालायची. परंतु जसा जर्मन सैन्याला संशय आला तसा त्यांनी इनिग्माला प्लगबोर्ड बसवला. फक्त या एका बदलामुळे त्याची क्लिष्टता लाखो अब्ज पटीने वाढली आणि रेजेवस्कीची पद्धत एका झटक्यात टाकाऊ बनली. परंतु इनिग्मा मशीनचे एक वैशिष्टय रेजेवस्कीचीच्या लक्षात आले होते ते म्हणजे एख्याद्या अक्षराचे रुपांतर त्याच अक्षरात कधीच होत नाही (म्हणजे a चा aच होत नाही). हे वाचायला विशेष काहीच वाटत नाही पण क्रिप्टोलॉजीच्या दृष्टीने हा एका खूप मोठा दोष आहे आणि याच दोषामुळे ट्युरिंग इनिग्माला भेदू शकला. 
 
ट्यूरींगच्या पुढचे आव्हान फक्त नवी पद्धत तयार करणे हे नव्हते तर टिकाऊ असलेली पद्धत तयार करण्याचे होते. मशीनच्या रचनेत थोडाफार बदल झाला तरीही ती पद्धत चालायला हवी होती. एका मागून एक सेटिंग्स वापरून पाहायची झाली असती, आणि सेकंदाला एक सेटिंग तपासले असते तरी सगळ्या सेटिंग्स तपासायला "५ वर १२ शून्य" एवढी वर्षे लागली असती (तुलनेसाठी; आपल्या पृथ्वीचे सध्याचे वयही यापेक्षा १००० पट कमी आहे, एवढेच काय सबंध विश्वाचे वयही यापेक्षा साधारण ४०० पट लहान आहे). असे अवाढव्य गणित समोर आल्यानंतर कोणीही हातपाय गाळेल, परंतु वैज्ञानिक पद्धतीचा पहिला धडा म्हणजे गुंतागुंतीच्या मोठ्या समस्येचे कमी गुंतागुंतीच्या अनेक समस्यांमध्ये रूपांतर करणे. एका पाठोपाठ एक समस्या सोडवत नेल्या की मोठी समस्याही सरतेशेवटी सुटते. याठिकाणी एक काळजी घेणे गरजेंचे आहे की तयार केलेल्या लहान समस्याही ठराविक वेळात सोडवता यायला हव्यात, खरं तर हेच वैज्ञानिकाचे कौशल्य आहे. नाहीतर एकामागून एक सेटिंग्स तपासण्यातली गत व्हायची. 
 
ट्यूरींगची पद्धत नेमकी याच पातळीवर वेगळी होती. त्याने सोपे तर्कशास्त्र वापरले; आतापर्यंत जे संदेश चुकूनमाकून किंवा सेटिंग्स कळाल्यामुळे ओळखता आलेले आहेत त्यामध्ये पहाटेचा संदेश कायमच "हवामानाच्या अंदाजाचा असायचा" (जर्मन मध्ये Der Wetterbericht) आणि प्रत्येक संदेशाच्या शेवट हिटलरचा जयजयकार असायचा. आता सकाळच्या संदेशामध्ये Der Wetterbericht किंवा हिटलर हे शब्द नेमके कोठे आहेत हे ओळखणं कौशल्याचं काम होत कारण स्पेसबार नसल्याने सगळे शब्द जोडून येत असत. येथे रेजेवस्कीने ओळखलेला इनिग्मा चा दोष कामाला आला;  आलेल्या संदेशामध्ये; Der Wetterbericht हा शब्द फक्त त्याच ठिकाणी असणं शक्य आहे, जेथे त्या शब्दातली कोणतीही अक्षरे नाहीत. ही चाळणी लावल्या नंतर ते ते शब्द कोठे आहेत ते कळणं शक्य झालं. उदा. खालील संदेश आपल्याला मिळाला आहे. 
मिळालेला संदेश    Q Z O R Q D H P D X Q B F D L R C T K C M 
ओळखलेला संदेश  D E R W E T T E R B E R I  C H T _  _  _  _  _  
शेवटच्या जागा रिकाम्या आहेत. आता मिळालेल्या संदेशामध्ये "Der Wetterbericht" हा शब्द फक्त त्याच ठिकाणी येणे शक्य आहे. कारण दुसऱ्या ठिकाणी काही अक्षरे सारखीच असतील जे रेजेवस्कीच्या म्हणण्यानुसार शक्य नाही. आता पुढचा टप्पा आहे सेटीन्ग्स ओळखण्याचा. त्यासाठीची ट्युरिंगची पद्धत थोडीशी लांबलचक पण करता येण्याजोगी होती. वर लिहिल्या प्रमाणे, इनिग्माची रचना अशी आहे की टाईप केलेले प्रत्येक अक्षर तीन टप्प्यांवर बदलते १) प्लग बोर्ड नंतर २) तीन चक्रांचा संच आणि पुन्हा ३) प्लग बोर्ड. वरच्या उदाहरणामध्ये D चा Q झाला हे आपण ओळखलेले आहे 
आता D चा Q होताना कोणते बदल झालेले असतील? काही अंदाज करून पाहू, उदा. 
 
इनपुट (D) --> प्लगबोर्ड (अंदाज T) --> चक्रे (अंदाज P) --> आउटपुट (Q)

आपला प्लगबोर्डचा अंदाज बरोबर असेल तर D-T जोडलेले असतील तर असे अनुमान येते की P-Q हे जोडलेलेच हवेत. यातलीच पुढची अक्षरे ओळखताना समजा P-Q या जोडी ऐवजी P ला T जोडला आहे असे अनुमान आले, तर आपले पहीले सर्व अंदाज चुकीचे होते असे सिद्ध होईल. तस्मात आपल्याला वेगळे अंदाज करावे लागतील, समजा पुढचा अंदाज D-T ऐवजी D-S असा करता येईल. असे सर्व (एकूण २५) अंदाज करून पाहिले की अश्या जोड्यांचे जुळणारे काही संच मिळतील. समजा २५ चे २५ अंदाज जुळले नाहीत की क्रांचा अंदाज बदलावा लागेल. ही सगळी आकडेमोड करून जुळणारे काही हजार सेटीन्ग्स मिळतील. हजार ही मोठी संख्या आहे, तरीही "१,५८,९६२,५५५,२१७,८२६,३६०,०००" पेक्षा ती खूप लहान आहे. तरीही हजार सेटिंग्स तपासण्यासाठी यंत्रच हवे जे विजेवर चालेल आणि ट्युरिंगची पद्धत वापरून योग्य ती सेटिंग्स देईल. इनिग्माच्या चक्रासारखीच छत्तीस चक्रे जोडून हे यंत्र १९३९ मध्ये तयार करण्यात आले. वरती दाखवलेली सर्व आकडेमोड करून हे यंत्र साधारण अर्ध्या तासात योग्य उत्तर देत असे. रेजेवस्कीच्या यंत्राच्या सन्मानार्थ या यंत्राला बॉम्ब मशीन असे नाव देण्यात आले.   
 
आजकालच्या सुपर कॉम्पुटर्सच्या जमान्यात बॉम्ब मशीनला लागणारा अर्धा तास हा वेळ खूप जास्त वाटू शकेल. परंतु साध्या ट्रान्सिस्टरचा आकारही मोठ्या बल्ब एवढा होता त्या काळात कॉम्पुटर सारखेच यंत्र तयार करून त्यावर एवढी महाप्रचंड आकडेमोड करून इनिग्मा सारखा प्रचंड क्लिष्ट गडबडगुंडा सोडवण्याचा भीमपराक्रम खरेच स्तिमित करणारा आहे, आणि त्याच वेळी आपले पाय जमिनीवर ठेवायला लावणारा आहे.

1 comment:

  1. अतीशय सुंंदर भाषा आहे. लेख माहितीपूर्ण आहे. आवडला!

    ReplyDelete