সুচিপত্র:
- সরবরাহ
- ধাপ 1: ভেরিয়েবল ঘোষণা করা এবং ইনপুট পাওয়া
- ধাপ 2: নতুন বর্ণমালা তৈরি করা
- ধাপ 3: বার্তা স্থানান্তর
- ধাপ 4: অতিরিক্ত
ভিডিও: পাইথনে সিজার সাইফার প্রোগ্রাম: 4 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 07:56
সিজার সাইফার একটি প্রাচীন এবং বহুল ব্যবহৃত সাইফার যা এনক্রিপ্ট এবং ডিক্রিপ্ট করা সহজ। এটি একটি সম্পূর্ণ নতুন বর্ণমালা তৈরি করতে বর্ণমালার অক্ষর বদল করে কাজ করে (ABCDEF 4 টি অক্ষরের উপরে স্থানান্তরিত হতে পারে এবং EFGHIJ হয়ে যাবে)।
সিজার সাইফাররা সেখানকার সবচেয়ে নিরাপদ সাইফার নয় কিন্তু ছোট ছোট কাজের জন্য ভালো যেমন গোপন নোট পাস করা বা পাসওয়ার্ড একটু শক্তিশালী করা। কোডটি ডিক্রিফার করা সত্যিই সহজ, তবে আপনার যদি বিশেষ বর্ণমালা মুখস্থ না থাকে তবে এটি এনক্রিপ্ট করা ক্লান্তিকর হতে পারে।
এই প্রক্রিয়াটিকে সহজ করার জন্য, আমরা কম্পিউটারের শক্তি ব্যবহার করতে পারি, বিশেষ করে প্রোগ্রামিং ভাষা পাইথন।
এই নির্দেশযোগ্য আপনাকে দেখাবে কিভাবে একটি প্রোগ্রাম তৈরি করতে হয় যা আপনার কমান্ডে বার্তাগুলিকে একটি সাইফারে রূপান্তর করে।
সরবরাহ
আপনার যা দরকার তা হল একটি পাইথন দোভাষী: IDLE, Pycharm এবং Thonny কিছু ভাল, বিনামূল্যে বিকল্প (আমি পাইচার্ম ব্যবহার করেছি)
পাইথনের প্রাথমিক জ্ঞান
ধাপ 1: ভেরিয়েবল ঘোষণা করা এবং ইনপুট পাওয়া
প্রকৃতপক্ষে বর্ণমালা, বার্তা, স্থানান্তর ইত্যাদির স্ট্রিং (পাঠ্য) মান সংরক্ষণ করতে আমাদের ভেরিয়েবল ব্যবহার করতে হবে। আমরা 'বর্ণমালা', 'partialOne', 'partialTwo', এবং 'newAlphabet' ঘোষণা করে শুরু করি। আমি আমার কোডে ক্যামেল কেসে ভেরিয়েবলের নাম লিখেছি (প্রথম শব্দটি ছোট হাতের এবং দ্বিতীয় বড় হাতের অক্ষর) কিন্তু আপনি যেভাবে চান তা লিখতে পারেন, যতক্ষণ আপনি মনে রাখবেন বাকি কোডেও এটি পরিবর্তন করতে হবে । বর্ণমালার পরিবর্তনশীলটির মান "abcdefghijklmnopqrstuvwxyz"। অন্য সব ভেরিয়েবল "" তে সেট করা আছে, যা একটি খালি স্ট্রিং কারণ আমাদের কাছে এখনো তাদের মান নেই।
এটি যা করছে তা হচ্ছে আংশিক সিস্টেম স্থাপন করা, যা আমরা আসলে শিফট তৈরি করতে ব্যবহার করছি। এটি পরবর্তী ধাপে ব্যাখ্যা করা হবে।
এর পরে, আমাদের ব্যবহারকারীর কাছ থেকে বার্তা এবং স্থানান্তর মান পেতে হবে। আমরা এটি করতে ইনপুট ফাংশন ব্যবহার করি। কোডের এই অংশটি ব্যবহারকারীকে একটি বার্তা এবং একটি নম্বর দিয়ে বর্ণমালা পরিবর্তন করতে বলে।
কোড:
বর্ণমালা = "abcdefghijklmnopqrstuvwxyz"
আংশিক এক = ""
আংশিক দুই = ""
নতুন বর্ণমালা = ""
বার্তা = ইনপুট ("দয়া করে আপনি যে বার্তাটি অনুবাদ করতে চান তা লিখুন:")। কম ()
কী = int (ইনপুট ("দয়া করে আপনি যে নম্বরটি পরিবর্তন করতে চান তা লিখুন:"))
ধাপ 2: নতুন বর্ণমালা তৈরি করা
এখন স্থানান্তরিত বর্ণমালা তৈরি করতে। এটি করার জন্য, আমরা আংশিক সিস্টেম ব্যবহার করব। আংশিক সিস্টেম হল যেখানে কম্পিউটার বর্ণমালাকে দুটি ভাগে ভাগ করে (অংশ বলার একটি অভিনব উপায়)। প্রথম আংশিক যাই হোক না কেন আপনি প্রোগ্রামটিকে স্থানান্তর করতে বলেছিলেন, এবং দ্বিতীয়টি বাকি। কম্পিউটার আংশিক সুইচ করে। কোডটি ঠিক একই কাজ করছে, প্রথম বিবৃতি সহ, যা বলে যে যদি শিফট 0 হয়, নতুন বর্ণমালা এবং পুরানো বর্ণমালা একই কারণ আপনি কিছু পরিবর্তন করছেন না।
উদাহরণ স্বরূপ:
ক্রম - 123456789
আংশিক এক - 123; আংশিক দুই - 456789
নতুন ক্রম - 456789123
কোড:
যদি কী == 0:
নতুন বর্ণমালা = বর্ণমালা
এলিফ কী> 0:
partialOne = বর্ণমালা [: কী]
partialTwo = বর্ণমালা [কী:]
newAlphabet = partialTwo + partialOne
অন্য:
partialOne = বর্ণমালা [:(26 + কী]
partialTwo = বর্ণমালা [(26 + কী):]
newAlphabet = partialTwo + partialOne
ধাপ 3: বার্তা স্থানান্তর
এখন আমাদের বর্ণমালা এবং নতুন বর্ণমালা আছে। যা বাকি আছে তা হল বার্তাটি কোডে পরিবর্তন করা।
প্রথমে, আমরা একটি নতুন পরিবর্তনশীল সেট করি এবং এটিকে 'এনক্রিপ্টেড' বলি এবং "" এ সেট করি। তারপরে আমরা একটি খুব জটিল ফর-লুপ লিখি যা বার্তার প্রতিটি অক্ষর পরীক্ষা করে এবং নতুন অক্ষরে স্যুইচ করে। এটি ফলাফল আউটপুট এবং সেখানে আপনি এটি আছে, একটি সফলভাবে রূপান্তরিত কোড!
কোড:
encrypted = "" message_index এর পরিসরে (0, len (message)):
যদি বার্তা [message_index] == "":
এনক্রিপ্ট করা+= ""
বর্ণমালার সূচিপত্রের জন্য (0, len (newAlphabet)):
যদি বার্তা [message_index] == বর্ণমালা [alphabet_index]:
এনক্রিপ্ট করা+= নতুন বর্ণমালা [alphabet_index]
মুদ্রণ (এনক্রিপ্ট করা)
ধাপ 4: অতিরিক্ত
সংযুক্ত কোড ফাইল।
প্রস্তাবিত:
কম্পিউটার বিল্ড স্যাম এবং সিজার: 9 টি ধাপ
কম্পিউটার বিল্ড স্যাম এবং সিজার: এইভাবে কম্পিউটার তৈরি করা যায়
লক সাইফার: 6 টি ধাপ
লকসাইফার: হ্যালো, আমার নাম জারন স্ট্রিপস্টেন এবং আমি বেলজিয়ামের কোর্ট্রিজে হাওয়েস্টে নিউ মিডিয়া অ্যান্ড কমিউনিকেশন টেকনোলজি অধ্যয়ন করি। স্কুলের জন্য একটি নিয়োগের জন্য, আমাদের একটি প্রকল্প তৈরি করতে হবে। আমি একটি স্মার্ট লক পছন্দ করি যা RFID এবং/অথবা বারকোড দিয়ে খোলা যায়। বেলো
পাইথনে একটি সংখ্যাসূচক ইন্টিগ্রেশন প্রোগ্রাম কীভাবে তৈরি করবেন: 10 টি ধাপ
পাইথনে একটি সংখ্যাসূচক ইন্টিগ্রেশন প্রোগ্রাম কীভাবে তৈরি করবেন: এটি একটি প্রোগ্রাম তৈরি এবং পরিচালনা করার একটি টিউটোরিয়াল যা সংখ্যাসূচক ইন্টিগ্রেশন অ্যালগরিদম ব্যবহার করে সুনির্দিষ্ট ইন্টিগ্রাল মূল্যায়ন করবে। আমি ধাপগুলিকে sections টি ভাগে ভাগ করেছি: অ্যালগরিদম বোঝা যা প্রোগ্রাম তৈরিতে ব্যবহার করা হবে, কোডিংয়ে
বিল সাইফার পিরামিড স্পিকার: 9 টি ধাপ (ছবি সহ)
বিল সাইফার পিরামিড স্পিকার: এই প্রকল্পটি গ্রেভিটি ফলস শো থেকে বিল সাইফারের জন্য পিরামিড নকশা দ্বারা অনুপ্রাণিত এবং ডিজাইন প্রযুক্তি ক্লাসের জন্য তৈরি করা হয়েছিল। বর্তমানে পণ্যটি অসমাপ্ত এবং এটি একটি উৎপাদন পরিকল্পনা হিসাবে কাজ করে। পেজটি আপডেট করা হবে যখন প্রোডাক্ট
Arduino সঙ্গে Vigenere সাইফার: 3 ধাপ
Arduino সঙ্গে Vigenere সাইফার: কয়েক বছর আগে, ড্যান ব্রাউন দ্বারা ডিজিটাল দুর্গ আমার দৃষ্টি আকর্ষণ এবং একটি বিশেষ জিনিস আমার মনের মধ্যে আটকে। ক্রিপ্টোস, জিম স্যানবোর্নের ভাস্কর্য যার মধ্যে সাইফার্ড টেক্সট রয়েছে যার প্রথম দুটি অংশ ভিগেন এবং ইগ্রাভের দ্বারা এনক্রিপ্ট করা হয়েছে। আমি