প্রবলেম - 63

সিজার সাইফার ১

প্রবলেম সেটার: দ্বিমিক কম্পিউটিং


ডেটা এনক্রিপশন (data encryption) মানে হচ্ছে, ডেটাকে এমনভাবে প্রকাশ করা যেন সঠিক গ্রাহক ব্যাতীত অন্য কেউ সেই ডেটার মর্মোদ্ধার করতে না পারে। বর্তমানে ডেটা এনক্রিপশনের জন্য অনেক জটিল অ্যালগরিদম আছে। মজার ব্যাপার হচ্ছে শত শত বছর আগেও মানুষ ডেটা এনক্রিপ্ট করতো। এরকম পুরনো একটি পদ্ধতি হচ্ছে সিজার সাইফার, যা রোমান সম্রাট জুলিয়াস সিজারের আমলে প্রচলিত হয়।

সিজার সাইফার পদ্ধতিতে একটি টেক্সটের সঙ্গে একটি সংখ্যা দেওয়া হয়, যাকে কি (key) বলা হয়। কি-এর মান যত, টেক্সটের অক্ষরগুলো তত ঘর পরের অক্ষর দিয়ে বদলে দেওয়া হয়। যেমন, কি-এর মান যদি 2 হয়, তখন abc-কে লেখা হবে cde (a-এর জায়গায় c, b-এর জায়গায় d, d-এর জায়গায় e)। এই কি এর মান কেবল প্রাপকই জানে, যার ফলে অন্য কেউ এই টেক্সটের মর্মোদ্ধার করতে পারে না।

এখন একটি টেক্সট ও কি দেওয়া থাকলে টেক্সটি এনক্রিপ্ট করার জন্য একটি প্রোগ্রাম লিখতে হবে।

ইনপুট

প্রথম লাইনে একটি স্ট্রিং দেওয়া থাকবে, যেটিকে এনক্রিপ্ট করতে হবে। দ্বিতীয় লাইনে কি দেওয়া থাকবে, যেটি একটি ধনাত্মক সংখ্যা এবং এর মান 0 থেকে 26-এর মধ্যে হবে।

আউটপুট

এনক্রিপ্ট করা টেক্সটি প্রিন্ট করতে হবে।

স্যাম্পল ইনপুট আউটপুট

স্যাম্পল #1

ইনপুট
Abcd Wxyz
2
আউটপুট
Cdef Yzab
প্রবলেম-63 পরিসংখ্যান

332 টি সাবমিশন

106 টি অ্যাকসেপ্টেড

89 জন সমাধান করেছেন

সাইট পরিসংখ্যান

96699 টি সাবমিশন

71 টি প্রোগ্রামিং সমস্যা

6300 জন ইউজার

দ্বিমিকএর সব বই
জাভা থ্রেড প্রোগ্রামিং
জাভা থ্রেড প্রোগ্রামিং

ক্রয় করুন

গ্রাফ অ্যালগরিদম
গ্রাফ অ্যালগরিদম

ক্রয় করুন

কম্বিনেটরিকসে হাতে খড়ি ২য় খণ্ড
কম্বিনেটরিকসে হাতে খড়ি ২য় খণ্ড

ক্রয় করুন

প্রোগ্রামিং ক্যারিয়ার গাইড লাইন: এক ডজন প্রোগ্রামারের কথা
প্রোগ্রামিং ক্যারিয়ার গাইড লাইন: এক ডজন প্রোগ্রামারের কথা

ক্রয় করুন

প্রোগ্রামিং কনটেস্ট ডেটা স্ট্রাকচার ও অ্যালগরিদম
প্রোগ্রামিং কনটেস্ট ডেটা স্ট্রাকচার ও অ্যালগরিদম

ক্রয় করুন