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 சீரற்ற எண்கள் தெரியாது, இதனால் மற்ற செய்தி ஹாஷ்களுக்கு பொருந்தக்கூடிய கையொப்பங்களை உருவாக்க முடியாது. முறையான விளக்கம் கீழே கணிதக் குறியீட்டில் எழுதப்பட்ட லாம்போர்ட் கையொப்பங்கள் எவ்வாறு செயல்படுகின்றன என்பதற்கான சுருக்கமான விளக்கமாகும். இந்த விளக்கத்தில் உள்ள "செய்தி" என்பது நியாயமான அளவு கொண்ட ஒரு நிலையான அளவிலான தொகுதி என்பதை நினைவில் கொள்க, இது தன்னிச்சையாக நீண்ட செய்தி கையொப்பமிடப்பட்டதன் ஹாஷ் விளைவாக இருக்கலாம் (ஆனால் அவசியமில்லை). விசைகள் ஒரு நேர்மறை முழு எண்ணாக இருக்கட்டும் மற்றும் செய்திகளின் தொகுப்பாக இருக்கட்டும். ஒரு வழி செயல்பாடாக இருக்கட்டும். for மற்றும் கையொப்பமிடுபவர் சீரற்ற முறையில் தேர்வு செய்து கணக்கிடுகிறார். தனியார் விசை, மதிப்புகளைக் கொண்டுள்ளது. பொது விசை மதிப்புகளைக் கொண்டுள்ளது. ஒரு செய்தியில் கையெழுத்திடுவது ஒரு செய்தியாக இருக்கட்டும். செய்தியின் கையொப்பம். கையொப்பத்தை சரிபார்ப்பது சரிபார்ப்பவர் அனைவருக்காகவும் அதைச் சரிபார்ப்பதன் மூலம் கையொப்பத்தை சரிபார்க்கிறார். ஒரு செய்தியை உருவாக்குவதற்கு ஈவ் ஒரு வழி செயல்பாட்டை மாற்றியமைக்க வேண்டும். பொருத்தமான அளவிலான உள்ளீடுகள் மற்றும் வெளியீடுகளுக்கு இது கடினமானதாக கருதப்படுகிறது. பாதுகாப்பு அளவுருக்கள் லாம்போர்ட் கையொப்பங்களின் பாதுகாப்பு ஒரு வழி ஹாஷ் செயல்பாட்டின் பாதுகாப்பு மற்றும் அதன் வெளியீட்டின் நீளம் ஆகியவற்றை அடிப்படையாகக் கொண்டது. ஒரு n-பிட் செய்தி செரிமானத்தை உருவாக்கும் ஒரு ஹாஷ் செயல்பாட்டிற்கு, ஒரு ஒற்றை ஹாஷ் செயல்பாட்டு அழைப்பில் சிறந்த முன் படம் மற்றும் 2 வது முன் படம் எதிர்ப்பு ஒரு கிளாசிக்கல் கம்ப்யூட்டிங் மாதிரியின் கீழ் ஒரு மோதலைக் கண்டறிய 2n செயல்பாடுகளின் வரிசையில் குறிக்கிறது. குரோவரின் வழிமுறையின்படி, ஒரு சிறந்த ஹாஷ் செயல்பாட்டின் ஒற்றை அழைப்பில் ஒரு முன்கூட்டிய மோதலைக் கண்டுபிடிப்பது ஒரு குவாண்டம் கம்ப்யூட்டிங் மாதிரியின் கீழ் O (2n/2) செயல்பாடுகளில் மேல் வரம்பாகும். லாம்போர்ட் கையொப்பங்களில், பொது விசை மற்றும் கையொப்பத்தின் ஒவ்வொரு பிட்டும் ஒரு ஹாஷ் செயல்பாட்டிற்கு ஒரு அழைப்பு மட்டுமே தேவைப்படும் குறுகிய செய்திகளை அடிப்படையாகக் கொண்டது. ஒவ்வொரு தனியார் விசை யி, ஜே மற்றும் அதனுடன் தொடர்புடைய ஜி, ஜே பொது விசை ஜோடிக்கும், தனியார் விசை நீளம் தேர்ந்தெடுக்கப்பட வேண்டும், எனவே உள்ளீட்டின் நீளத்தில் ஒரு முன்கூட்டிய தாக்குதலைச் செய்வது வெளியீட்டின் நீளத்தில் ஒரு முன்கூட்டிய தாக்குதலைச் செய்வதை விட வேகமாக இருக்காது. எடுத்துக்காட்டாக, ஒரு சீரழிந்த வழக்கில், ஒவ்வொரு தனிப்பட்ட விசை yi, j உறுப்பும் 16 பிட்கள் மட்டுமே நீளமாக இருந்தால், செய்தியின் செரிமான நீளத்தைப் பொருட்படுத்தாமல், வெளியீட்டுடன் பொருத்தத்தைக் கண்டறிய 216 செயல்பாடுகளில் சாத்தியமான அனைத்து 216 தனியார் விசை சேர்க்கைகளையும் முழுமையாகத் தேடுவது அற்பமானது. எனவே, ஒரு சீரான அமைப்பு வடிவமைப்பு இரண்டு நீளங்களும் தோராயமாக சமமாக இருப்பதை உறுதி செய்கிறது. குரோவரின் வழிமுறையின் அடிப்படையில், ஒரு குவாண்டம் பாதுகாப்பான அமைப்பு, பொது முக்கிய கூறுகளான ஜி, ஜே, தனியார் முக்கிய கூறுகளான யி, ஜே மற்றும் கையொப்ப கூறுகளான சி, ஜே ஆகியவற்றின் நீளம் அமைப்பின் பாதுகாப்பு மதிப்பீட்டை விட 2 மடங்கு அதிகமாக இருக்க வேண்டும். அதாவதுஃ ஒரு 80-பிட் பாதுகாப்பான அமைப்பு 160 பிட்களுக்கு குறையாத உறுப்பு நீளங்களைப் பயன்படுத்துகிறது; ஒரு 128-பிட் பாதுகாப்பான அமைப்பு 256 பிட்களுக்கு குறையாத உறுப்பு நீளங்களைப் பயன்படுத்துகிறது; இருப்பினும் மேலே உள்ள இலட்சியவாத வேலை மதிப்பீடுகள் ஒரு சிறந்த (சரியான) ஹாஷ் செயல்பாட்டைக் கருதுவதால் எச்சரிக்கையுடன் இருக்க வேண்டும், மேலும் அவை ஒரு நேரத்தில் ஒரு முன் படத்தை மட்டுமே குறிவைக்கும் தாக்குதல்களுக்கு மட்டுப்படுத்தப்பட்டுள்ளன. ஒரு வழக்கமான கணினி மாதிரியின் கீழ் 23n/5 முன் படங்களைத் தேடினால், ஒரு முன் படத்திற்கான முழு செலவும் 2n/2 இலிருந்து 22n/5 ஆகக் குறைகிறது என்பது அறியப்படுகிறது. பல செய்தி செரிமானங்களின் தொகுப்பைக் கணக்கில் எடுத்துக்கொண்டு உகந்த உறுப்பு அளவைத் தேர்ந்தெடுப்பது ஒரு திறந்த சிக்கலாகும். 512-பிட் உறுப்புகள் மற்றும் SHA-512 போன்ற பெரிய உறுப்பு அளவுகள் மற்றும் வலுவான ஹாஷ் செயல்பாடுகளைத் தேர்ந்தெடுப்பது, இந்த அறியப்படாதவற்றை நிர்வகிக்க அதிக பாதுகாப்பு விளிம்புகளை உறுதி செய்கிறது. உகப்பாக்கம் மற்றும் மாறுபாடுகள் குறுகிய தனியார் விசை தனியார் விசையின் அனைத்து சீரற்ற எண்களையும் உருவாக்கி சேமித்து வைப்பதற்குப் பதிலாக, போதுமான அளவு கொண்ட ஒரு விசையை சேமிக்க முடியும். (பொதுவாக தனியார் விசையில் உள்ள சீரற்ற எண்களில் ஒன்றின் அதே அளவு.) ஒற்றை விசையை பின்னர் ஒரு கிரிப்டோகிராஃபிக்கல் பாதுகாப்பான சூடோரேண்டம் எண் ஜெனரேட்டருக்கு (சிஎஸ்பிஆர்என்ஜி) விதையாகப் பயன்படுத்தலாம், தேவைப்படும்போது தனிப்பட்ட விசையில் உள்ள அனைத்து சீரற்ற எண்களையும் உருவாக்கலாம். ஒரு செய்தியில் கையெழுத்திடுவது தனிப்பட்ட விசையிலிருந்து கூடுதல் சீரற்ற மதிப்புகளை வெளிப்படுத்தும் என்பதால், ஒரு குறியாக்கவியல் ரீதியாக பாதுகாப்பான ஹாஷ் (அல்லது குறைந்தபட்சம் அதன் வெளியீடு விதையுடன் XOR ஆக இல்லை) CSPRNG க்கு பதிலாக பயன்படுத்த முடியாது என்பதை நினைவில் கொள்க. விரும்பிய பெறுநர்கள் கையெழுத்திடுவதற்கு முன்பு எதிரி கையொப்பத்தை அணுக முடிந்தால், அவர் தனிப்பட்ட விசையிலிருந்து வெளிப்படுத்தப்பட்ட சீரற்ற மதிப்புகளின் ஒவ்வொரு இரட்டிப்புக்கும் பாதுகாப்பு அளவை பாதியாகக் குறைப்பதன் மூலம் ஒரு கையொப்பத்தை உருவாக்க முடியும். அதே வழியில் ஒரு ஒற்றை விசையை ஒரு சிஎஸ்பிஆர்என்ஜி உடன் இணைந்து பல லாம்போர்ட் விசைகளை உருவாக்க பயன்படுத்தலாம். முன்னுரிமை ஒருவிதமான பிந்தைய அளவு பாதுகாப்பான சீரற்ற அணுகல் சிஎஸ்பிஆர்என்ஜி பயன்படுத்தப்பட வேண்டும். பிபிஎஸ் போன்ற கிளாசிக் சிஎஸ்பிஆர்என்ஜி பயன்படுத்தப்படக்கூடாது என்பது குறிப்பிடத்தக்கது. குறுகிய பொது விசை ஒரு லாம்போர்ட் கையொப்பத்தை ஒரு ஹாஷ் பட்டியலுடன் இணைக்கலாம், இதனால் பொது விசையில் உள்ள அனைத்து ஹாஷ்களுக்கும் பதிலாக ஒற்றை மேல் ஹாஷ் மட்டுமே வெளியிட முடியும். அதாவது, மதிப்புகளுக்கு பதிலாக. ஒற்றை மேல் ஹாஷுக்கு எதிராக சரிபார்க்க, கையொப்பத்தில் சீரற்ற எண்கள் மற்றும் பொது விசையின் ஹாஷ் பட்டியலிலிருந்து பயன்படுத்தப்படாத ஹாஷ்கள் இருக்க வேண்டும், இதன் விளைவாக கையொப்பங்கள் இரு மடங்கு அளவு இருக்கும். அதாவது, அனைத்திற்கான மதிப்புகளும் சேர்க்கப்பட வேண்டும். ஒரு ஹாஷ் பட்டியலுக்குப் பதிலாக ஒரு கிரிப்டோகிராஃபிக் குவிப்பான் பயன்படுத்தப்பட்டால் பயன்படுத்தப்படாத ஹாஷ்களை கையொப்பத்தில் சேர்க்க வேண்டிய அவசியமில்லை. குறுகிய விசைகள் மற்றும் கையொப்பம் வின்டெர்னிட்ஸ் கையொப்ப சுருக்கம் தனியார் விசை மற்றும் பொது விசையின் அளவை ஒரு காரணியை விட சற்றே குறைவாகவும், கையொப்பத்திற்கான பாதி காரணியாகவும் குறைக்கிறது. கணக்கீடு ஒரு காரணியை விட சற்று அதிகமாக அதிகரிக்கிறது. CSPRNG இன் தேவைக்கு பதிலாக ஒரு குறியாக்கவியல் பாதுகாப்பான ஹாஷ் போதுமானது. முந்தைய பிரிவில் விளக்கப்பட்டுள்ளபடி கையொப்பத்தின் அளவை இரட்டிப்பாக்கும் செலவில் பொது விசையை ஒரே மதிப்பிற்கு சுருக்க ஒரு ஹாஷ் பட்டியலையும் பயன்படுத்தலாம். பல செய்திகளுக்கான பொது விசை ஒவ்வொரு லாம்போர்ட் பொது விசையையும் ஒரே ஒரு செய்தியில் கையெழுத்திட மட்டுமே பயன்படுத்த முடியும், அதாவது பல செய்திகளை கையொப்பமிட வேண்டுமானால் பல விசைகளை வெளியிட வேண்டும். ஆனால் அந்த பொது விசைகளில் ஒரு ஹாஷ் மரத்தைப் பயன்படுத்தலாம், அதற்கு பதிலாக ஹாஷ் மரத்தின் மேல் ஹாஷை வெளியிடலாம். இது விளைவாக வரும் கையொப்பத்தின் அளவை அதிகரிக்கிறது, ஏனெனில் ஹாஷ் மரத்தின் ஒரு கிளை கையொப்பத்தில் சேர்க்கப்பட வேண்டும், ஆனால் இது ஒரு ஒற்றை ஹாஷை வெளியிடுவதை சாத்தியமாக்குகிறது, பின்னர் அது அதிக எண்ணிக்கையிலான எதிர்கால கையொப்பங்களை சரிபார்க்க பயன்படுத்தப்படலாம். மேலும் காண்க எஸ்/கீ குறிப்புகள் மேலும் வாசிப்பு எல். லாம்போர்ட், ஒரு வழி செயல்பாட்டிலிருந்து டிஜிட்டல் கையொப்பங்களை உருவாக்குதல், தொழில்நுட்ப அறிக்கை எஸ்ஆர்ஐ-சிஎஸ்எல்-98, எஸ்ஆர்ஐ சர்வதேச கணினி அறிவியல் ஆய்வகம், அக்டோபர் 1979. மெர்க்கிள் மரங்களின் திறமையான பயன்பாடு-மெர்க்கிள் மரங்கள் + லாம்போர்ட் கையொப்பங்களின் அசல் நோக்கத்தைப் பற்றிய ஆர்எஸ்ஏ ஆய்வகங்கள் விளக்கம், ஒரு திறமையான ஒரு முறை கையொப்பத் திட்டமாக. ஆடம் லாங்லியின் ஹாஷ் அடிப்படையிலான கையொப்பங்கள் மற்றும் மெர்க்கிள் கையொப்பங்களுக்கான அறிமுகம். BLAKE2b (C + +) குறிப்பின் மேல் லாம்போர்ட் திட்டத்தை குறிப்பு செயல்படுத்துதல் SHA256, SHA512, அல்லது பிளேக்2b (ரஸ்ட்) டிஜிட்டல் கையொப்பத் திட்டங்களின் மேல் லாம்போர்ட் கையொப்பங்களை செயல்படுத்துதல் ஹாஷ் அடிப்படையிலான குறியாக்கவியல்