آموزش رمزنگاری جابجایی در رمزنگاری با پایتون
آموزش رمزنگاری جابجایی در رمزنگاری با پایتون
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش رمزنگاری جابجایی در رمزنگاری با پایتون خواهیم پرداخت.
پیشنهاد ویژه : پکیج آموزش طراحی وب سایت با پایتون
رمزنگاری جابجایی یک الگوریتم رمزنگاری است که ترتیب حروف الفبا در متن ساده برای تشکیل متن رمزگذاری مرتب می شود. در این فرآیند، حروف الفبای متن ساده موجود نیستند.
مثال
یک مثال ساده برای رمزگذاری انتقال، رمزنگاری جابجایی ستونی است که در آن هر کاراکتر در متن ساده به صورت افقی با عرض الفبای مشخص نوشته می شود. رمز به صورت عمودی نوشته می شود ، که متن رمزگذاری کاملا متفاوتی را ایجاد می کند.
متن ساده hello world را در نظر بگیرید، و اجازه دهید ما از روش جابجایی ستون ساده استفاده کنیم، همانطور که در زیر نشان داده شده است
جابجایی ستونی
کاراکتر های متن ساده به صورت افقی قرار می گیرند و متن رمز با فرم عمودی ایجاد می شود: holewdlo lr. اکنون، گیرنده باید از همان جدول برای رمزگشایی متن رمز به متن ساده استفاده کند.
کد برنامه زیر اجرای اساسی روش جابجایی ستونی را نشان می دهد –
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
def split_len(seq, length): return [seq[i:i + length] for i in range(0, len(seq), length)] def encode(key, plaintext): order = { int(val): num for num, val in enumerate(key) } ciphertext = '' for index in sorted(order.keys()): for part in split_len(plaintext, len(key)): try:ciphertext += part[order[index]] except IndexError: continue return ciphertext print(encode('3214', 'HELLO')) |
با استفاده از تابع ()split_len، می توانیم کاراکتر های متنی ساده را که می توانند در قالب ستون یا سطر قرار بگیرند، تقسیم کنیم.
روش رمزگذاری به ایجاد متن رمزنگاری با تعیین تعداد ستون ها کمک می کند و متن رمز را با خواندن کاراکترها در هر ستون چاپ می کند.
خروجی
کد برنامه برای اجرای اساسی روش جابجایی ستونی، خروجی زیر را ارائه می دهد –
توجه – Cryptanalysts هنگام انجام روش جابجایی، بهبود قابل توجهی در امنیت رمزنگاری مشاهده کردند. آنها همچنین خاطر نشان كردند كه رمزنگاری مجدد متن رمزنگاری با استفاده از رمز عبور مشابه، امنیت بهتری ایجاد می كند.
دیدگاه شما