ওয়েব প্রোগ্রামারদের জানা উচিত যে তারা কখনও নিজেরাই ক্রিপ্টোগ্রাফি বাস্তবায়নের চেষ্টা করা উচিত নয় ।
বিশেষত, এর অর্থ হ'ল কোনও সুরক্ষার-বিশেষজ্ঞকে সরাসরি কোনও ক্রিপ্টোগ্রাফিক আদিমকে স্পর্শ করা উচিত নয়। তারা এইএস, এসএএএ -1 ইত্যাদি স্তরে চিন্তা করা উচিত নয় পরিবর্তে, তাদের বার্তাগুলি এনক্রিপ্ট করতে এবং স্বাক্ষর করতে এবং "হ্যাশ" পাসওয়ার্ডের জন্য উচ্চ-স্তরের ফাংশন ব্যবহার করা উচিত।
কেন? কারণ অন্যথায়, লোকেরা এই ভেবে ভ্রষ্ট হয় যে:
- এএস-256 হ'ল "দুর্দান্ত এনক্রিপশন", যদিও তারা এটি ইসিবি মোডে ব্যবহার করছে, বা নন-এলোমেলো আইভি মানগুলি ব্যবহার করছে ইত্যাদি। (কিছু মোডে, নন-এলোমেলো তবে স্বতন্ত্র আইভিও ঠিক আছে others অন্যদের ক্ষেত্রেও না অনেক.)
- তারা একাধিক বার্তাগুলি এনক্রিপ্ট করার জন্য একই প্রতিসাম্য কী ব্যবহার করতে পারে (বা আরও খারাপ, সরাসরি ব্যবহারের জন্য কোডে প্রতিসম কীটি সংরক্ষণ করুন)।
- এমনকি তারা কোনও কী ডেরাইভেশন ফাংশন ব্যবহার না করে সরাসরি কী হিসাবে পাসফ্রেজ ব্যবহার করার সিদ্ধান্ত নিতে পারে।
- তারা সরাসরি ডেটা এনক্রিপ্ট করতে আরএসএ ব্যবহার করতে পারে।
- এগুলি সুরক্ষিত রাখতে তারা কেবল তাদের পাসওয়ার্ডগুলি "নুন এবং MD5" করতে পারেন। (যদি আপনি ভাবেন যে রংধনু টেবিলগুলি সবচেয়ে দুর্বল লিঙ্ক, তবে আবার চিন্তা করুন ))
কেবল একই পৃষ্ঠায় থাকতে, উপরের আইটেমগুলির কোনওোটাই ঠিক নেই । যদি আপনি এটি না পান, তবে আপনার 10 ফুট ফুটের সাথে ক্রিপ্টো স্পর্শ করা উচিত নয়! (AES-256 হ'ল দুর্দান্ত এনক্রিপশন, তবে কেবলমাত্র আপনি এটি সঠিকভাবে ব্যবহার করলেই হয় "" এটি যে আকারের তা গুরুত্বপূর্ণ নয়, এটি আপনি এটিই করেন "" :-))
আমি কোন ধরণের উচ্চ-স্তরের ফাংশনগুলির বিষয়ে বলছি? আমি ব্যক্তিগতভাবে একটি ওপেনজিপি (বিশ্রামের ডেটার জন্য) বা এসএসএল (গতিযুক্ত ডেটার জন্য) লাইব্রেরি ব্যবহারের পরামর্শ দিই। এই প্রোটোকলগুলি দৃym়ভাবে অসমমিতি, প্রতিসাম্য এবং হ্যাশ অ্যালগরিদমের সঠিক ব্যবহার নির্দিষ্ট করে। উদাহরণস্বরূপ, ওপেনজিপি সহ:
- এটি সরাসরি ডেটা এনক্রিপ্ট করার জন্য আরএসএ ব্যবহার করে না, পরিবর্তে বার্তা অনুসারে একটি এলোমেলো সেশন (প্রতিসম) কী উত্পন্ন করে (এটি গুরুত্বপূর্ণ), এবং সেশন কীটি এনক্রিপ্ট করার জন্য আরএসএ ব্যবহার করে।
- পাসফ্রেসগুলিকে কীগুলিতে রূপান্তর করতে এটি একটি কী ডেরাইভেশন ফাংশন ব্যবহার করে। (ওপেনপিজিপি পার্লেন্সে এটিকে এস 2 কে বলা হয় তবে আমি মনে করি "কী ডেরিভিশন ফাংশন" আরও বেশি স্ট্যান্ডার্ড শব্দ।)
- এটি একটি ভাল মোড বাছাই পরিচালনা করে, তাই আপনি ইসিবি ব্যবহার করে কখনই শেষ করবেন না।
- এটি আপনার জন্য কী পরিচালনা পরিচালনা করে, তাই কোন কীগুলি বিশ্বাসযোগ্য, ইত্যাদি সম্পর্কে আপনাকে অ্যাড-হক সিদ্ধান্ত নিতে হবে না etc.
সংক্ষিপ্তসার: আপনি যদি কোনও সুরক্ষা বিশেষজ্ঞ না হন এবং আপনি এইএস, বা এসএএএ -1, বা (স্বর্গ নিষিদ্ধ) এমডি 5 এর স্তরে চিন্তা করছেন , আপনি এটি ভুল করছেন । সুরক্ষা বিশেষজ্ঞদের দ্বারা রচিত একটি লাইব্রেরি ব্যবহার করুন (যেমন বাউন্সি ক্যাসল), যা নিজের নিজস্ব রোলিংয়ের পরিবর্তে সুরক্ষা বিশেষজ্ঞদের দ্বারা নকশাকৃত প্রোটোকল (যেমন এনক্রিপশনের জন্য ওপেনজিপি, বা পাসওয়ার্ড হ্যাশিংয়ের জন্য বিক্রিপ্ট বা স্ক্রিপ্ট) প্রয়োগ করে।
আমি কোনও উপায়ে ক্রিপ্টো বিশেষজ্ঞ নই, তবে আমি নিজের অ্যাড-হক প্রোটোকলগুলি ডিজাইনের চেষ্টা না করার জন্য যথেষ্ট জানি। কেবল স্পষ্ট করে বলতে গেলে, এই সম্পূর্ণ পোস্টটি হ'ল ক্রিপ্টোগ্রাফি 101 উপাদান । সুতরাং যদি এই পোস্টটি আপনার জন্য 100% বোঝায় না, তবে অবশ্যই আপনি ক্রিপ্টোগ্রাফির কাছে কোথাও পাবেন না।