इनिग्मा

आबा's picture
आबा in जनातलं, मनातलं
26 Sep 2016 - 12:07 am


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

.

उपोद्घात :

अॅलन ट्युरींग नावाच्या गणितज्ञाचे नाव विज्ञानाच्या जवळपास सर्व अभ्यासशाखांतील विद्यार्थ्याच्या ऐकण्यात आलेले असते. कॉम्पुटर सायन्स मधले त्याचे महाकाय योगदान आणि सर्व विद्याशाखांमध्ये वाढत चाललेले कॉम्पुटर प्रतिमानांचे (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)

प्लगबोर्ड (T)----> [चक्र] ---> (अंदाज P)

चक्र (P)------> [प्लगबोर्ड] --> आउट्पुट "Q"

 

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

 

आजकालच्या सुपर कॉम्पुटर्सच्या जमान्यात बॉम्ब मशीनला लागणारा अर्धा तास हा वेळ खूप जास्त वाटू शकेल. परंतु साध्या ट्रान्सिस्टरचा आकारही मोठ्या बल्ब एवढा होता त्या काळात कॉम्पुटर सारखेच यंत्र तयार करून त्यावर एवढी महाप्रचंड आकडेमोड करून इनिग्मा सारखा प्रचंड क्लिष्ट गडबडगुंडा सोडवण्याचा भीमपराक्रम खरेच स्तिमित करणारा आहे आणि त्याच वेळी आपले पाय जमिनीवर ठेवायला लावणारा आहे.

युदसंपल्यानंतर काही वर्षाच्या आतच ट्युरिंगला समलैंगिकतेच्या आरोपाखाली पकडण्यात आले. कारावास की इस्ट्रोजेनची इंजेक्शन्स असे पर्याय देण्यात आल्या नंतर, त्याने इंजेक्शन्सचा पर्याय निवडून आपले संशोधन सुरु ठेवले (इस्ट्रोजेन समलैंगिकता बरी(!) करते असा समज त्याकाळी होता). अनेक महीने सलग चाललेल्या या इंजेक्शन्सच्या रिअ‍ॅक्शन मुळे त्याच्या मानसिक अवस्थेवर नक्कीच परिणाम झाला असणार. अर्थात याही अवस्थेत त्याचे संशोधन आणि अध्यापन सुरुच होते परंतू त्याची शारिरिक अवस्था हळूहळू ढासळत चालली होती. १९५४ मध्ये त्याने आपल्या राहत्या घरी सायनाइड्चे सेवन करून आत्महत्या केली. अर्थात याला आत्महत्या म्हणायचं की व्यवस्थेनं केलेला खून म्हणायचं? हा प्रश्न आहेच. मृत्यूसमयी तो फक्त ४१ वर्षांचा होता. इतक्या कमी वयात अनेक विषयांत केलेले मुलभूत संशोधन पाहता, त्याला पूर्ण आयुश्य लाभले असते विज्ञानाच्या कीती क्षेत्रांवर त्याने ठसा
उमटवला असता हा विचार करण्यासारखा मुद्दा आहे.

विज्ञान

प्रतिक्रिया

लेख माहितीपूर्ण आहे आणि रोचक इतिहास आहे.

यशोधरा's picture

26 Sep 2016 - 8:52 am | यशोधरा

एकदम वेगळ्या विषयावरचा लेख, पुन्हा वाचायला हवा.

गणामास्तर's picture

26 Sep 2016 - 9:03 am | गणामास्तर

उत्तम व माहितीपूर्ण लेख.
'द इमिटेशन गेम' आवर्जून बघावा असा आहे, विषय समजायला सोपा होतो.

अप्रतिम लेख! प्रचंड माहितीपूर्ण आणि क्लिष्टता टाळून लिहिलेला. खूप आवडला.

खेडूत's picture

26 Sep 2016 - 12:07 pm | खेडूत

+१११
परवा स्वीट टॉकर सर ..आणी आता हा लेख.
मिपावर असेच छान आणी नवनवे विषय येवोत.

टवाळ कार्टा's picture

26 Sep 2016 - 10:07 am | टवाळ कार्टा

बाब्बो, इंजिनिअरिंग करताना टुरिंग मशिन्स असणारा विषय भयंकर आवडलेला त्यामागे इतकी जबराट गोष्ट असेल माहीत नव्हते

मितान's picture

26 Sep 2016 - 10:41 am | मितान

चक्क समजला की लेख मला !
रोचक !!! छान !:)

डॉ सुहास म्हात्रे's picture

26 Sep 2016 - 11:07 am | डॉ सुहास म्हात्रे

रोचक लेख ! क्लिष्ट माहिती खूपच सोप्या रितीने समजावून दिली आहे !

लिहीत रहा. वाचायला नक्की आवडेल.

असंका's picture

26 Sep 2016 - 11:47 am | असंका

अप्रतिम लेख!!

हा विषय आपल्याला समजू शकतो असं वाटत नव्हतं आत्तापर्यंत...!!

आदूबाळ's picture

26 Sep 2016 - 11:47 am | आदूबाळ

एक नंबर! सायमन सिंगचं क्रिप्टोग्राफीबद्दलचं पुस्तक वाचलं होतं.

मिहिर's picture

26 Sep 2016 - 12:13 pm | मिहिर

लेख आवडला. एनिग्मा मशिनबद्दलचे नंबरफाईल ह्या यूट्यूब चॅनलवरचे , हे व्हिडिओ सुंदर आहेत.

हा माझा आवडता युट्यूब चॅनल आहे. थॅंक्यू

डोक्याच्या पार वरुन गेले आहे.
आपण लिहा. शुभेच्छा.
(मला वाटलेले इनिग्मा आल्बम विषयी काही असेल. निराशा झाली)

जव्हेरगंज's picture

26 Sep 2016 - 4:45 pm | जव्हेरगंज

वाह! सुंदर लेख!

अजून अशाच अचाट विषयांवरचे लेख येऊ द्या...

मोदक's picture

2 Oct 2016 - 1:07 pm | मोदक

+१११

मुक्त विहारि's picture

26 Sep 2016 - 5:01 pm | मुक्त विहारि

धन्यवाद...

आनंदयात्री's picture

26 Sep 2016 - 11:27 pm | आनंदयात्री

जबरदस्त झालाय लेख. मागे दुसऱ्या महायुद्धाला कलाटणी देणाऱ्या घटनांबद्दलची एक डॉक्युमेंटरी सिरीज पहिली होती, त्यातही डेटा एन्क्रिपशनच्या पद्धतींचा विकास नंतर या घटेनमुळे कसा झाला, वैगेरे माहितीतही होती.

अमितदादा's picture

26 Sep 2016 - 11:57 pm | अमितदादा

अप्रतिम लेख.

मराठमोळा's picture

27 Sep 2016 - 8:10 am | मराठमोळा

रोचक लेख आवडला. नेटफ्लिक्सच्या दुसर्‍या महायुद्धाच्या डॉक्युमेंट्रीत थोडीफार झलक आहे या प्रकाराची.

शलभ's picture

27 Sep 2016 - 2:51 pm | शलभ

मस्त लेख.

बोका-ए-आझम's picture

27 Sep 2016 - 2:57 pm | बोका-ए-आझम

सुंदर लेख. वन टाईम पॅड्स म्हणजे हीच पद्धत की काही वेगळं आहे?

आबा's picture

27 Sep 2016 - 5:33 pm | आबा

"वन टाईम पॅड्स मेथड" ज्याला म्हणले जाते, ती पद्धत खालील प्रमाणे आहे;
ज्याला संदेश पाठवायचा आहे आणि ज्याच्याकडे संदेश पाठवायचा आहे त्या दोघांकडे ही वन टाईम पॅड असेल. त्या पॅड वर "रँडम" अक्षरे लिहिलेली असतील. संदेश पाठवणारा आणि संदेश स्विकारणारा या दोघांचीही पॅड्स सारखीच असतील.
आता, A,B,C,D... Z. मधल्या प्रत्येक अक्षराला A = ० ते Z = २५ असे क्रमांक दिले जातात.
समजा `अ' ला `ब' कडे "Launch" हा संदेश पाठवायचा आहे.
हा संदेश सहा (६) अक्षरी आहे त्यामुळे वन टाइम पॅड मधली पहिली सहा अक्षरे घेऊ. समजा ती अक्षरे आहेत XEFADK. याला म्हणायचं

"वन टाईम की"

(key). आता खालील कृती करू

संदेश = L A U N C H
आकड्यात रुपांतर करून = ११ ० २० १३ २ ७

वन टाईम की = X E F A D K
आकड्यात रुपांतर करून = २३ ४ ५ ० ३ १०

संदेश + वन टाईम की = ३४ ४ २५ १३ ५ १७
२६ सोबत मॉड घेऊ = ८ ४ २५ १३ ५ १७
अक्षरात रुपांतर करून = I E Z N F R

२६ सोबत मॉड घेणे म्हणजे, २६ ने भागून उरलेली बाकी लिहीणे. समजा ज्याच्या सोबत मॉड घ्यायचा ती संख्या ऋण असेल तर (२६- ती संख्या) याला २६ ने भागून बाकी लिहायची. मॉड्युलर अरिथमॅटिक बद्दल इथे जास्त माहिती मिळेल

हे झाले संदेशाचे संकेतीक लिपी मध्ये रुपांतर. आता हा ला IEZNFR हा संदेश पाठवेल. ब ला याचं मूळ संदेशात रूपांतर करावं लागेल. त्या साठी वरील कृती पुन्हा करायची, फक्त सांकेतीक संदेश आणि की ची बेरिज करण्या ऐवजी वजाबाकी करायची (सांकेतीक संदेश - की). बाकी सर्व कृती सेम. असं केलं की परत Launch अशी अक्शरे मिळतील. त्यामुळे शत्रूच्या हाती संदेश पडला तरी त्यात IEZNFR अशी अक्षरे असतील जी वन टाइम की शिवाय निरर्थक आहेत.

यात लक्षात घेण्यासारख्या गोष्टी अश्या की, जोपर्यंत एक "वन टाइम पॅड" एकदाच वापरले जाईल आणि त्यात लिहिलेली अक्षरे पूर्णतः रँडम असतील. तोपर्यंत वन टाईम पॅड भेदण्यास खूप अवघड असेल. परंतू वन टाइम कीज मध्ये एखादा पॅटर्न असेल तर हे भेदणे एकदम सोपे होउन जाते. की पॅड्स तयार करताना त्यात एखादा पॅटर्न आला आहे का हे शोधणे खूपच अवघड असते. आणि यावरच सांकेतीक संदेशाची सुरक्षीतता अवलंबून असते.

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

पाटीलभाऊ's picture

27 Sep 2016 - 3:00 pm | पाटीलभाऊ

सुंदर लेख...किती ते किचकट तंत्रज्ञान...!

पुजारी's picture

27 Sep 2016 - 3:26 pm | पुजारी

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

सिरुसेरि's picture

27 Sep 2016 - 3:28 pm | सिरुसेरि

अत्यंत माहितीपुर्ण लेख . Valkyreमध्ये हेच यंत्र दाखवले असावे .

मदनबाण's picture

27 Sep 2016 - 3:49 pm | मदनबाण

लेखन आवडले !

मदनबाण.....
आजची स्वाक्षरी :- KALI (electron accelerator)

मन१'s picture

27 Sep 2016 - 4:19 pm | मन१

ट्युरिंग
---/\---
.
.
दुसर्‍या महायुद्धातल्या अजून एका गैरसैनिकी , पण युद्धावर परिणाम करणार्‍या पात्राबद्दल --
http://www.misalpav.com/node/25241
http://www.misalpav.com/node/25242

आबा's picture

27 Sep 2016 - 5:35 pm | आबा

खूप आवडले. थँक्स

चैतू's picture

27 Sep 2016 - 4:28 pm | चैतू

लेख वाचुन 'द ईमिटेशन गेम' बघितला. लेखात सोप्या पद्धतीने समजावून सांगितल्याने डोक्यावरुन गेला नाही.

राजाभाउ's picture

27 Sep 2016 - 6:02 pm | राजाभाउ

मस्त. क्लीष्ट माहिती अतीशय सोपी करुन सांगण्याची हातोटी विलक्षण आहे.

अतिशय माहितीपूर्ण लेख. इस्ट्रोजेनची इंजेक्शने? काय भयानक शिक्षा आहे! :(

मारवा's picture

30 Sep 2016 - 12:35 pm | मारवा

1

अ‍ॅलन ट्युरींग वर मागच्या महीन्यातच एक डॉक्युमेंटरी बघितलेली.
डीकोडींग फारच इंटेलीजंट प्रकार आहे.
लव्ह लेटर लिहीण्यासाठी उपयुक्त प्रकार आहे. डॅन ब्राउन च्या लॉस्ट सिम्बॉल मध्ये हा एक घरगुती कोड आहे.
बघा वापरुन
1

2

1

लाँस्ट सिंबल वाचलेली नाही आता वाचेन, परंतू वरच्या कोड मध्ये तोच प्राब्लम आहे जो लेखातील ऊदाहरणामध्ये आहे. मूळ संदेशामध्ये 10 वेळा E आला, तर त्याचा 10 वेळा चौकोन होईल दूसरे काहीही होणार नाही. इनिग्मात असे होत नाही हाच तीचा वेगळेपणा आहे.

ज्याला इंटरेस्ट आहे त्यांच्यासाठी
http://simonsingh.net

बोका-ए-आझम's picture

2 Oct 2016 - 12:51 pm | बोका-ए-आझम

मला वाटतं The adventure of dancing figures. त्यात अशीच गुप्त संदेश उकलणं ही theme आहे. त्यात होम्स सर्वात जास्त वेळा येणारी आकृती म्हणजे e हे गृहीतक वापरतो.

ज्याक ऑफ ऑल's picture

2 Oct 2016 - 1:01 pm | ज्याक ऑफ ऑल

अत्यंत ऑसम विषय. तितकीच जबरा मांडणी आणि सचित्र पद्धत. वाह ... मजा आ गया !!
साधारणत: याच धरतीवर नवाहो ही जमात "code - talkers " म्हणून प्रसिद्ध होती. त्यावर ही वाचायला आवडेल.

यावर निकोलस केज अभिनित विंड-talkers हा एक छान सिनेमा पाहण्यात आला होता मागे. माझं जर चुकत नसेल तर या नवाहो लोकांनी त्या काळी "डीक्रिप्शन" करणाऱ्यांच्या नाकातोंडाचं पाणी पळवलं होतं.

कैलासवासी सोन्याबापु's picture

2 Oct 2016 - 1:52 pm | कैलासवासी सोन्याबापु

तु फा न, अ फा ट, ज ह ब ह री, काय जीव ओतलाय राव तुम्ही लिखाणात, फारच आवडले, विषयात जास्त गती नाही, पण तुम्ही ओतलेला लेखातला जीव अक्षरश: सन्मानालायक आहेच. :)

ज्याक ऑफ ऑल's picture

2 Oct 2016 - 1:55 pm | ज्याक ऑफ ऑल

हा शब्द आवडलाय राव ...

बाकी प्रतिक्रियेतील प्रत्येक अक्षरानक्षराशी सहहहमहतह ....

संचित's picture

4 Oct 2016 - 1:26 pm | संचित

अभ्यासपूर्ण लेख.