پیر، 12 اپریل، 2010

ROT13 رمز نگاری

ROT13 رمز نگاری کا ایک کمزور سا معیار ہے جس کا استعمال عام طور پر لطائف کو انکرپٹ کرنے کے لیے استعمال کیا جاتا ہے۔ اس میں ہوتا یہ ہے کہ لفظ کے ہر حرف کو اپنی جگہ سے 13 جگہ آگے کھسکا دیا جاتا ہے۔ یعنی A کی جگہ N لگا دیا جاتا ہے اور M کی جگہ Z۔ اگر کوئی حرف Z سے پہلے 13 حروف سے کم کے فاصلے پر ہو تو Z سے آگے دوبارہ A سے شروع کرتے ہیں۔ مثلاً T کی جگہ G۔

(ROT13 میں ROT مخفف ہے ROTATE کا)

یہ سب مجھے یوں معلوم ہوا کہ پائتھن پروگرامنگ لینگویج سیکھنے کے دوران مشق کے طور پر متن کو ROT13 میں انکوڈ اور ڈیکوڈ کرنے والا ایک پروگرام لکھنا تھا۔ چنانچہ دو چار پروگرام لکھے جو کہ مختلف طریقوں سے یہ کام کرتے ہیں۔ ان میں سے ایک اپنی تعریفیں کروانے کے لیے یہاں پیش کر رہا ہوں (حالانکہ کوئی بڑی چیز نہیں ہے لیکن کسی کو بتانا نہیں)۔ :D


یہ پروگرام کمانڈ لائن پر مبنی ہے چنانچہ اسے ٹرمینل ہی میں چلایا جائے گا۔ کچھ اس طرح سے۔

python rot13.py

چونکہ انگریزی کے حروفِ تہجی کی تعداد 26 ہے، لہٰذا ROT13 میں انکوڈ کیے ہوئے متن کو دوبارہ 13 حرف آگے کھسکانے پر وہی متن واپس حاصل ہوتا ہے۔ اس خصوصیت کی وجہ سے اس کا انکوڈر اور ڈیکوڈر الگ الگ بنانے کی ضرورت نہیں پڑی۔ ایک ہی سادہ پروگرام سے یہ دونوں کام ہو جاتے ہیں۔

اس پروگرام کو چلانے کے لیے آپ کو پائتھن کے "مترجم" یا انٹرپرٹر (interpreter) کی ضرورت پڑے گی جو لینکس میں تو عموماً پہلے ہی سے موجود ہوتا ہے۔ لیکن اگر نہ ہوا یا آپ ونڈوز یا میک استعمال کرتے ہیں تو اسے یہاں سے حاصل کیا جا سکتا ہے:


ROT13 میں انکرپٹ کی گئی کچھ مثالیں تو آپ کو انگریزی کے وکیپیڈیا پر مل جائیں گی۔


مزید کا اگر شوق ہو تو خود ہی ڈھونڈ لیں۔ بلکہ اگر چاہیں تو اپنے پیغامات کو بھی اس پروگرام کی مدد سے انکرپٹ کر کے دوستوں کو تنگ کریں۔ کوئی اضافی پیسے نہیں لگیں گے۔ :)

2 تبصرے:

  1. کاش کہ مجھے سمجھ آ جاتی اس تحریر میں کیا باتیں بتائی گئی ہیں
    :(

    جواب دیںحذف کریں
  2. سعد: وکی پیڈیا اور مشق والے روابط کو دیکھ کر بہ آسانی سمجھ آ جائے گی۔

    جواب دیںحذف کریں