ازگر کا استعمال کرتے ہوئے ایفائن سائفر انکرپشن

Azgr Ka Ast Mal Krt Wy Ayfayn Sayfr Ankrpshn



مواد کا موضوع:

  1. تعارف
  2. شرط علم
  3. افائن سائفر مساوات
  4. ازگر کا استعمال کرتے ہوئے ایفائن سائفر انکرپشن
  5. تصور کا ثبوت
  6. نتیجہ
  7. اکثر پوچھے گئے سوالات (FAQs)

Affine سائفر ایک مخصوص قسم کے متبادل سائفر کی نمائندگی کرتا ہے، جو monoalphabetic ciphers کے زمرے میں آتا ہے۔ زیادہ مشہور سیزر سائفر کے برعکس، جو ہر حرف کو سادہ متن میں ایک مقررہ تین عدد پوزیشنوں سے تبدیل کرتا ہے، Affine سائفر دو کلیدوں (a اور b) کو استعمال کرتا ہے۔ چابیاں کا انتخاب خاص خیال کی ضرورت ہے.

شرط علم

آج کے موضوع کے بارے میں گہرائی سے سمجھنے کے لیے، آپ کو درج ذیل تصورات کو سمجھنا ہوگا۔







  • عظیم ترین مشترکہ تقسیم (GCD) اور کو-پرائم نمبر
  • ماڈیولر ریاضی

ان تصورات کی تفصیل سے پچھلے مضمون میں 'Affine Cipher Mathematical Approach' کے عنوان سے وضاحت کی گئی ہے۔



افائن سائفر مساوات

آئیے ایفائن سائفر انکرپشن کے فارمولے سے شروع کریں:



E(x) = (a.x + b) mod m
سابقہ) x حروف تہجی کے انڈیکس کی ایک خفیہ کاری کی نشاندہی کرتا ہے۔
a 'خصوصی' پہلی کلید کی ایک اشاریہ قیمت
ایکس سادہ خط کی ایک اشاریہ قیمت
ب دوسری کلید کی ایک اشاریہ قیمت (اضافی شفٹ ویلیو)
mod m حروف تہجی کی کل رقم کے ماڈیولو آپریشنز جو کہ 26 ہے۔


آلٹ امیج اور کیپشن : افائن سائفر مساوات





مثال کے طور پر، ہم 'BIMANDO' کے سادہ متن کو 7 اور 13 کیز کے ساتھ خفیہ کرنا چاہتے ہیں۔ درج ذیل ٹیبل انڈیکس کا استعمال کرتے ہوئے، ہم سب سے پہلے سادہ متن کو اس کے متعلقہ نمبر میں تبدیل کرتے ہیں:


آلٹ امیج اور کیپشن : انڈیکس نمبرنگ



'BIMANDO' سادہ متن کو ایک اشاریہ نمبر میں '1 8 12 0 13 3 14' میں تبدیل کیا جاتا ہے۔


آلٹ امیج اور کیپشن : سادہ متن کو انڈیکس نمبرنگ ویلیو میں تبدیل کریں۔

پھر، ہم مساوات کا حساب لگاتے ہیں، اور نتیجہ مندرجہ ذیل دکھایا گیا ہے:


آلٹ امیج اور کیپشن : ایفائن سائفرنگ

لہذا، 'BIMANDO' کے سادہ متن کو 7 اور 13 کیز کے ساتھ Affine سائفر کا استعمال کرتے ہوئے خفیہ کیا گیا ہے جس کا نتیجہ 'URTNAIH' ہے۔

ازگر کا استعمال کرتے ہوئے ایفائن سائفر انکرپشن

اب، ہم کہتے ہیں کہ ہم ایک خفیہ پیغام بھیجنا چاہتے ہیں جس میں پیراگراف کا ایک گروپ شامل ہو۔ دستی عمل کے ساتھ ایفائن سائفر انکرپشن کرنے میں بہت زیادہ محنت اور وقت درکار ہوتا ہے، اور حساب کتاب میں کمی کا بہت زیادہ امکان ہے، ٹھیک ہے؟ لہذا، ہمیں ایک ایسے پروگرام کی ضرورت ہے جو Affine Cipher خفیہ کاری کے عمل کو خودکار کرے۔ Python پروگرام بنانے کے لیے مرحلہ وار عمل درج ذیل ہے:

1. مطلوبہ لائبریریاں درآمد کریں۔
ہمارا پروگرام بالترتیب کمانڈ لائن آرگیومینٹ پارسنگ، سٹرنگ آپریشنز، اور آپریٹنگ سسٹم سے متعلق فعالیت کے لیے ضروری ماڈیولز جیسے argparse، string، اور os کو درآمد کرکے شروع ہوتا ہے۔

درآمد argparse
درآمد تار
درآمد تم

2. حروف تہجی کی تعریف کرنا
پھر، ہم حروف تہجی کو چھوٹے انگریزی حروف کی ایک تار کے طور پر بیان کرتے ہیں۔ یہ بعد میں خفیہ کاری کے عمل کے دوران حروف کی نقشہ سازی کے لیے استعمال ہوتا ہے۔

حروف تہجی = تار . ascii_lowercase

3. ایفائن سائفر انکرپشن فنکشن
یہ ہمارے پروگرام کا بنیادی کام ہے۔ یہ ان پٹ ٹیکسٹ اور دو کلیدیں لیتا ہے، 'a' اور 'b'، اور متن کی ساخت کو محفوظ رکھتے ہوئے، متن پر Affine سائفر انکرپشن کا اطلاق کرتا ہے۔

def affine_cipher_encryption ( متن , a , ب ) :
encrypted_text = ''
کے لیے چار میں متن:
اگر چار کم ( ) میں حروف تہجی:
اگر چار is upper ( ) :
encrypted_text + = chr ( ( ( ایک * ( لفظ ( چار کم ( ) ) - 97 ) + ب ) % 26 ) + 65 )
اور :
encrypted_text + = chr ( ( ( ایک * ( لفظ ( چار ) - 97 ) + ب ) % 26 ) + 97 )
اور :

4. مشروط مین چیکنگ
اس بلاک کوڈ میں، چیک کریں کہ آیا اسے مرکزی پروگرام کے طور پر عمل میں لایا جا رہا ہے۔ یہ اسکرپٹ اور اس کے دلائل کی وضاحت کے ساتھ دلیل تجزیہ کار کو ترتیب دیتا ہے۔ مطلوبہ دلیل صرف ٹیکسٹ فائل ان پٹ کا ایک راستہ ہے۔ جب ہم آؤٹ پٹ پاتھ کی وضاحت نہیں کرتے ہیں، تو ہم چاہتے ہیں کہ یہ ان پٹ فائل کے نام پر ڈیفالٹ سیٹ کرے جس کے ساتھ '_encrypted' شامل ہو۔ 'کیز' دلیل کے لیے، ہم چاہتے ہیں کہ اسے 'a,b' میں فارمیٹ کیا جائے۔ لیکن اگر ہم اسے سیٹ کرتے ہیں تو ڈیفالٹ 5 اور 8 ہے۔

اگر __نام__ == '__مرکزی__' :
تجزیہ کار = argparse. آرگومنٹ پارسر ( تفصیل = 'ٹیکسٹ فائل سے ایفائن سائفر انکرپشن' )
تجزیہ کار . add_argument ( 'input_file' , مدد = 'ان پٹ ٹیکسٹ فائل کا راستہ' )
تجزیہ کار . add_argument ( '-k' , '--چابیاں' , قسم = str , پہلے سے طے شدہ = '5.8' , مدد = 'Affine Cipher کے لیے فارمیٹ 'a,b' میں کلیدیں' )
args = تجزیہ کار . parse_args ( )

a , ب = نقشہ ( int , args چابیاں . تقسیم ( '،' ) )

کے ساتھ کھلا ( args input_file , 'ر' ) کے طور پر فائل :
متن = فائل . پڑھیں ( )

# فائل کا نام ان پٹ فائل پاتھ سے نکالیں۔
input_filename , توسیع = تم . راستہ . splitext ( args input_file )
ڈیفالٹ_آؤٹ پٹ_فائل = input_filename + '_انکرپٹڈ' + توسیع

# ایفائن سائفر کا استعمال کرتے ہوئے متن کو خفیہ کریں۔
encrypted_text = affine_cipher_encryption ( متن , a , ب )

# انکرپٹڈ ٹیکسٹ کو نئی فائل میں لکھیں۔
کے ساتھ کھلا ( ڈیفالٹ_آؤٹ پٹ_فائل , 'میں' ) کے طور پر فائل :
فائل . لکھنا ( encrypted_text )

آخر میں، ایک بار انکرپشن فنکشن مکمل ہو جانے کے بعد، ہمارا پروگرام آؤٹ پٹ کو اسی فائل ایکسٹینشن کے ساتھ محفوظ کرے گا جس طرح ان پٹ فائل ہے۔

اب، اسے 'affine_cipher.py' میں محفوظ کریں۔ اب، درج ذیل کمانڈ کو ٹائپ کرکے پروگرام کو چلائیں:

python affine_cipher py -h

اگر آپ کو کوئی غلطی نہیں ملتی ہے تو، آؤٹ پٹ مندرجہ ذیل تصویر کی طرح نظر آتا ہے:


آلٹ امیج اور کیپشن : Affine Cipher Python پروگرام

تصور کا ثبوت

ہمارے پاس درج ذیل 'message.txt' نام کے ساتھ ایک خفیہ پیغام ہے، اور ہم اسے اپنے اراکین کے لیے نشر کرنا چاہتے ہیں:


آلٹ امیج اور کیپشن : سادہ متن

لہذا، ہم اس پروگرام کو استعمال کرتے ہیں جو ہم نے بنایا تھا اس سے پہلے کہ ہم اس پیغام کو 3 اور 7 کیز کے ساتھ Affine سائفر کا استعمال کرتے ہوئے انکرپٹ کرنا چاہتے ہیں۔ کمانڈ مندرجہ ذیل ہے:

python affine_cipher py پیغام TXT -k 3 , 7


آلٹ امیج اور کیپشن : Affine Cipher Python پروگرام

پلک جھپکنے کی رفتار کے ساتھ، خفیہ کردہ پیغام کو کامیابی کے ساتھ بنایا جاتا ہے اور 'message_encrypted.txt' میں محفوظ کیا جاتا ہے۔ آئیے چیک کریں کہ پیغام کیسا لگتا ہے:


آلٹ امیج اور کیپشن : ایفائن سائفر ٹیکسٹ

جیسا کہ آپ دیکھ سکتے ہیں، پیغام بکھرا ہوا ہے۔ صرف ہمارے ممبران جو سائفر طریقہ اور اس کی چابیاں جانتے ہیں وہ پیغام کو ڈکرپٹ کر سکتے ہیں۔

خود کریں

اس پروگرام کے سورس کوڈ کو ہمارے GitHub صفحہ پر ڈاؤن لوڈ کریں۔ https://github.com/bimando/Affine-Cipher .

نتیجہ

آخر میں، Affine سائفر انکرپشن طریقہ، monoalphabetic متبادل سائفر کی ایک شکل، دو کلیدوں کے استعمال کے ذریعے بہتر سیکورٹی پیش کرتا ہے، کلیدی انتخاب کے دوران احتیاط سے غور کرنے کا مطالبہ کرتا ہے۔ افائن سائفر کی پیچیدگیوں کو سمجھنے کے لیے عظیم ترین مشترکہ تقسیم (GCD)، کو-پرائم نمبرز، اور ماڈیولر ریاضی جیسے تصورات کو سمجھنا ضروری ہے۔

افائن سائفر مساوات، E(x) = (a.x + b) mod m، خفیہ کاری کے لیے بنیادی ٹول کے طور پر کام کرتا ہے جہاں 'a' اور 'b' کلیدوں کی نمائندگی کرتے ہیں اور 'x' سادہ متن کے خط کے اشاریہ کی علامت ہے۔ بڑے پیمانے پر خفیہ کاری کے کاموں کو مؤثر طریقے سے ہموار کرنے کے لیے افائن سائفر انکرپشن کے عمل کے لیے ایک خودکار ازگر پروگرام کے نفاذ کا مظاہرہ کیا گیا۔ اس پروگرام میں کلیدی خصوصیات شامل ہیں جن میں لائبریریوں کی درآمد، حروف تہجی کی نقشہ سازی، ایک انکرپشن فنکشن، اور ان پٹ اور آؤٹ پٹ پاتھ کے لیے کمانڈ لائن آرگومنٹ پارسنگ شامل ہیں۔ خاص طور پر، اسکرپٹ کلیدوں اور آؤٹ پٹ فائل کے ناموں کے لیے ڈیفالٹ سیٹنگز کو قابل بناتا ہے تاکہ ہموار خفیہ کاری کے عمل کو آسان بنایا جا سکے۔

اکثر پوچھے گئے سوالات (FAQs)

Q1: ایفائن سائفر کیا ہے اور یہ سیزر سائفر سے کیسے مختلف ہے؟

A1: Affine cipher monoalphabetic متبادل سائفر کی ایک قسم ہے جو خفیہ کاری کے لیے دو کلیدیں، 'a' اور 'b' استعمال کرتی ہے۔ اس کے برعکس، سیزر سائفر سادہ متن میں ہر حرف کے لیے تین پوزیشنوں کی ایک مقررہ تبدیلی کا استعمال کرتا ہے۔

Q2. ایفائن سائفر کو سمجھنے کے لیے کیا شرائط ہیں؟

A2: افائن سائفر کو اچھی طرح سے سمجھنے کے لیے، عظیم ترین مشترکہ تقسیم (GCD)، کو-پرائم نمبرز، اور ماڈیولر ریاضی جیسے تصورات کی گرفت حاصل کرنا بہت ضروری ہے۔

Q3: میں Python میں Affine سائفر کا استعمال کرتے ہوئے پیغام کو کیسے انکرپٹ کر سکتا ہوں؟

A3: Affine سائفر انکرپشن کے عمل کو خودکار کرنے کے لیے، آپ Python پروگرام کو استعمال کر سکتے ہیں جس کا مضمون میں بیان کیا گیا ہے۔ پروگرام بڑے پیمانے پر ٹیکسٹ ان پٹ کو مؤثر طریقے سے خفیہ کرتا ہے، خفیہ کاری کے طریقہ کار کو آسان بناتا ہے۔ یہ مضمون لائبریریوں کو درآمد کرنے، حروف تہجی کی نقشہ سازی کی وضاحت، انکرپشن فنکشن بنانے، اور ان پٹ اور آؤٹ پٹ راستوں کے لیے کمانڈ لائن دلائل کو پارس کرنے کے لیے مرحلہ وار ہدایات فراہم کرتا ہے۔