সাংকেতিক লিপি

থাম্ব|Edward Larsson এর রেনী সাইফার যা কেন্দসিংটন রানস্টোন থেকে পাওয়া সাইফারএর অনুরূপ । এছাড়াও রৈখিকভাবে সম্পর্কহীন ব্ল্যাক লেটার লেখার শৈলী এবং পিগপেন (pigpen) গুপ্তলিপ্যন্তর অন্তর্ভুক্ত ।

তথ্যগুপ্তিবিদ্যায় **গুপ্তলিখন পদ্ধতি** (ইংরেজি পরিভাষায় Cipher *সাইফার*) বলতে এমন কিছু সূত্র বা নিয়মের সমষ্টিকে বোঝায় যার সাহায্যে কোনও সরলপাঠ্যের (Simpletext *সিম্পলটেক্সট*)  গুপ্তায়ন (Encyption *এনক্রিপশন*; তুলনীয়. সাঙ্কেতিকীকরণ) করা যায় কিংবা এর বিপরীতে কোন গুপ্তপাঠ্যের (Ciphertext) বিগুপ্তায়ন (Decryption *ডিক্রিপশন*) করা যায়। পদ্ধতিটি সাধারণত একটি অ্যালগরিদম অর্থাৎ কতগুলি সুসংজ্ঞায়িত নির্দেশমূলক ধাপের একটি ধারা হয়। সাঙ্কেতিকীকরণ (Encoding এনকোডিং) করার অর্থ হল তথ্যকে গুপ্তপাঠ্য তথা এক ধরনের বিশেষ সাংকেতিক লিপিতে (কোড) রূপান্তর করা। সাধারণভাবে "গুপ্তলিপি" পরিভাষাটি "সাংকেতিক লিপি"-র সমার্থক, যেহেতু উভয়েই একটি বার্তাকে গুপ্তায়িত (এনক্রিপ্ট) করার ধাপের ধারা; তা সত্ত্বেও এই ধারণাগুলি তথ্যগুপ্তিবিদ্যায় স্বতন্ত্র , বিশেষ করে ধ্রুপদী তথ্যগুপ্তিবিদ্যায়।

সাংকেতিক লিপি (কোড) সাধারণত উৎপাদিত তথ্যের (আউটপুটের) অক্ষরগুলোর বিভিন্ন দৈর্ঘ্যের স্ট্রিংগুলিকে প্রতিস্থাপিত করে। অন্যদিকে গুপ্তলিপি সাধারণত ইনপুট  হিসাবে অক্ষরগুলির একই সংখ্যাকে প্রতিস্থাপন করে। ব্যতিক্রম আছে এবং কিছু গুপ্তলিখন পদ্ধতি সামান্য বেশি বা কম অক্ষর ব্যবহার করতে পারে যখন আউটপুট বনাম ইনপুট সংখ্যা।

কোডগুলি একটি বড় কোডবুক অনুযায়ী প্রতিস্থাপনের দ্বারা পরিচালিত হয় যা অক্ষর বা সংখ্যাগুলির একটি এলোমেলো স্ট্রিংকে একটি শব্দ বা বাক্যাংশে যুক্ত করে। উদাহরণস্বরূপ, "UQJHSE" কোডটি হতে পারে "নিম্নোক্ত সমন্বয়গুলিতে এগিয়ে যান"। একটি সাইফার ব্যবহার করার সময় মূল তথ্য প্লেইনটেক্সট, এবং সিফেরটেক্সট হিসাবে এনক্রিপ্ট করা ফর্ম হিসাবে পরিচিত হয়। সিফেরটেক্সটে বার্তাটি প্লেইনটেক্সট বার্তাটির সমস্ত তথ্য ধারণ করে তবে এটি কোনও কম্পিউটার বা কম্পিউটারের দ্বারা পঠনযোগ্য কোনও ফর্ম্যাটে নয় যাতে এটি ডিক্রিপ্ট করার সঠিক প্রক্রিয়া না থাকে।

একটি গুপ্তলিখন পদ্ধতির কর্মপদ্ধতি সাধারণত সহায়িক তথ্যের একটি অংশে নির্ভর করে, যা একটি কী (বা, ঐতিহ্যগত এনএসএ *নীতিমালা* , একটি *তথ্যগুপ্তিযোগ্য* ) নামে পরিচিত। সাঙ্কেতিকীকরণ পদ্ধতিটি কী এর উপর নির্ভর করে , যা সমাধানপদ্ধতির বিস্তারিত ক্রিয়াকলাপকে পরিবর্তন করে। একটি বার্তা সাঙ্কেতিকীকরণ করার জন্য একটি সাইফার ব্যবহার করার আগে একটি কী নির্বাচন করা আবশ্যক। কী কী জ্ঞান ছাড়াই, এটি অসম্ভব না হলে এটি অত্যন্ত কঠিন হওয়া উচিত, ফলে সাংকেতিক বার্তাকে পঠনযোগ্য বার্তায় ডিক্রিপ্ট করতে হবে।

বেশিরভাগ আধুনিক গুপ্তলিখন পদ্ধতিকে বিভিন্ন উপায়ে শ্রেণীবদ্ধ করা যায়-
* প্রতীকগুলির ব্লকগুলি সাধারণত নির্দিষ্ট আকারের (ব্লক সাইফার্স) বা প্রতীকগুলির ধারাবাহিক প্রবাহ ( স্ট্রিম সাইফার ) এ কাজ করে।
* এনক্রিপশন এবং ডিক্রিপশন ( সিম্যাট্রিক কী অ্যালগরিদম ) উভয়ের জন্য একই কী ব্যবহার করা হয় কিনা, অথবা প্রতিটি ( অ্যাসিমমেটিক কী অ্যালগরিদম ) জন্য একটি ভিন্ন কী ব্যবহার করা হয় কিনা তা দ্বারা। যদি অ্যালগরিদমটি সমার্থক হয়, তবে কীটি প্রাপক এবং প্রেরককে এবং অন্য কেউকে জানাতে হবে না। যদি অ্যালগরিদম একটি অসম্মানিক হয়, তবে সংজ্ঞাতকারক কীটি ভিন্ন, তবে ডাইফেরারিং কীটির সাথে ঘনিষ্ঠভাবে সম্পর্কিত। যদি একটি কী অন্য থেকে নিরসন করা যায় না, তাহলে অ্যাসিমমেটিক কী অ্যালগরিদমটি সর্বজনীন / ব্যক্তিগত কী সম্পত্তি রয়েছে এবং গোপনীয়তার ক্ষতি ছাড়াই কীগুলির একটি জনকে প্রকাশ করা যেতে পারে।

## শব্দতত্ত্ব
প্রাচীন সময়ের মধ্যে "সাংকেতিক লিপি" শব্দটির নাম "সাইফার" দ্বারা বোঝানো হয়েছে "শূন্য" এবং একই উৎস ছিল: মধ্য ফরাসি **'সিফ্র্‌**' এবং মধ্যযুগীয় লাতিন *সিফ্রা*, আরবি *صفر*  = শুণ্য ( জিরো- *শব্দতত্ত্ব* দেখুন)। "সাইফার" পরে কোনও দশমিক সংখ্যার জন্য, এমনকি কোনও সংখ্যার জন্যও, ব্যবহার করা হয়েছিল। "সাইফার" শব্দটির অর্থ "এনকোডিং" অথবা অর্থ কী হতে পারে তা নিয়ে অনেক তত্ত্ব রয়েছে।

* এনকোডিংয়ে প্রায়ই সংখ্যা জড়িত।
* শূন্য (অথবা খালি স্থান) কোন ধারণা ছিল না কারণ রোমান সংখ্যা সিস্টেমটি খুব কষ্টকর ছিল। শূন্য ধারণাটি (যা "সাংকেতিক লিপি" নামেও পরিচিত ছিল), যা এখন সাধারণ জ্ঞান, মধ্যযুগীয় ইউরোপের জন্য বিচ্ছিন্ন ছিল, তাই বিভ্রান্তিকর ও সাধারণ ইউরোপীয়দের কাছে দ্বিধান্বিত ছিল  লোকেরা বলবে, "স্পষ্টভাবে কথা বলুন এবং সাইফারের মতো এতদূর গ্রহণ না করা "। সাইফার স্পষ্ট বার্তা বা এনক্রিপশন গোপন মানে এসেছিলেন।
** ফরাসি শব্দটি " *সিফ্র* " শব্দটি গঠন করে এবং ইতালীয় শব্দ " *শূন্য* " গ্রহণ করে।
** ইংরেজিতে "0" এর জন্য "শূন্য" এবং কম্পিউটিংয়ের মাধ্যম হিসাবে "সাইফারিং" শব্দটি থেকে "সাইফার" ব্যবহৃত হয়।
** জার্মানরা শব্দগুলি "জিফফার" (অঙ্ক) এবং "চিফ" ব্যবহার করে।
** ডাচ এখনও একটি সংখ্যাসূচক অঙ্ক উল্লেখ করতে "সিজফার" শব্দটি ব্যবহার করে।
** একইভাবে স্লোভাকগুলি একটি সংখ্যাসূচক অঙ্ক উল্লেখ করতে "সিফ্রা" শব্দটি ব্যবহার করে।
** বসনিয়ান, ক্রোটস এবং সার্বিয়ানরা "সিফ্রা" শব্দটি ব্যবহার করে, যা একটি সংখ্যার উল্লেখ করে, অথবা কিছু ক্ষেত্রে, কোন সংখ্যা। "সিফ্রা" ছাড়াও, তারা একটি নম্বরের জন্য "ব্রজ" শব্দটি ব্যবহার করে।
** ইটালিয়ান এবং স্প্যানিশ এছাড়াও একটি সংখ্যা উল্লেখ করতে "সিফ্রা" শব্দটি ব্যবহার করে।
** সুইডেন শব্দটি ব্যবহার করে "সিফ্রা" যা একটি সংখ্যার উল্লেখ করে।
** গ্রিক শব্দগুলি "τζίφρα" ("টিজিফ্রা") ব্যবহার করে একটি হার্ড-টু-পঠিত স্বাক্ষর উল্লেখ করে, বিশেষ করে কলমটির একটি স্ট্রোকের সাথে লিখিত।

ইব্রাহিম আল-কাদি উপসংহারে পৌঁছেছেন যে, শূন্য *সংখ্যার* জন্য আরবি শব্দ *সিফর* এনক্রিপশনের জন্য ইউরোপীয় প্রযুক্তিগত শব্দে বিকশিত হয়েছে।

দশমিক শূন্য এবং তার নতুন গণিত মধ্যযুগীয় ভাষায় আরবি বিশ্বের থেকে ইউরোপে ছড়িয়ে পড়ে, *সেফর* এবং *জেফিরাস* থেকে প্রাপ্ত শব্দগুলি গণনা, পাশাপাশি বিশেষ জ্ঞান এবং গোপন কোডগুলি উল্লেখ করে। ইফরাহের মতে, "ত্রয়োদশ শতাব্দীর প্যারিসে, একটি 'অসহায় সহকর্মী' কে *<nowiki/>'... সিফ্রে এন অ্যালগরিসমে' বলা হয়* , অর্থাৎ 'গাণিতিক কিছুই'। সিফার সাইফারের ইউরোপীয় উচ্চারণ ছিল এবং সাইফারের অর্থ একটি বার্তা বা যোগাযোগ বোঝা সহজে বোঝা গেল না।

## ভার্সেস কোড
অপ্রযুক্তিগত ব্যবহারে, একটি "গোপন কোড "  দ্বারা সাধারণত "সাইফার"কে বুঝায়। প্রযুক্তিগত আলোচনার মধ্যে, "কোড" এবং "সাইফার" শব্দটি দুটি ভিন্ন ধারণার উল্লেখ করে। কোডগুলি অর্থের পর্যায়ে কাজ করে-অর্থাৎ, শব্দ বা বাক্যাংশগুলি অন্য কোন রূপে রূপান্তরিত হয় এবং এই অংশটি সাধারণত বার্তাটিকে ছোট করে।

এর একটি উদাহরণ বাণিজ্যিক টেলিগ্রাফ কোড যা লম্বা টেলিগ্রাফ বার্তাগুলিকে ছোট করার জন্য ব্যবহৃত হয়েছিল যা টেলিগ্রামের বিনিময় ব্যবহার করে বাণিজ্যিক চুক্তিগুলিতে প্রবেশ করতে পারে।

আরেকটি উদাহরণ পুরো শব্দ সাইফার দ্বারা দেওয়া হয় যা ব্যবহারকারীকে একটি প্রতীক বা চরিত্রের সাথে সম্পূর্ণ শব্দটি প্রতিস্থাপন করার অনুমতি দেয়, জাপানী ভাষাগুলি তাদের ভাষা সম্পন্ন করার জন্য কাঞ্জি (জাপানি) অক্ষরগুলি ব্যবহার করে। উদাহরণস্বরূপ "The quick brown fox jumps over the lazy dog" হয়ে যায় "The quick brown 狐 jumps 过 the lazy 狗"।

অন্যদিকে, গুপ্তলিখন পদ্ধতি নিম্নস্তরে কাজ করে: স্বতন্ত্র অক্ষরের স্তর, অক্ষরের ছোট দল, বা আধুনিক স্কিমগুলিতে, পৃথক বিট এবং বিট ব্লক। কিছু সিস্টেম নিরাপত্তা বৃদ্ধি করতে সুপারএনসাইফারমেন্ট ব্যবহার করা হয়, যা একটি সিস্টেমে কোড এবং সাইফার উভয়ই ব্যবহার করে। কিছু ক্ষেত্রে শর্তাবলী কোড এবং সাইফারগুলি প্রতিস্থাপন এবং স্বতন্ত্রভাবে সমানভাবে ব্যবহার করা হয়।

ঐতিহাসিকভাবে, ক্রিপ্টোগ্রাফি কোড এবং সাইফারগুলির একটি দ্বিদলীয় পদে বিভক্ত ছিল; এবং কোডিং এর নিজস্ব পরিভাষা ছিল, যা সাইফারদের জন্য অনুরূপ: " *এনকোডিং* , *কোডেটেক্সট* , *ডিকোডিং* " ইত্যাদি।

তবে, ক্রিপ্ট্যানালাইসিসের সংবেদনশীলতা এবং একটি গুরুতর কোডবুক পরিচালনার অসুবিধা সহ কোডগুলিতে বিভিন্ন ধরনের ত্রুটি রয়েছে। এই কারণে, কোডগুলি আধুনিক ক্রিপ্টোগ্রাফিতে অপব্যবহারে পতিত হয়েছে এবং সাইফারগুলি প্রভাবশালী কৌশল।

## প্রকারভেদ
বিভিন্ন ধরনের সাংকেতিকরণ পদ্ধতি আছে। ক্রিপ্টোগ্রাফির ইতিহাসে আগে ব্যবহৃত অ্যালগরিদমগুলি আধুনিক পদ্ধতির থেকে পুরোপুরি ভিন্ন, এবং আধুনিক সাংকেতিক লিপিগুলিকে তারা কীভাবে পরিচালনা করে এবং সেগুলি এক বা দুটি কী ব্যবহার করে সে অনুসারে শ্রেণীবদ্ধ করা যেতে পারে।

### ঐতিহাসিক
অতীতে ব্যবহৃত ঐতিহাসিক কলম এবং কাগজ সাইফার কখনও কখনও শাস্ত্রীয় সাইফার হিসাবে পরিচিত হয়। তারা সহজ প্রতিস্থাপন সাইফার (যেমন রোট 13 ) এবং ট্রান্সফিশন সাইফারগুলি (যেমন একটি রেল বেড়া সিফার ) অন্তর্ভুক্ত করে। উদাহরণস্বরূপ, "GOOD DOG" "PLLX XLP" হিসাবে এনক্রিপ্ট করা যেতে পারে যেখানে "O", "G" এর জন্য "L" বিকল্পগুলি এবং "D" এর জন্য "X" এর জন্য "X" এনক্রিপ্ট করা যেতে পারে। অক্ষরের ট্রান্সপোজিশন "GOOD DOG" এর পরিবর্তে "DGOGDOO" হতে পারে। এই সহজ সাইফার এবং উদাহরণগুলি সরল বর্ণের-সিফেরটেক্সট জোড়া ছাড়াও ক্র্যাক করা সহজ।

সরল **সাইফারগুলি** পলিএলফ্যাব্যাটিক প্রতিস্থাপনের সাইফারগুলি দ্বারা প্রতিস্থাপিত হয় (যেমন Vigenère ) যা প্রতি অক্ষরের জন্য প্রতিস্থাপন বর্ণমালা পরিবর্তন করে। উদাহরণস্বরূপ, "GOOD DOG" "PLSX TWF" হিসাবে এনক্রিপ্ট করা যেতে পারে যেখানে "এল", "এস" এবং "ও" বিকল্পটি "ও" এর জন্য বিকল্প। এমনকি একটি ছোট পরিমাণে পরিচিত বা আনুমানিক প্লেটেক্সট, সহজ পলিএলফ্যাবিক প্রতিস্থাপন সাইফার এবং কলম এবং কাগজ এনক্রিপশনের জন্য ডিজাইন করা চিঠি ট্রান্সফিশন সাইফারগুলি ক্র্যাক করা সহজ। যদিও এক সময় প্যাডের উপর ভিত্তি করে একটি নিরাপদ কলম এবং কাগজ সাইফার তৈরি করা সম্ভব, তবে এক-সময় প্যাডগুলির স্বাভাবিক ক্ষতিগুলি প্রযোজ্য।

বিংশ শতাব্দীর গোড়ার দিকে, ইলেক্ট্রো-যান্ত্রিক মেশিনগুলি ট্রান্সপোজিশন, পলিএলফ্যাব্যাটিক প্রতিস্থাপন এবং একটি "যুত" প্রতিস্থাপন ব্যবহার করে এনক্রিপশন এবং ডিক্রিপশন করার জন্য উদ্ভাবিত হয়েছিল। রটার মেশিনে , বিভিন্ন রটার ডিস্কগুলি বহুবচনীয় প্রতিস্থাপন প্রদান করেছিল, প্লাগ বোর্ডগুলি অন্য বিকল্প সরবরাহ করেছিল। কীগুলি রটার ডিস্ক এবং প্লাগবোর্ড তারের পরিবর্তন করে সহজেই পরিবর্তিত হয়। যদিও এই এনক্রিপশন পদ্ধতিগুলি পূর্ববর্তী স্কিমগুলির চেয়ে আরও জটিল এবং এনক্রিপ্ট এবং ডিক্রিপ্ট করার জন্য প্রয়োজনীয় মেশিনগুলি ছিল, তবে ব্রিটিশ বোম্বির মতো অন্যান্য যন্ত্রগুলি এই এনক্রিপশন পদ্ধতিগুলি ক্র্যাক করার জন্য উদ্ভাবিত হয়েছিল।

### আধুনিক
আধুনিক এনক্রিপশন পদ্ধতি দুটি মানদণ্ড দ্বারা বিভক্ত করা যেতে পারে: ব্যবহৃত কী ধরনের এবং ইনপুট ডেটা দ্বারা।

কী ব্যবহৃত সাইফারের ধরন দ্বারা বিভক্ত করা হয়:

* সিম্যাট্রিক কী অ্যালগরিদম ( ব্যক্তিগত-কী ক্রিপ্টোগ্রাফি ), যেখানে একই কী এনক্রিপশন এবং ডিক্রিপশন জন্য ব্যবহৃত হয় এবং
* অ্যাসিমেটিক কী অ্যালগরিদম ( পাবলিক-কী ক্রিপ্টোগ্রাফি ), যেখানে দুটি ভিন্ন কী এনক্রিপশন এবং ডিক্রিপশন জন্য ব্যবহৃত হয়।

একটি সমার্থক কী অ্যালগরিদম (উদাহরণস্বরূপ, ডিইএস এবং এইএস ), প্রেরক এবং রিসিভারের আগে থেকেই একটি ভাগ করা কী সেট আপ থাকতে হবে এবং অন্যান্য সমস্ত পক্ষ থেকে গোপন রাখা উচিত; প্রেরক এনক্রিপশন জন্য এই কী ব্যবহার করে, এবং প্রাপক ডিক্রিপশন জন্য একই কী ব্যবহার করে। ফিস্টেল সাইফারের প্রতিস্থাপন এবং স্থানান্তর কৌশল সমন্বয় ব্যবহার করে। সর্বাধিক ব্লক সাইফার আলগোরিদিম এই কাঠামো উপর ভিত্তি করে। একটি অ্যাসিমেট্রিক কী অ্যালগরিদম (যেমন, আরএসএ ) তে দুটি আলাদা কী আছে: একটি *পাবলিক কী* প্রকাশ করা হয় এবং কোনও প্রেরক এনক্রিপশন সঞ্চালন করতে সক্ষম করে, যখন একটি *ব্যক্তিগত কী* রিসিভার দ্বারা গোপন রাখে এবং শুধুমাত্র সঠিক ডিক্রিপশন করতে সক্ষম করে।

সাইফারগুলিকে ইনপুট ডেটা প্রকারের দ্বারা দুটি ভাগে বিভক্ত করা যেতে পারে:

* ব্লক সাইফার , যা নির্দিষ্ট আকারের তথ্য ব্লক এনক্রিপ্ট করে এবং
* স্ট্রিম সাইফার , যা তথ্য ক্রমাগত প্রবাহ এনক্রিপ্ট

## কী এর আকার এবং দুর্বলতা
একটি বিশুদ্ধ গাণিতিক আক্রমণের মধ্যে, (অর্থাৎ একটি সাইফার বিরতিতে সাহায্য করার জন্য অন্য কোন তথ্য অভাব) সমস্ত কিছুর উপরে দুটি কারণ:

* কম্পিউটেশাল পাওয়ার উপলব্ধ, অর্থাৎ, কম্পিউটিং ক্ষমতা যা সমস্যার উপর সহ্য করা যেতে পারে। এটা মনে রাখা গুরুত্বপূর্ণ যে একক কম্পিউটারের গড় পারফরম্যান্স / ক্ষমতা বিবেচনা করার একমাত্র কারণ নয়। উদাহরণস্বরূপ, একটি শত্রু একাধিক কম্পিউটার ব্যবহার করতে পারে, উদাহরণস্বরূপ, একটি কী (যেমন, "বর্বর বল" আক্রমণ) এর সামগ্রিক অনুসন্ধানের গতি বৃদ্ধি করতে।
* মূল আকার , অর্থাৎ, একটি বার্তা এনক্রিপ্ট করার জন্য ব্যবহৃত কী আকার। কী আকার বৃদ্ধি পায়, তাই বিন্দুতে সম্পূর্ণ অনুসন্ধানের জটিলতা যেখানে এটি সরাসরি এনক্রিপশন ক্র্যাক করতে অকার্যকর হয়ে যায়।

যেহেতু আকাঙ্ক্ষিত প্রভাবটি কম্পিউটেশনাল অসুবিধা, তাই তত্ত্ব অনুসারে একটি অ্যালগরিদম এবং পছন্দসই অসুবিধা স্তর চয়ন করবে, এইভাবে কীভাবে তার দৈর্ঘ্য নির্ধারণ করবে।

এই প্রক্রিয়ার একটি উদাহরণ কী দৈর্ঘ্যতে পাওয়া যেতে পারে যা একাধিক প্রতিবেদনগুলি ব্যবহার করে যা ১২৮ বিট, ৩০৭ বিট কী সহ একটি অ্যাসিমেট্রিক সাইফার এবং ৫১২ বিট সহ একটি উপবৃত্তাকার বক্ররেখা সাইফার সহ একটি সিমমেট্রিক সাইফার , এগুলি একই সময়ে একই সমস্যায় রয়েছে বলে প্রস্তাব করে।

ক্লাউড শ্যানন তথ্য তত্ত্বের বিবেচনার ভিত্তিতে প্রমাণ করেছিলেন যে, কোনও তত্ত্বগতভাবে অবাঞ্ছিত সাইফারের অবশ্যই অবশ্যই মূল অক্ষর হিসাবে অন্তত যতক্ষণ থাকবে এবং শুধুমাত্র একবার ব্যবহার করা হবে: ওয়ান টাইম প্যাড।

## আরও দেখুন
* অটো কী সাইফার
* কাভার কোডিং
* তথ্যগুপ্তিবিদ্যা
* সাংকেতিকীকরণ

## তথ্যসূত্র

## আরও পড়ুন

* Richard J. Aldrich, *GCHQ: The Uncensored Story of Britain's Most Secret Intelligence Agency*, HarperCollins July 2010.
* Helen Fouché Gaines, "Cryptanalysis", 1939, Dover. 
* Ibrahim A. Al-Kadi, "The origins of cryptology: The Arab contributions", Cryptologia, 16(2) (April 1992) pp.&nbsp;97–126.
* David Kahn, *The Codebreakers - The Story of Secret Writing* () (1967)
* David A. King, The ciphers of the monks - A forgotten number notation of the Middle Ages, Stuttgart: Franz Steiner, 2001 ()
* Abraham Sinkov, *Elementary Cryptanalysis: A Mathematical Approach*, Mathematical Association of America, 1966. 
* William Stallings, *Cryptography and Network Security, principles and practices, 4th Edition*
* 

বিষয়শ্রেণী:তথ্যগুপ্তিবিদ্যা