समर्थक

सोमवार, 5 नवंबर 2012

क्रिप्टोग्राफी और स्टेगनोग्राफी


जब से मानव ने दूरियों पर सन्देशों का आदान प्रदान शुरू किया, तो इसके साथ ही प्रश्न उठा सन्देश की सुरक्षा का । इसमें कुछेक बातें ये भी हैं :
1. सन्देश गलत व्यक्तियों को न मिलें (जैसे कोइ सैन्य संदेश) - authentication
2. बीच राह में कोई सन्देश को रोक या पढ या समझ न पाए (जैसे कोई प्रेमपत्र)। - confidentiality
3. सन्देश लेखक के सन्देश लिखने के बाद कोई और उसे न तो बदल पाए, न ही काट छांट पाए (जैसे आपने किसी के लिए 100 रुपये का चेक भेज - उसे वह 1000 न बना पाए)। - message integrity
4. सन्देश भेजने वाला भी बाद में अपने लिखे से मुकर न पाए (जैसे किसी काम के लिए कोई वस्तु किसी ने किसी को देने का वादा किया, और अपना काम निकल जाने पर वह कहे कि , मैंने ऐसा कोई वादा नहीं किया था )। - non-repudiation

इन में से पहले दो काम स्टेग्नोग्राफी और क्रिप्टोग्राफी से होते हैं ।
-----------------------------------------------------------
क्रिप्टोग्राफी
इसमें सन्देश को किसी तरह के गोपनीय कोड से "एनक्रिप्ट" कर के भेजा जाता है । फिर उसे पढने की गोपनीय जानकारी हुए बिना दूसरा पक्ष उसे देख भी सके तो भी पढ़ नहीं सकता । इसमें दो मुख्य पद्धतियाँ हैं : secret key और public key ।

Secret key : इसमें भेजने वाले और पढने वाले दो ही लोग अपनी आपसी शेअर्ड चाबी  जानते हैं । पूरी दुनिया यह तो जानती है की एनक्रिप्शन कैसे होता है, किन्तु चाबी न होने से उसे पढ़ने के लिए ताला खोल नहीं सकती  ( प्रयास कर कर के खोल भी पाए - तो तब तक इतनी देर हो चुकी हो कि उससे कोई नुक्सान न कर पाए) । हर अलग मूल सन्देश (plaintext) को एक ही चाबी से या (एक ही सन्देश को अलग चाबी से ) एनक्रिप्ट करने पर अलग अलग सन्देश बनते हैं - जिन्हें ciphertext कहा जाता है । उसे पढ़ वही सकता है जो चाबी जानता हो  । हम सब  ने ही शायद बचपन के खेलों आदि में ऐसी कूटभाषा प्रयुक्त की होगी । जासूसी में , सेना में, और प्रेमपत्रों में यह सब खूब प्रयोग होता है ।

हिटलर साइफर बड़ा प्रसिद्ध उदाहरण है ।
इस तकनीक का एक उदाहरण :
Message : my name is shilpa
Technique : substitution
Key : gap = +2

Original        : a b c d e f g h  j k  l m n o p q r s t u  v w x y z 1 2 3 4 5 6 7 8 9
Substituted   : c d e f  g h  i j k l m n o p q r s  t u v w x y z  0 1 2 3 4 5 6 7 8 9 a b

तो माय नाम इस शिल्पा का उत्तर बना :
    my name is shilpa
= o0 pcog ku ujknrc

यही सन्देश " my name is shilpa" एक दूसरी "की" से एनक्रिप्ट करने पर सन्देश बनेगा :
o|$sgtm)s~, vx|s

इस तरह हर अलग की से एक ही सन्देश के अलग अलग रूप बनेंगे, जिन्हें तोड़ कर मूल सन्देश पाने के लिए की जानना आवश्यक है । हर प्रेषक हर एक मित्र के साथ अलग अलग की इस्तेमाल कर सकता है, जो एक दुसरे की की नहीं जानते तो वे सिर्फ अपने सन्देश पढ़ सकते हैं ।

इसे तोडना बड़ा आसान है : क्योंकि सारी दुनिया जानती है कि substitution हुआ है , तो वे एक एक कर के सब चाबियां try कर सकते हैं । लेकिन चाबी की लम्बाई इतनी अधिक हो कि  trials में इतना समय लग जाए कि वह सन्देश अपना महत्व खो दे - तो यह तकनीक सफल होगी । इसी तरह की और भी कई अल्गोरिदम हैं । जितनी बड़ी चाबी हो, उतना मजबूत ताला होता है । साधारण पत्रों के लिए अलग तरह की सुरक्षा, बैंक आदि के लिए अलग, और सेना के लिया और अधिक कड़े सुरक्षा इंतज़ाम (longer keys ) होते हैं ।
---------------------------------------------------------------

स्टेगनोग्राफी :
यहाँ सन्देश को छुपा कर भेजा जाता है । जैसे व्यक्ति x , किसी और व्यक्ति y  को एक चित्र भेजे और उसमे छुपा कर एक सन्देश भी । अब दुनिया अक्सर यह जान ही नहीं पाती की इस चित्र / गीत / विडिओ आदि में कोई छुपा सन्देश मौजूद भी है । जान भी जाए, तो चित्र में इतने अधिक 1 और 0 के सेट्स हैं, की उसमे से सन्देश खोज निकालना करीब करीब असंभव सा है ।
------------------------------


पहला चित्र :

------------------------------
सन्देश : my name is shilpa
सन्देश छुपा कर बना चित्र : 



अब देखने में दोनों चित्रों में कोई फर्क नहीं है, किन्तु दुसरे चित्र में यह मेसेज छुपी है - जो कोई अनजान व्यक्ति जान भी न सकेगा, खोज पाना तो खैर बहुत दूर की बात है :) - ढूँढने की कोशिश न कीजियेगा , समय व्यर्थ होगा, क्योंकि इसे आँख से देख कर तो नहीं ही खोजा जा सकता है ।

यह स्टेग्नोग्राफी कई रूपों में प्रयुक्त होती रही है । जैसे नीम्बू के रस से लिखना, जो सूखे कागज़ पर न दिखे, किन्तु ख़ास माध्यम में दिखे । इसी तरह से युद्ध के समय सर मुंडा कर उस पर सन्देश टैटू कर दिए जाते थे, जो बाद में बाल उग आने से छुप जाते थे । एक और तरीका था - साधारण लैटर टाइप किया जाए, औरुसका चित्र लिया जाए । फिर हर "i" के ऊपर का dot  हटा कर उसकी जगह जो डॉक्यूमेंट भेजना हो, उसका चित्र माइक्रो डॉट बना कर चिपका दिया जाए । सन्देश पाने वाली पार्टी इस "i " को फिर से बड़ा कर ले, और वह डॉक्यूमेंट पहुँच जाए । 

फिलहाल तो रिसर्च के सिलसिले में इससे सम्बंधित कुछ काम कर रही थी - सोचा शेयर किया जाए आप सब के साथ :)
  

15 टिप्‍पणियां:

  1. पहली बार इतना कुछ इस विषयों पर..... शोधपरक पोस्ट

    उत्तर देंहटाएं
  2. ठीक उलझा दिया। आपके मना करने के बावजूद फोटो को जूम करके देख रहा हूं। कुछ तो हिंट दिया जाए कि फोटो में आपका नाम कैसे दिखता है... :)

    उत्तर देंहटाएं
  3. बहुत बढ़िया जानकारी इसी तरह डाटा सुरक्षित रखने के लिये हम लोग सॉफ़्टवेयर में डाटा को एन्क्रिप्ट करते हैं और जब वापिस से पढ़ना हो तो डिक्रिप्ट करते हैं, इससे फ़ायदा यह होता है कि अगर किसी के हाथ में गलती से भी डाटाबेस लग गया (यह स्थिती भी लगभग नामुमकिन जैसी होती है) तब भी वह कुछ नहीं कर सकता । क्योंकि इसमें बनायी गई एन्क्रिप्शन की सब अपने हिसाब से बनाते हैं, जिसमें हम कई फ़ॉर्मुलों का उपयोग करते हैं ।

    उत्तर देंहटाएं
  4. यह जिसके लिए होगा वह तो पढ़ लिया होगा -हम तो ठगे रह गए हैं . :-)
    पर इतने महत्वपूर्ण विषय जानकारी विस्मित कर रही है -आभार आपका !

    उत्तर देंहटाएं
  5. बहुत रोचक जानकारियों से भरी पोस्ट है, शेयर करने के लिये धन्यवाद।

    उत्तर देंहटाएं
  6. बेहद रोचक जानकारी ... आभार आपका !

    उत्तर देंहटाएं
  7. .
    .
    .
    रोचक...

    मजाक के लिये... पत्नियाँ मात्र आँखों से ही कुछ खास मौकों पर पतिदेव को साफ स्पष्ट संदेश दे देती हैं, कौन सी भाषा में ?... भेजने व पाने वाले की क्षमतायें व आपस की समझ-ट्यूनिंग-संग बाँटे अनुभव कूट संदेशों को किसी गैर के लिये absolutely non decipherable बना देते हैं, इसलिये आजकल कूट संदेशों को पढ़ पाना मुश्किल होता जा रहा है...

    ...

    उत्तर देंहटाएं
    उत्तर
    1. :) :) :)
      secret shared key :) - decipher karne ke liye key chaahiye, jo sirf un dono ke beech shared hoti hai :)

      ham aur hamare ye bhi khoob use karte hain is cipher ka :)

      हटाएं