ডিজিটাল সিগনেচার প্রিমিটিভ আপনাকে যাচাই করতে দেয় যে, কেউ আপনার ডেটাতে কোনো রকম কারসাজি করেনি। এটি স্বাক্ষরিত ডেটার প্রামাণিকতা ও অখণ্ডতা নিশ্চিত করে, কিন্তু গোপনীয়তা রক্ষা করে না। এটি অ্যাসিমেট্রিক, অর্থাৎ এটি একজোড়া কী (পাবলিক কী এবং প্রাইভেট কী) ব্যবহার করে।
ডিজিটাল সিগনেচার প্রিমিটিভটির নিম্নলিখিত বৈশিষ্ট্যগুলো রয়েছে:
- সত্যতা : প্রাইভেট কী না থাকলে, এমন কোনো সিগনেচার তৈরি করা অসম্ভব যা
PublicKeyVerify.Verify(signature, message)দ্বারা যাচাই করা যায়। - অ্যাসিমেট্রিক : সিগনেচার তৈরি করতে এবং তা যাচাই করতে ভিন্ন কী ব্যবহার করা হয়। এর ফলে, যারা নিজেরা সিগনেচার তৈরি করতে পারে না, তাদের কাছে সিগনেচার যাচাই করার জন্য পাবলিক কী বিতরণ করা যায়।
যদি আপনার অপ্রতিসাম্যের প্রয়োজন না হয়, তবে এর পরিবর্তে আরও সরল ও কার্যকর MAC প্রিমিটিভটি ব্যবহার করার কথা বিবেচনা করতে পারেন।
Tink-এ ডিজিটাল স্বাক্ষরের কার্যকারিতা একজোড়া প্রিমিটিভ হিসেবে উপস্থাপন করা হয়:
- ডেটা স্বাক্ষর করার জন্য PublicKeySign
- স্বাক্ষর যাচাই করার জন্য PublicKeyVerify ব্যবহার করা হয়।
একটি কী-টাইপ বেছে নিন
বেশিরভাগ ক্ষেত্রে আমরা ML_DSA_65 বা ECDSA_P256 ব্যবহারের পরামর্শ দিই, তবে আরও বিভিন্ন বিকল্প রয়েছে। সাধারণভাবে, নিম্নলিখিত বিষয়গুলো প্রযোজ্য:
- ML-DSA-65 কোয়ান্টাম নিরাপদ। আমরা এটি সক্রিয়ভাবে বাস্তবায়ন করছি এবং যেসব প্রোগ্রামিং ভাষায় এটি উপলব্ধ , সেগুলোর জন্য এখন এটি সুপারিশ করা হয়।
নিম্নলিখিত নন-পোস্ট-কোয়ান্টাম অ্যালগরিদমগুলোর ক্ষেত্রে, অদূর ভবিষ্যতে আপনাকে কী-টাইপ পরিবর্তন করতে হতে পারে।
- ECDSA_P256 হলো সবচেয়ে বেশি ব্যবহৃত বিকল্প এবং একটি যুক্তিসঙ্গত ডিফল্ট। তবে মনে রাখবেন যে ECDSA সিগনেচার পরিবর্তনযোগ্য ।
- ED25519 সুনির্দিষ্ট সিগনেচার তৈরি করে এবং ECDSA_P256-এর চেয়ে উন্নততর পারফরম্যান্স প্রদান করে।
- RSA_SSA_PKCS1_3072_SHA256_F4 সুনির্দিষ্ট স্বাক্ষর তৈরি করে এবং সর্বোত্তম যাচাইকরণ কর্মক্ষমতা প্রদান করে (কিন্তু স্বাক্ষর করার প্রক্রিয়া ECDSA_P256 বা ED25519-এর চেয়ে অনেক ধীর)।
ন্যূনতম নিরাপত্তা গ্যারান্টি
- স্বাক্ষর করার জন্য ডেটার দৈর্ঘ্য ইচ্ছামত হতে পারে।
- এলিপটিক কার্ভ ভিত্তিক স্কিমগুলির জন্য অ্যাডাপ্টিভ চোজেন-মেসেজ আক্রমণের বিরুদ্ধে ১২৮-বিট নিরাপত্তা স্তর
- RSA ভিত্তিক স্কিমগুলির জন্য অ্যাডাপ্টিভ চোজেন-মেসেজ আক্রমণের বিরুদ্ধে ১১২-বিট নিরাপত্তা স্তর (২০৪৮-বিট কী অনুমোদিত)
নমনীয়তা
একটি সিগনেচার স্কিমকে পরিবর্তনযোগ্য বলা হয় যদি কোনো আক্রমণকারী ইতিমধ্যে স্বাক্ষরিত কোনো বার্তার জন্য একটি ভিন্ন বৈধ সিগনেচার তৈরি করতে পারে। যদিও বেশিরভাগ ক্ষেত্রে এটি কোনো সমস্যা নয়, কিছু ক্ষেত্রে প্রোগ্রামাররা অনুমিতভাবে ধরে নেন যে বৈধ সিগনেচারগুলো অনন্য, এবং এর ফলে অপ্রত্যাশিত ফলাফল দেখা দিতে পারে।
ব্যবহারের উদাহরণ
দেখুন, আমি ডেটা ডিজিটালভাবে স্বাক্ষর করতে চাই।