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

آموزش الگوریتم ROT13 در رمزنگاری با پایتون
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش الگوریتم ROT13 در رمزنگاری با پایتون خواهیم پرداخت.
پیشنهاد ویژه : پکیج آموزش پروژه محور پایتون
تاکنون، در مورد الگوریتم های رمزنگاری معکوس و رمز سزار آموخته اید. حال، اجازه دهید در مورد الگوریتم ROT13 و نحوه اجرای آن بحث کنیم.
توضیح الگوریتم ROT13
رمز ROT13 به فرم کوتاه شده Rotate by 13 مکان اشاره دارد. این یک مورد خاص از Caesar Cipher است که در آن تغییر همیشه 13 است. هر حرف برای رمزگذاری یا رمزگشایی پیام توسط 13 مکان تغییر مکان می یابد.
مثال
نمودار زیر روند الگوریتم ROT13 را به صورت تصویری توضیح می دهد –
کد برنامه
اجرای برنامه الگوریتم ROT13 به شرح زیر است –
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
from string import maketrans rot13trans = maketrans('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', 'NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm') # Function to translate plain text def rot13(text): return text.translate(rot13trans) def main(): txt = "ROT13 Algorithm" print rot13(txt) if __name__ == "__main__": main() |
همانطور که در تصویر زیر نشان داده شده است، می توانید خروجی ROT13 را مشاهده کنید –
اشکال
الگوریتم ROT13 از 13 شیفت استفاده می کند. بنابراین، تغییر کاراکترها به صورت معکوس برای رمزگشایی متن رمز، بسیار آسان است.
تحلیل الگوریتم ROT13
الگوریتم رمزگذاری ROT13 به عنوان مورد خاص رمز سزار در نظر گرفته می شود. این یک الگوریتم بسیار ایمن نیست و به راحتی با تجزیه و تحلیل فرکانس یا فقط با امتحان 25 کلید ممکن شکسته می شود در حالی که با تغییر مکان 13 مکان ROT13 شکسته می شود. بنابراین، شامل هیچ کاربرد عملی نمی شود.
دیدگاه شما