প্রবলেম - 64

সিজার সাইফার ২

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


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

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

এখন একটি টেক্সট ও কি দেওয়া থাকলে আসল টেক্সটি বের করার জন্য একটি প্রোগ্রাম লিখতে হবে। এই কাজটিকে বলা হয় ডিক্রিপ্ট করা (decryption).

ইনপুট

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

আউটপুট

মূল টেক্সটি প্রিন্ট করতে হবে।

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

স্যাম্পল #1

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

208 টি সাবমিশন

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

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

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

110141 টি সাবমিশন

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

7228 জন ইউজার

দ্বিমিকএর সব বই
কম্পিউটার প্রোগ্রামিং ৩য় খণ্ড : ডেটা স্ট্রাকচার ও অ্যালগরিদম পরিচিতি
কম্পিউটার প্রোগ্রামিং ৩য় খণ্ড : ডেটা স্ট্রাকচার ও অ্যালগরিদম পরিচিতি

ক্রয় করুন

কম্পিউটার প্রোগ্রামিং-দ্বিতীয় খণ্ড
কম্পিউটার প্রোগ্রামিং-দ্বিতীয় খণ্ড

ক্রয় করুন

পাইথন দিয়ে প্রোগ্রামিং শেখা
পাইথন দিয়ে প্রোগ্রামিং শেখা

ক্রয় করুন

হয়ে ওঠো একজন প্রবলেম সলভার (আরডুইনো আইওটি রোবটিক্স)
হয়ে ওঠো একজন প্রবলেম সলভার (আরডুইনো আইওটি রোবটিক্স)

ক্রয় করুন

পাইথন দিয়ে প্রোগ্রামিং শেখা -২য় খণ্ড - অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ও ওয়েব ক্রলিং
পাইথন দিয়ে প্রোগ্রামিং শেখা -২য় খণ্ড - অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ও ওয়েব ক্রলিং

ক্রয় করুন