Lamport signature
ক্রিপ্টোগ্রাফিতে, ল্যাম্পোর্ট স্বাক্ষর বা ল্যাম্পোর্ট এককালীন স্বাক্ষর প্রকল্প হল ডিজিটাল স্বাক্ষর তৈরির একটি পদ্ধতি। ল্যাম্পোর্ট স্বাক্ষর যে কোনও ক্রিপ্টোগ্রাফিকভাবে সুরক্ষিত একমুখী ফাংশন থেকে তৈরি করা যেতে পারে; সাধারণত একটি ক্রিপ্টোগ্রাফিক হ্যাশ ফাংশন ব্যবহার করা হয়। যদিও কোয়ান্টাম কম্পিউটারের সম্ভাব্য বিকাশ আরএসএর মতো অনেক সাধারণ ধরনের ক্রিপ্টোগ্রাফির নিরাপত্তাকে হুমকির মুখে ফেলেছে, তবুও বিশ্বাস করা হয় যে বড় হ্যাশ ফাংশন সহ ল্যাম্পোর্ট স্বাক্ষর সেই ক্ষেত্রেও নিরাপদ থাকবে। প্রতিটি ল্যাম্পোর্ট কী শুধুমাত্র একটি বার্তায় স্বাক্ষর করতে ব্যবহার করা যেতে পারে। যাইহোক, অনেক ল্যাম্পোর্ট স্বাক্ষর একটি মার্কেল হ্যাশ ট্রি দ্বারা পরিচালিত হতে পারে, এইভাবে একটি একক হ্যাশ ট্রি কী অনেক বার্তার জন্য ব্যবহার করা যেতে পারে, যা এটিকে মোটামুটি দক্ষ ডিজিটাল স্বাক্ষর প্রকল্পে পরিণত করে। ল্যাম্পোর্ট স্বাক্ষর ক্রিপ্টোসিস্টেমটি 1979 সালে উদ্ভাবিত হয়েছিল এবং এর উদ্ভাবক লেসলি ল্যাম্পোর্টের নামে নামকরণ করা হয়েছিল। উদাহরণস্বরূপ, অ্যালিসের একটি 256-বিট ক্রিপ্টোগ্রাফিক হ্যাশ ফাংশন এবং এক ধরনের নিরাপদ র্যান্ডম নম্বর জেনারেটর রয়েছে। সে একটি ল্যাম্পোর্ট কী জোড়া তৈরি এবং ব্যবহার করতে চায়, অর্থাৎ একটি ব্যক্তিগত কী এবং একটি সংশ্লিষ্ট পাবলিক কী। ব্যক্তিগত কী তৈরি করতে অ্যালিস এলোমেলো নম্বর জেনারেটর ব্যবহার করে 256 জোড়া এলোমেলো সংখ্যা (মোট 2 × 256 সংখ্যা) তৈরি করে, প্রতিটি সংখ্যা 256 বিট আকারের হয়, অর্থাৎ মোট 2 × 256 × 256 বিট = 128 কিবিট। এটি তার ব্যক্তিগত চাবি এবং সে এটি পরবর্তী ব্যবহারের জন্য একটি নিরাপদ জায়গায় সংরক্ষণ করবে। পাবলিক কী তৈরি করতে তিনি প্রাইভেট কী-তে 512টি র্যান্ডম নম্বরের প্রতিটি হ্যাশ করেন, এইভাবে 512টি হ্যাশ তৈরি করেন, প্রতিটি 256 বিট আকারের। (এছাড়াও মোট 128 কেবিট।) এই 512টি হ্যাশ তাঁর পাবলিক কী গঠন করে, যা তিনি বিশ্বের সঙ্গে ভাগ করে নেবেন। পরে বার্তায় স্বাক্ষর করে অ্যালিস একটি বার্তায় স্বাক্ষর করতে চায়। প্রথমে সে একটি 256-বিট হ্যাশ সম্-এ বার্তাটি হ্যাশ করে। তারপর, হ্যাশের প্রতিটি বিটের জন্য, বিটের মানের উপর ভিত্তি করে, সে তার ব্যক্তিগত কী তৈরি করে এমন সংখ্যার সংশ্লিষ্ট জোড়া থেকে একটি সংখ্যা বেছে নেয় (অর্থাৎ, যদি বিটটি 0 হয়, তবে প্রথম সংখ্যাটি বেছে নেওয়া হয়, এবং যদি বিটটি 1 হয়, তবে দ্বিতীয়টি বেছে নেওয়া হয়)। এটি 256টি সংখ্যার একটি ক্রম তৈরি করে। যেহেতু প্রতিটি সংখ্যাই 256 বিট দীর্ঘ, তাই তার স্বাক্ষরের মোট আকার হবে 256 × 256 বিট = 65536 বিট = 64 কিবিট। এই সংখ্যাগুলি (মূলত এলোমেলোভাবে বাছাই করা) তাঁর স্বাক্ষর এবং তিনি সেগুলি বার্তার সাথে প্রকাশ করেন। লক্ষ্য করুন যে এখন যেহেতু অ্যালিসের ব্যক্তিগত কী ব্যবহার করা হয়েছে, এটি আর কখনও ব্যবহার করা উচিত নয়। তাকে অবশ্যই অন্যান্য 256 নম্বরগুলি ধ্বংস করতে হবে যা সে স্বাক্ষরের জন্য ব্যবহার করেনি। অন্যথায়, ব্যক্তিগত কী পুনরায় ব্যবহার করে প্রতিটি অতিরিক্ত স্বাক্ষর প্রতিপক্ষের বিরুদ্ধে সুরক্ষা স্তরকে হ্রাস করে যা পরে তাদের কাছ থেকে মিথ্যা স্বাক্ষর তৈরি করতে পারে। তারপর বব অ্যালিসের স্বাক্ষর যাচাই করতে চায়। তিনি একটি 256-বিট হ্যাশ যোগফল পাওয়ার জন্য বার্তাটি হ্যাশ করেন। তারপর সে অ্যালিসের পাবলিক কী-র 256টি হ্যাশ বের করার জন্য হ্যাশ যোগফলের বিটগুলি ব্যবহার করে। অ্যালিস স্বাক্ষরের জন্য এলোমেলো সংখ্যাগুলি যেভাবে বেছে নিয়েছিল সেভাবেই সে হ্যাশগুলি বেছে নেয়। অর্থাৎ, যদি বার্তা হ্যাশের প্রথম বিটটি 0 হয়, তবে সে প্রথম জুটির মধ্যে প্রথম হ্যাশটি বেছে নেয়, ইত্যাদি। তারপর বব অ্যালিসের স্বাক্ষরের 256টি র্যান্ডম নম্বরের প্রত্যেকটি হ্যাশ করে। এটি তাকে 256 হ্যাশ দেয়। যদি এই 256 টি হ্যাশ ঠিক অ্যালিসের পাবলিক কী থেকে নেওয়া 256 টি হ্যাশের সাথে মেলে তবে স্বাক্ষর ঠিক আছে। যদি তা না হয়, তাহলে স্বাক্ষরটি ভুল। লক্ষ্য করুন যে অ্যালিস বার্তাটির স্বাক্ষর প্রকাশের আগে, ব্যক্তিগত কী-তে 2 × 256 এলোমেলো সংখ্যা অন্য কেউ জানেন না। সুতরাং, অন্য কেউ স্বাক্ষরের জন্য 256টি এলোমেলো সংখ্যার সঠিক তালিকা তৈরি করতে পারে না। এবং অ্যালিস স্বাক্ষরটি প্রকাশ করার পরে, অন্যরা এখনও অন্যান্য 256টি এলোমেলো সংখ্যা জানে না এবং এইভাবে অন্যান্য বার্তা হ্যাশের সাথে মানানসই স্বাক্ষর তৈরি করতে পারে না। গাণিতিক স্বরলিপিতে লিখিত ল্যাম্পোর্ট স্বাক্ষর কীভাবে কাজ করে তার একটি সংক্ষিপ্ত বিবরণ নীচে দেওয়া হল। মনে রাখবেন যে এই বর্ণনার "বার্তা" যুক্তিসঙ্গত আকারের একটি নির্দিষ্ট আকারের ব্লক, সম্ভবত (তবে অগত্যা নয়) একটি নির্বিচারে দীর্ঘ বার্তা স্বাক্ষরিত হওয়ার হ্যাশ ফলাফল। কীগুলি একটি ধনাত্মক পূর্ণসংখ্যা হতে হবে এবং বার্তাগুলির সমষ্টি হতে হবে। একমুখী ফাংশন হতে দিন। জন্য এবং স্বাক্ষরকারী এলোমেলোভাবে বেছে নেয় এবং গণনা করে। ব্যক্তিগত কী, মান নিয়ে গঠিত। পাবলিক কী মান নিয়ে গঠিত। একটি বার্তায় স্বাক্ষর করা একটি বার্তা হতে দিন। বার্তাটির স্বাক্ষর হল। একটি স্বাক্ষর যাচাই করা যাচাইকারী সকলের জন্য এটি পরীক্ষা করে একটি স্বাক্ষরকে বৈধ করে। একটি বার্তা তৈরি করার জন্য ইভকে একমুখী ফাংশনটি বিপরীত করতে হবে। উপযুক্ত আকারের ইনপুট এবং আউটপুটের জন্য এটি অপ্রয়োজনীয় বলে মনে করা হয়। নিরাপত্তা পরামিতি ল্যাম্পোর্ট স্বাক্ষরের নিরাপত্তা একমুখী হ্যাশ ফাংশনের নিরাপত্তা এবং এর আউটপুটের দৈর্ঘ্যের উপর ভিত্তি করে। একটি হ্যাশ ফাংশনের জন্য যা একটি এন-বিট বার্তা ডাইজেস্ট তৈরি করে, একটি একক হ্যাশ ফাংশনের আমন্ত্রণে আদর্শ প্রিমেজ এবং 2য় প্রিমেজ প্রতিরোধ একটি ধ্রুপদী কম্পিউটিং মডেলের অধীনে সংঘর্ষ খুঁজে বের করার জন্য 2এন ক্রিয়াকলাপের ক্রমকে বোঝায়। গ্রোভারের অ্যালগরিদম অনুসারে, একটি আদর্শ হ্যাশ ফাংশনের একক আহ্বানের উপর একটি প্রিমেজ সংঘর্ষ খুঁজে পাওয়া কোয়ান্টাম কম্পিউটিং মডেলের অধীনে ও (2এন/2) অপারেশনের উপরের সীমাবদ্ধতা। ল্যাম্পোর্ট স্বাক্ষরগুলিতে, সর্বজনীন কী এবং স্বাক্ষরের প্রতিটি বিট সংক্ষিপ্ত বার্তার উপর ভিত্তি করে একটি হ্যাশ ফাংশনে শুধুমাত্র একটি আহ্বানের প্রয়োজন হয়। প্রতিটি প্রাইভেট কী yi, j এবং এর সংশ্লিষ্ট জি, জে পাবলিক কী জুটির জন্য, প্রাইভেট কী দৈর্ঘ্য অবশ্যই নির্বাচন করতে হবে যাতে ইনপুটের দৈর্ঘ্যের উপর প্রিমেজ আক্রমণ করা আউটপুটের দৈর্ঘ্যের উপর প্রিমেজ আক্রমণ করার চেয়ে দ্রুত হয় না। উদাহরণস্বরূপ, একটি অধঃপতিত ক্ষেত্রে, যদি প্রতিটি ব্যক্তিগত কী yi, j উপাদান দৈর্ঘ্যে মাত্র 16 বিট হয়, তবে বার্তার ডাইজেস্ট দৈর্ঘ্য নির্বিশেষে আউটপুটের সাথে একটি মিল খুঁজে পেতে 216 টি ক্রিয়াকলাপে সমস্ত 216 টি সম্ভাব্য ব্যক্তিগত কী সংমিশ্রণ অনুসন্ধান করা তুচ্ছ। অতএব, একটি ভারসাম্যপূর্ণ সিস্টেম ডিজাইন নিশ্চিত করে যে উভয় দৈর্ঘ্য প্রায় সমান। গ্রোভারের অ্যালগরিদমের উপর ভিত্তি করে, একটি কোয়ান্টাম সুরক্ষিত সিস্টেম, পাবলিক কী উপাদানগুলির দৈর্ঘ্য জি, জে, ব্যক্তিগত কী উপাদানগুলি ওয়াই, জে এবং স্বাক্ষর উপাদানগুলি সি, জে অবশ্যই সিস্টেমের সুরক্ষা রেটিংয়ের চেয়ে 2 গুণ বেশি হতে হবে। অর্থাৎঃ একটি 80-বিট সুরক্ষিত সিস্টেম 160 বিটের কম নয় এমন উপাদান দৈর্ঘ্য ব্যবহার করে; একটি 128-বিট সুরক্ষিত সিস্টেম 256 বিটের কম নয় এমন উপাদান দৈর্ঘ্য ব্যবহার করে; তবে সতর্কতা অবলম্বন করা উচিত কারণ উপরের আদর্শবাদী কাজের অনুমানগুলি একটি আদর্শ (নিখুঁত) হ্যাশ ফাংশন ধরে নেয় এবং এমন আক্রমণের মধ্যে সীমাবদ্ধ যা একবারে শুধুমাত্র একটি প্রাথমিক চিত্রকে লক্ষ্য করে। এটি একটি প্রচলিত কম্পিউটিং মডেলের অধীনে জানা যায় যে যদি 23n/5 প্রিমেজ অনুসন্ধান করা হয়, তবে প্রতি প্রিমেজ সম্পূর্ণ খরচ 2n/2 থেকে 22n/5-এ হ্রাস পায়। একাধিক বার্তা ডাইজেস্ট সংগ্রহের বিষয়টি বিবেচনা করে সর্বোত্তম উপাদানের আকার নির্বাচন করা একটি উন্মুক্ত সমস্যা। বড় উপাদানের আকার এবং শক্তিশালী হ্যাশ ফাংশন, যেমন 512-বিট উপাদান এবং এসএইচএ-512-এর নির্বাচন, এই অজানা বিষয়গুলি পরিচালনা করার জন্য বৃহত্তর নিরাপত্তা মার্জিন নিশ্চিত করে। অপ্টিমাইজেশান এবং ভেরিয়েন্ট শর্ট প্রাইভেট কী ব্যক্তিগত কী-এর সমস্ত এলোমেলো সংখ্যা তৈরি এবং সংরক্ষণ করার পরিবর্তে, পর্যাপ্ত আকারের একটি একক কী সংরক্ষণ করা যেতে পারে। (সাধারণত ব্যক্তিগত কী-তে এলোমেলো সংখ্যার মতো একই আকার।) একক কীটি তখন একটি ক্রিপ্টোগ্রাফিকভাবে সুরক্ষিত সিউডোরান্ডম নম্বর জেনারেটরের (সি. এস. পি. আর. এন. জি) বীজ হিসাবে ব্যবহার করা যেতে পারে যাতে প্রয়োজনে ব্যক্তিগত কীতে সমস্ত এলোমেলো সংখ্যা তৈরি করা যায়। লক্ষ্য করুন যে একটি ক্রিপ্টোগ্রাফিকভাবে সুরক্ষিত হ্যাশ (বা কমপক্ষে যার আউটপুট বীজের সাথে এক্সওআর নয়) সিএসপিআরএনজির পরিবর্তে ব্যবহার করা যাবে না কারণ একটি বার্তায় স্বাক্ষর করলে ব্যক্তিগত কী থেকে অতিরিক্ত এলোমেলো মান প্রকাশ পাবে। যদি বিরোধী অভিপ্রায় প্রাপকদের আগে স্বাক্ষরটি অ্যাক্সেস করতে পারে, তবে সে ব্যক্তিগত কী থেকে প্রকাশিত এলোমেলো মানগুলির প্রতিটি দ্বিগুণকরণের জন্য সুরক্ষা স্তরের অর্ধেক সহ একটি স্বাক্ষর তৈরি করতে পারে। একইভাবে একটি সি. এস. পি. আর. এন. জি-র সঙ্গে একটি একক কী ব্যবহার করে অনেকগুলি ল্যাম্পোর্ট কী তৈরি করা যেতে পারে। পছন্দসইভাবে কোনও ধরনের পোস্ট-কোয়ান্টাম সুরক্ষিত র্যান্ডম অ্যাক্সেস সি. এস. পি. আর. এন. জি ব্যবহার করা উচিত। উল্লেখযোগ্যভাবে, বিবিএস-এর মতো ক্লাসিক সিএসপিআরএনজি ব্যবহার করা উচিত নয়। একটি ল্যাম্পোর্ট স্বাক্ষর একটি হ্যাশ তালিকার সাথে একত্রিত করা যেতে পারে, যা পাবলিক কী-তে সমস্ত হ্যাশের পরিবর্তে শুধুমাত্র একক শীর্ষ হ্যাশ প্রকাশ করা সম্ভব করে তোলে। অর্থাৎ, মূল্যবোধের পরিবর্তে। একক শীর্ষ হ্যাশের বিরুদ্ধে যাচাই করার জন্য, স্বাক্ষরটিতে অবশ্যই র্যান্ডম নম্বর এবং পাবলিক কী-এর হ্যাশ তালিকা থেকে অব্যবহৃত হ্যাশগুলি অন্তর্ভুক্ত করতে হবে, যার ফলে স্বাক্ষরগুলি প্রায় দ্বিগুণ আকারের হয়। অর্থাৎ, সকলের জন্য মূল্যবোধগুলি অন্তর্ভুক্ত করা প্রয়োজন। অব্যবহৃত হ্যাশগুলি স্বাক্ষরের মধ্যে অন্তর্ভুক্ত করার প্রয়োজন নেই যদি হ্যাশ তালিকার পরিবর্তে একটি ক্রিপ্টোগ্রাফিক অ্যাকিউমুলেটর ব্যবহার করা হয়। ছোট কী এবং স্বাক্ষর উইন্টারনিটজ স্বাক্ষর সংকোচন ব্যক্তিগত কী এবং পাবলিক কী-এর আকারকে একটি ফ্যাক্টরের চেয়ে সামান্য কম করে এবং স্বাক্ষরের জন্য সেই ফ্যাক্টরের অর্ধেক করে দেয়। গণনা একটি ফ্যাক্টরের চেয়ে সামান্য বেশি বৃদ্ধি পায়। সি. এস. পি. আর. এন. জি-র প্রয়োজনের পরিবর্তে একটি ক্রিপ্টোগ্রাফিকভাবে সুরক্ষিত হ্যাশই যথেষ্ট। একটি হ্যাশ তালিকা পূর্ববর্তী বিভাগে বর্ণিত স্বাক্ষরের আকার দ্বিগুণ করার ব্যয়ে পাবলিক কীটিকে একক মূল্যে সংক্ষিপ্ত করার জন্যও ব্যবহার করা যেতে পারে। একাধিক বার্তার জন্য পাবলিক কী প্রতিটি ল্যাম্পোর্ট পাবলিক কী শুধুমাত্র একটি বার্তায় স্বাক্ষর করার জন্য ব্যবহার করা যেতে পারে, যার অর্থ অনেক বার্তা স্বাক্ষর করতে হলে অনেকগুলি কী প্রকাশ করতে হবে। কিন্তু হ্যাশ গাছের পরিবর্তে হ্যাশ গাছের উপরের হ্যাশ প্রকাশ করে সেই পাবলিক কীগুলিতে একটি হ্যাশ ট্রি ব্যবহার করা যেতে পারে। এটি ফলস্বরূপ স্বাক্ষরের আকার বাড়ায়, যেহেতু হ্যাশ গাছের একটি শাখা স্বাক্ষরের মধ্যে অন্তর্ভুক্ত করতে হয়, তবে এটি একটি একক হ্যাশ প্রকাশ করা সম্ভব করে তোলে যা ভবিষ্যতে বিপুল সংখ্যক স্বাক্ষর যাচাই করতে ব্যবহার করা যেতে পারে। আরও দেখুন এস/কেইওয়াই রেফারেন্স আরও পড়া এল. ল্যাম্পোর্ট, একমুখী ফাংশন থেকে ডিজিটাল স্বাক্ষর নির্মাণ, প্রযুক্তিগত প্রতিবেদন এসআরআই-সিএসএল-98, এসআরআই ইন্টারন্যাশনাল কম্পিউটার সায়েন্স ল্যাবরেটরি, অক্টোবর 1979। মার্কেল গাছের দক্ষ ব্যবহার-আর. এস. এ ল্যাবগুলি মার্কেল গাছ + ল্যাম্পোর্ট স্বাক্ষরের মূল উদ্দেশ্যের ব্যাখ্যা, একটি দক্ষ এককালীন স্বাক্ষর প্রকল্প হিসাবে। অ্যাডাম ল্যাংলি দ্বারা হ্যাশ-ভিত্তিক স্বাক্ষর এবং মার্কেল স্বাক্ষরের একটি ভূমিকা। ব্ল্যাক2বি (সি + +)-এর উপরে ল্যাম্পোর্ট স্কিমের রেফারেন্স বাস্তবায়ন এসএইচএ256, এসএইচএ512, বা ব্লেক2বি (রাস্ট)-এর উপরে ল্যাম্পোর্ট স্বাক্ষরের বাস্তবায়ন হ্যাশ-ভিত্তিক ডিজিটাল স্বাক্ষর স্কিম