நீங்கள் ஒரு வங்கி பெட்டகத்தைப் பாதுகாக்க வேண்டிய சூழ்நிலையைக் கவனியுங்கள். இது ஒரு சாவி இல்லாமல் முற்றிலும் அசைக்க முடியாததாகக் கருதப்படுகிறது, இது வேலையின் முதல் நாளிலேயே உங்களுக்கு வழங்கப்படுகிறது. சாவியை பாதுகாப்பாக சேமிப்பதே உங்கள் குறிக்கோள்.
தேவைக்கேற்ப சேமிப்பகத்திற்கான அணுகலை வழங்குவதன் மூலம், எல்லா நேரங்களிலும் விசையை உங்களுடன் வைத்திருக்க முடிவு செய்கிறீர்கள் என்று வைத்துக்கொள்வோம். ஆனால் இதுபோன்ற தீர்வு நடைமுறையில் சரியாக இல்லை என்பதை நீங்கள் விரைவில் உணருவீர்கள், ஏனென்றால் ஒவ்வொரு முறை சேமிப்பகத்தைத் திறக்கும்போதும் உங்கள் உடல் இருப்பு தேவைப்படுகிறது. உங்களுக்கு வாக்குறுதியளிக்கப்பட்ட விடுமுறை பற்றி என்ன? கூடுதலாக, கேள்வி இன்னும் பயமுறுத்துகிறது: உங்கள் ஒரே சாவியை நீங்கள் இழந்தால் என்ன செய்வது?
உங்கள் விடுமுறையை மனதில் கொண்டு, சாவியின் நகலை உருவாக்கி மற்றொரு பணியாளரிடம் ஒப்படைக்க முடிவு செய்கிறீர்கள். இருப்பினும், இது சிறந்ததல்ல என்பதை நீங்கள் புரிந்துகொள்கிறீர்கள். விசைகளின் எண்ணிக்கையை இரட்டிப்பாக்குவதன் மூலம், நீங்கள் சாவி திருடுவதற்கான வாய்ப்புகளை இரட்டிப்பாக்குகிறீர்கள்.
விரக்தியில், நீங்கள் நகலை அழித்து அசல் விசையை பாதியாகப் பிரிக்க முடிவு செய்கிறீர்கள். இப்போது, சாவியைச் சேகரிக்கவும் பெட்டகத்தைத் திறக்கவும் முக்கிய துண்டுகளைக் கொண்ட இரண்டு நம்பகமான நபர்கள் உடல் ரீதியாக இருக்க வேண்டும் என்று நீங்கள் நினைப்பீர்கள். இதன் பொருள் ஒரு திருடன் இரண்டு துண்டுகளை திருட வேண்டும், இது ஒரு சாவியை திருடுவதை விட இரண்டு மடங்கு கடினம். இருப்பினும், இந்த திட்டம் ஒரு விசையை விட சிறந்ததல்ல என்பதை நீங்கள் விரைவில் புரிந்துகொள்கிறீர்கள், ஏனென்றால் யாராவது பாதி சாவியை இழந்தால், முழு விசையையும் மீட்டெடுக்க முடியாது.
தொடர்ச்சியான கூடுதல் விசைகள் மற்றும் பூட்டுகள் மூலம் சிக்கலை தீர்க்க முடியும், ஆனால் இந்த அணுகுமுறை விரைவில் தேவைப்படும் много விசைகள் மற்றும் பூட்டுகள். பாதுகாப்பு முழுவதுமாக ஒருவரைச் சார்ந்திருக்காத வகையில் சாவியைப் பகிர்வதே சிறந்த வடிவமைப்பு என்று நீங்கள் முடிவு செய்கிறீர்கள். துண்டுகளின் எண்ணிக்கைக்கு சில வரம்புகள் இருக்க வேண்டும் என்றும் நீங்கள் முடிவு செய்கிறீர்கள், இதனால் ஒரு துண்டு தொலைந்துவிட்டால் (அல்லது ஒருவர் விடுமுறையில் சென்றால்), முழு விசையும் செயல்படும்.
ஒரு ரகசியத்தை எப்படி பகிர்ந்து கொள்வது
1979 ஆம் ஆண்டு ஆதி ஷமீர் தனது படைப்புகளை வெளியிடும் போது இந்த வகையான முக்கிய மேலாண்மை திட்டம் பற்றி சிந்திக்கப்பட்டது . என்று அழைக்கப்படுவதை கட்டுரை சுருக்கமாக விளக்குகிறது
ஒரு ரகசிய மதிப்பை (கிரிப்டோகிராஃபிக் விசை போன்றவை) திறமையாகப் பிரிப்பதற்கான நுழைவுத் திட்டம்
பாகங்கள். பின்னர், எப்போது, எப்போது மட்டுமே
из
பாகங்கள் கூடியிருந்தன, நீங்கள் ரகசியத்தை எளிதாக மீட்டெடுக்கலாம்
.
பாதுகாப்புக் கண்ணோட்டத்தில், இந்தத் திட்டத்தின் ஒரு முக்கியமான அம்சம் என்னவென்றால், தாக்குபவர் தன்னிடம் குறைந்தபட்சம் எதுவும் இல்லாதவரை முற்றிலும் எதையும் அறிந்திருக்கக்கூடாது.
பாகங்கள். இருப்பும் கூட
பாகங்கள் எந்த தகவலையும் வழங்கக்கூடாது. இதை சொத்து என்கிறோம் சொற்பொருள் பாதுகாப்பு.
பல்லுறுப்புக்கோவை இடைச்செருகல்
ஷமீர் வாசல் திட்டம்
கருத்தை சுற்றி கட்டப்பட்டது பல்லுறுப்புக்கோவை இடைச்செருகல். இந்த கருத்தை நீங்கள் அறிந்திருக்கவில்லை என்றால், இது மிகவும் எளிமையானது. உண்மையில், நீங்கள் எப்போதாவது ஒரு வரைபடத்தில் புள்ளிகளை வரைந்திருந்தால், அவற்றை கோடுகள் அல்லது வளைவுகளுடன் இணைத்திருந்தால், நீங்கள் ஏற்கனவே அதைப் பயன்படுத்திவிட்டீர்கள்!

இரண்டு புள்ளிகள் மூலம் நீங்கள் பட்டம் 2 இன் வரம்பற்ற பல்லுறுப்புக்கோவைகளை வரையலாம். அவற்றிலிருந்து ஒரே ஒன்றைத் தேர்ந்தெடுக்க, உங்களுக்கு மூன்றாவது புள்ளி தேவை. விளக்கம்:
பட்டம் ஒன்றுடன் கூடிய பல்லுறுப்புக்கோவையைக் கவனியுங்கள்,
. இந்த செயல்பாட்டை வரைபடத்தில் திட்டமிட விரும்பினால், உங்களுக்கு எத்தனை புள்ளிகள் தேவை? சரி, இது ஒரு லீனியர் சார்பு என்று நமக்குத் தெரியும், அது ஒரு கோட்டை உருவாக்குகிறது, எனவே அதற்கு குறைந்தது இரண்டு புள்ளிகள் தேவை. அடுத்து, பட்டம் இரண்டு கொண்ட பல்லுறுப்புக்கோவை செயல்பாட்டைக் கவனியுங்கள்,
. இது ஒரு இருபடிச் செயல்பாடாகும், எனவே வரைபடத்தைத் திட்டமிட குறைந்தபட்சம் மூன்று புள்ளிகள் தேவை. மூன்றாம் பட்டம் கொண்ட பல்லுறுப்புக்கோவை எப்படி இருக்கும்? குறைந்தது நான்கு புள்ளிகள். மற்றும் பல.
இந்தச் சொத்தைப் பற்றிய மிகவும் அருமையான விஷயம் என்னவென்றால், பல்லுறுப்புக்கோவை செயல்பாட்டின் அளவு மற்றும் குறைந்தபட்சம்
புள்ளிகள், இந்த பல்லுறுப்புக்கோவை செயல்பாட்டிற்கான கூடுதல் புள்ளிகளைப் பெறலாம். இந்த கூடுதல் புள்ளிகளின் எக்ஸ்ட்ராபோலேஷன் என்று அழைக்கிறோம் பல்லுறுப்புக்கோவை இடைச்செருகல்.
ஒரு ரகசியத்தை உருவாக்குதல்
ஷமீரின் புத்திசாலித்தனமான திட்டம் இங்குதான் செயல்படுகிறது என்பதை நீங்கள் ஏற்கனவே உணர்ந்திருப்பீர்கள். நம் ரகசியத்தை சொல்லலாம்
- அது
. நாம் திரும்ப முடியும்
வரைபடத்தில் ஒரு புள்ளி வரை
மற்றும் பட்டத்துடன் கூடிய பல்லுறுப்புக்கோவை செயல்பாட்டைக் கொண்டு வாருங்கள்
, இது இந்த புள்ளியை திருப்திப்படுத்துகிறது. என்பதை நினைவு கூர்வோம்
தேவையான துண்டுகளின் நுழைவாயிலாக இருக்கும், எனவே நாம் வாசலை மூன்று துண்டுகளாக அமைத்தால், பட்டம் இரண்டு கொண்ட பல்லுறுப்புக்கோவை செயல்பாட்டை நாம் தேர்வு செய்ய வேண்டும்.
நமது பல்லுறுப்புக்கோவை வடிவம் கொண்டிருக்கும்
அங்கு
и
— தோராயமாக தேர்ந்தெடுக்கப்பட்ட நேர்மறை முழு எண்கள். நாம் பட்டம் கொண்ட பல்லுறுப்புக்கோவையை உருவாக்குகிறோம்
, இலவச குணகம் எங்கே
- இது எங்கள் ரகசியம்
, மற்றும் அடுத்தடுத்த ஒவ்வொன்றிற்கும்
விதிமுறைகளில் தோராயமாக தேர்ந்தெடுக்கப்பட்ட நேர்மறை குணகம் உள்ளது. நாம் அசல் உதாரணத்திற்குத் திரும்பி, அதைக் கருதினால்
, பின்னர் நாம் செயல்பாட்டைப் பெறுகிறோம்
.
இந்த கட்டத்தில் நாம் இணைப்பதன் மூலம் துண்டுகளை உருவாக்க முடியும்
தனிப்பட்ட முழு எண்கள்
அங்கு
(ஏனென்றால் அது நமது ரகசியம்). இந்த எடுத்துக்காட்டில், மூன்று வாசலில் நான்கு துண்டுகளை விநியோகிக்க விரும்புகிறோம், எனவே தோராயமாக புள்ளிகளை உருவாக்குகிறோம்
சாவியின் பாதுகாவலர்களான நான்கு நம்பகமான நபர்களுக்கு ஒரு புள்ளியை அனுப்பவும். அதையும் மக்களுக்கு தெரியப்படுத்துகிறோம்
, இது பொதுத் தகவலாகக் கருதப்படுவதால் மீட்புக்கு அவசியமானது
.
இரகசியத்தை மீட்டெடுப்பது
பல்லுறுப்புக்கோவை இடைக்கணிப்பு மற்றும் அது ஷமீரின் த்ரெஷ்ஹோல்ட் திட்டத்தின் கீழ் எவ்வாறு உள்ளது என்பதை நாங்கள் ஏற்கனவே விவாதித்துள்ளோம்.
. நான்கு அறங்காவலர்களில் ஏதேனும் மூன்று பேர் மீட்டெடுக்க விரும்பும் போது
, அவை இடைக்கணிப்பு மட்டுமே செய்ய வேண்டும்
அதன் தனித்துவமான புள்ளிகளுடன். இதைச் செய்ய, அவர்கள் தங்கள் புள்ளிகளைத் தீர்மானிக்க முடியும்
மற்றும் பின்வரும் சூத்திரத்தைப் பயன்படுத்தி லாக்ரேஞ்ச் இடைக்கணிப்பு பல்லுறுப்புக்கோவையைக் கணக்கிடவும். கணிதத்தை விட நிரலாக்கமானது உங்களுக்கு தெளிவாக இருந்தால், பை அடிப்படையில் ஒரு ஆபரேட்டர் for, இது அனைத்து முடிவுகளையும் பெருக்கும் மற்றும் சிக்மா ஆகும் for, இது எல்லாவற்றையும் சேர்க்கிறது.


மணிக்கு
நாம் இதை இப்படி தீர்த்து, நமது அசல் பல்லுறுப்புக்கோவை செயல்பாட்டை திரும்பப் பெறலாம்:

அது நமக்குத் தெரியும் என்பதால்
, மீட்பு
எளிமையாக முடிந்தது:

பாதுகாப்பற்ற முழு எண் கணிதத்தைப் பயன்படுத்துதல்
ஷமீரின் அடிப்படை யோசனையை நாங்கள் வெற்றிகரமாகப் பயன்படுத்தியிருந்தாலும்
, இது வரை நாம் அலட்சியப்படுத்திய ஒரு பிரச்சனையை விட்டு விடுகிறோம். எங்கள் பல்லுறுப்புக்கோவை செயல்பாடு பாதுகாப்பற்ற முழு எண் கணிதத்தைப் பயன்படுத்துகிறது. எங்கள் செயல்பாட்டின் வரைபடத்தில் தாக்குபவர் பெறும் ஒவ்வொரு கூடுதல் புள்ளிக்கும், மற்ற புள்ளிகளுக்கு குறைவான சாத்தியக்கூறுகள் உள்ளன என்பதை நினைவில் கொள்ளவும். முழு எண்கணிதத்தைப் பயன்படுத்தி ஒரு பல்லுறுப்புக்கோவைச் செயல்பாட்டிற்கான புள்ளிகளின் எண்ணிக்கையை அதிகரிக்கும்போது இதை உங்கள் கண்களால் பார்க்கலாம். இது எங்களால் கூறப்பட்ட பாதுகாப்பு இலக்கிற்கு எதிர்மறையானது, ஏனென்றால் தாக்குபவர் குறைந்தபட்சம் அடையும் வரை அவர்களுக்கு எதுவும் தெரியாது
துண்டுகள்.
முழு எண் எண்கணித சுற்று எவ்வளவு பலவீனமானது என்பதை நிரூபிக்க, தாக்குபவர் இரண்டு புள்ளிகளைப் பெற்ற ஒரு காட்சியைக் கவனியுங்கள்.
மற்றும் பொது தகவல் தெரியும்
. இந்த தகவலிலிருந்து அவர் யூகிக்க முடியும்
, இரண்டுக்கு சமம், மேலும் அறியப்பட்ட மதிப்புகளை சூத்திரத்தில் செருகவும்
и
.

தாக்குபவர் பின்னர் கண்டுபிடிக்க முடியும்
, எண்ணுதல்
:

நாங்கள் வரையறுத்ததிலிருந்து
தோராயமாக தேர்ந்தெடுக்கப்பட்ட நேர்மறை முழு எண்களாக, குறைந்த எண்ணிக்கையிலான சாத்தியங்கள் உள்ளன
. இந்தத் தகவலைப் பயன்படுத்தி, தாக்குபவர் முடிவு செய்யலாம்
, 5 க்கு மேல் எதுவும் செய்யும் என்பதால்
எதிர்மறை. நாங்கள் தீர்மானித்ததிலிருந்து இது உண்மையாக மாறிவிடும் 
தாக்குபவர் சாத்தியமான மதிப்புகளைக் கணக்கிடலாம்
பதிலாக
в
:

வரையறுக்கப்பட்ட விருப்பங்களுடன்
மதிப்புகளைத் தேர்ந்தெடுத்து சரிபார்ப்பது எவ்வளவு எளிது என்பது தெளிவாகிறது
. இங்கே ஐந்து விருப்பங்கள் மட்டுமே உள்ளன.
பாதுகாப்பற்ற முழு எண் கணிதம் மூலம் சிக்கலைத் தீர்ப்பது
இந்த பாதிப்பை அகற்ற, ஷமிர் மட்டு எண்கணிதத்தைப் பயன்படுத்த பரிந்துரைக்கிறார்
மீது
அங்கு
и
- அனைத்து பகா எண்களின் தொகுப்பு.
மட்டு எண்கணிதம் எவ்வாறு செயல்படுகிறது என்பதை விரைவாக நினைவில் கொள்வோம். கைகளைக் கொண்ட கடிகாரம் என்பது ஒரு பழக்கமான கருத்து. அவள் ஒரு கடிகாரத்தைப் பயன்படுத்துகிறாள்
. மணி நேரம் பன்னிரண்டைக் கடந்தவுடன், அது ஒன்றுக்குத் திரும்புகிறது. இந்த அமைப்பின் ஒரு சுவாரஸ்யமான சொத்து என்னவென்றால், கடிகாரத்தைப் பார்ப்பதன் மூலம், மணிநேர கை எத்தனை புரட்சிகளை உருவாக்கியது என்பதை நாம் கணக்கிட முடியாது. எவ்வாறாயினும், மணிநேர முள் 12 நான்கு முறை கடந்துவிட்டதாக அறிந்தால், ஒரு எளிய சூத்திரத்தைப் பயன்படுத்தி எத்தனை மணிநேரங்கள் கடந்துவிட்டன என்பதை நாம் முழுமையாக தீர்மானிக்க முடியும்.
அங்கு
எங்கள் வகுப்பான் (இங்கே
),
குணகம் (எத்தனை முறை வகுப்பான் அசல் எண்ணிற்குள் மீதம் இல்லாமல் செல்கிறது, இங்கே
), மற்றும்
மீதமுள்ளவை, இது வழக்கமாக ஒரு மாடுலோ ஆபரேட்டர் அழைப்பை வழங்கும் (இங்கே
) இந்த மதிப்புகள் அனைத்தையும் அறிந்துகொள்வது சமன்பாட்டைத் தீர்க்க அனுமதிக்கிறது
, ஆனால் நாம் குணகத்தை தவறவிட்டால், அசல் மதிப்பை எங்களால் மீட்டெடுக்க முடியாது.
எங்கள் முந்தைய உதாரணத்திற்கு திட்டத்தைப் பயன்படுத்துவதன் மூலம், எங்கள் திட்டத்தின் பாதுகாப்பை இது எவ்வாறு மேம்படுத்துகிறது என்பதை நாங்கள் நிரூபிக்க முடியும்
. எங்கள் புதிய பல்லுறுப்புக்கோவை செயல்பாடு
, மற்றும் புதிய புள்ளிகள்
. இப்போது முக்கிய காவலர்கள் மீண்டும் பல்லுறுப்புக்கோவை இடைக்கணிப்பைப் பயன்படுத்தி நமது செயல்பாட்டை மறுகட்டமைக்க முடியும், இந்த முறை மட்டும் கூட்டல் மற்றும் பெருக்கல் செயல்பாடுகள் மாடுலோ குறைப்புடன் இருக்க வேண்டும்.
(எ.கா.
).
இந்தப் புதிய உதாரணத்தைப் பயன்படுத்தி, தாக்குபவர் இந்தப் புதிய புள்ளிகளில் இரண்டைக் கற்றுக்கொண்டார் என்று வைத்துக் கொள்வோம்.
, மற்றும் பொது தகவல்
. இந்த நேரத்தில், தாக்குபவர், தன்னிடம் உள்ள அனைத்து தகவல்களின் அடிப்படையில், பின்வரும் செயல்பாடுகளை வெளியிடுகிறார்
அனைத்து நேர்மறை முழு எண்களின் தொகுப்பாகும்
மாடுலஸ் குணகத்தைக் குறிக்கிறது
.

இப்போது எங்கள் தாக்குபவர் மீண்டும் கண்டுபிடித்தார்
, கணக்கிடுதல்
:

பின்னர் மீண்டும் முயற்சிக்கிறார்
பதிலாக
в
:

இந்த முறை அவருக்கு கடுமையான பிரச்சனை. ஃபார்முலாவில் மதிப்புகள் இல்லை
,
и
. இந்த மாறிகளின் எண்ணற்ற சேர்க்கைகள் இருப்பதால், அவரால் எந்த கூடுதல் தகவலையும் பெற முடியாது.
பாதுகாப்பு பரிசீலனைகள்
ஷமீரின் ரகசியப் பகிர்வு திட்டம் அறிவுறுத்துகிறது தகவல் கோட்பாட்டின் பார்வையில் இருந்து பாதுகாப்பு. வரம்பற்ற கம்ப்யூட்டிங் சக்தியைக் கொண்ட தாக்குபவருக்கு எதிராகக் கூட கணிதம் எதிர்ப்புத் திறன் கொண்டது என்பதே இதன் பொருள். இருப்பினும், சுற்று இன்னும் பல அறியப்பட்ட சிக்கல்களைக் கொண்டுள்ளது.
உதாரணமாக, ஷமீரின் திட்டம் உருவாக்கவில்லை சரிபார்க்கப்பட வேண்டிய துண்டுகள், அதாவது, மக்கள் சுதந்திரமாக போலி துண்டுகளை முன்வைக்கலாம் மற்றும் சரியான ரகசியத்தை மீட்டெடுப்பதில் தலையிடலாம். போதுமான தகவல்களைக் கொண்ட ஒரு விரோதமான துண்டுக் காப்பாளர் மாற்றுவதன் மூலம் மற்றொரு பகுதியைக் கூட உருவாக்க முடியும்
உங்கள் சொந்த விருப்பப்படி. பயன்படுத்தி இந்த பிரச்சனை தீர்க்கப்படுகிறது சரிபார்க்கக்கூடிய ரகசிய பகிர்வு திட்டங்கள்ஃபெல்ட்மேனின் திட்டம் போன்றவை.
மற்றொரு சிக்கல் என்னவென்றால், எந்தவொரு துண்டின் நீளமும் தொடர்புடைய ரகசியத்தின் நீளத்திற்கு சமம், எனவே ரகசியத்தின் நீளம் தீர்மானிக்க எளிதானது. இந்த சிக்கலை அற்பமாக தீர்க்க முடியும் திணிப்பு ஒரு நிலையான நீளம் வரை தன்னிச்சையான எண்களைக் கொண்ட ரகசியம்.
இறுதியாக, எங்கள் பாதுகாப்பு கவலைகள் வடிவமைப்பிற்கு அப்பால் நீட்டிக்கப்படலாம் என்பதைக் கவனத்தில் கொள்ள வேண்டும். நிஜ-உலக கிரிப்டோகிராஃபிக் பயன்பாடுகளுக்கு, அடிக்கடி பக்க-சேனல் தாக்குதல்களின் அச்சுறுத்தல் உள்ளது, அங்கு தாக்குபவர் பயன்பாடு செயல்படுத்தும் நேரம், கேச்சிங், செயலிழப்புகள் போன்றவற்றிலிருந்து பயனுள்ள தகவல்களைப் பெற முயற்சிக்கிறார். இது ஒரு கவலையாக இருந்தால், செயல்பாடுகள் மற்றும் நிலையான நேரத் தேடல்கள், நினைவகம் வட்டில் சேமிக்கப்படுவதைத் தடுப்பது மற்றும் இந்தக் கட்டுரையின் நோக்கத்திற்கு அப்பாற்பட்ட பல கருத்தாய்வுகள் போன்ற பாதுகாப்பு நடவடிக்கைகளைப் பயன்படுத்துவதில் கவனமாகக் கருத்தில் கொள்ளப்பட வேண்டும்.
டெமோ
மீது ஷமீரின் ரகசியப் பகிர்வுத் திட்டத்தின் ஊடாடும் செயல்விளக்கம் உள்ளது. நூலகத்தை அடிப்படையாகக் கொண்ட ஆர்ப்பாட்டம் , இது பிரபலமான நிரலின் ஜாவாஸ்கிரிப்ட் போர்ட் ஆகும் . பெரிய மதிப்புகளைக் கணக்கிடுவதைக் கவனியுங்கள்
,
и
சிறிது நேரம் ஆகலாம்.
ஆதாரம்: www.habr.com
