آموزش رمز سزار در رمزنگاری با پایتون

3 سال پیش
آموزش رمز سزار در رمزنگاری با پایتون

آموزش رمز سزار در رمزنگاری با پایتون

 

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش رمز سزار در رمزنگاری با پایتون خواهیم پرداخت.

پیشنهاد ویژه : پکیج آموزش پایتون

الگوریتم رمز سزار

الگوریتم رمز سزار دارای ویژگی های زیر است –

  • تکنیک رمز سزار روش ساده و آسان تکنیک رمزگذاری است.
  • این رمز ساده  است.
  • هر حرف از متن ساده با حرفی تغییر می کند که دارای تعدادی موقعیت ثابت با حروف الفبا است.

نمودار زیر نحوه اجرای الگوریتم رمز سزار را نشان می دهد –

Algorithm of Caesar Cipher
اجرای برنامه الگوریتم رمز سزار به شرح زیر است –

def encrypt(text,s):
result = ""
   # transverse the plain text
   for i in range(len(text)):
      char = text[i]
      # Encrypt uppercase characters in plain text
      
      if (char.isupper()):
         result += chr((ord(char) + s-65) % 26 + 65)
      # Encrypt lowercase characters in plain text
      else:
         result += chr((ord(char) + s - 97) % 26 + 97)
      return result
#check the above function
text = "CEASER CIPHER DEMO"
s = 4

print "Plain Text : " + text
print "Shift pattern : " + str(s)
print "Cipher: " + encrypt(text,s)

 

خروجی

می توانید رمز سزار را مشاهده کنید ، همان خروجی است که در تصویر زیر نشان داده شده است –

Caesar cipher

توضیح کد

  • برای هر کاراکتر در متن ساده داده شده ، بسته به روش رمزگذاری و رمزگشایی متن ، کاراکتر داده شده را طبق قانون تغییر دهید.
  • پس از دنبال کردن مراحل ، رشته جدیدی تولید می شود که به عنوان متن رمزگذاری شده ارجاع می شود.

 

هک الگوریتم رمز سزار

متن رمز را می توان با امکانات مختلف هک کرد. یکی از این احتمالات تکنیک Brute Force است که شامل آزمایش همه کلیدهای رمزگشایی ممکن است. این روش تلاش زیادی نمی خواهد و برای یک هکر نسبتاً ساده است.

اجرای برنامه برای هک الگوریتم رمز سزار به شرح زیر است –

message = 'GIEWIVrGMTLIVrHIQS' #encrypted message
LETTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

for key in range(len(LETTERS)):
   translated = ''
   for symbol in message:
      if symbol in LETTERS:
         num = LETTERS.find(symbol)
         num = num - key
         if num < 0:
            num = num + len(LETTERS)
         translated = translated + LETTERS[num]
      else:
         translated = translated + symbol
print('Hacking key #%s: %s' % (key, translated))

 

متن رمزگذاری شده را در مثال قبلی رمزگذاری کنید. سپس، خروجی با روش های احتمالی هک با کلید و با استفاده از تکنیک Brute Force به شرح زیر است

Hacking of Caesar Cipher

 

منبع.

لیست جلسات قبل آموزش رمزنگاری با پایتون 

  1. آموزش رمزنگاری با پایتون
  2. بررسی اجمالی آموزش رمزنگاری با پایتون 
  3. آموزش رمزنگاری دو گانه در رمزنگاری با پایتون
  4. مرور و نصب پایتون
  5. آموزش رمز معکوس در رمزنگاری با پایتون
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه