మీరు బ్యాంక్ వాల్ట్ను భద్రపరచాల్సిన దృష్టాంతాన్ని పరిగణించండి. ఇది కీ లేకుండా ఖచ్చితంగా అజేయమైనదిగా పరిగణించబడుతుంది, ఇది పని యొక్క మొదటి రోజున మీకు ఇవ్వబడుతుంది. కీని సురక్షితంగా నిల్వ చేయడమే మీ లక్ష్యం.
అవసరమైన విధంగా స్టోరేజ్కి యాక్సెస్ని అందిస్తూ, కీని ఎల్లప్పుడూ మీ వద్ద ఉంచుకోవాలని మీరు నిర్ణయించుకున్నారని అనుకుందాం. కానీ మీరు స్టోరేజ్ని తెరిచిన ప్రతిసారీ మీ భౌతిక ఉనికి అవసరం కాబట్టి, అటువంటి పరిష్కారం ఆచరణలో బాగా లేదని మీరు త్వరగా గ్రహిస్తారు. మీకు వాగ్దానం చేసిన సెలవుల గురించి ఏమిటి? అదనంగా, ప్రశ్న మరింత భయానకంగా ఉంది: మీరు మీ ఏకైక కీని పోగొట్టుకుంటే ఏమి చేయాలి?
మీ సెలవులను దృష్టిలో ఉంచుకుని, మీరు కీ కాపీని తయారు చేసి, మరొక ఉద్యోగికి అప్పగించాలని నిర్ణయించుకుంటారు. అయితే, ఇది కూడా సరైనది కాదని మీరు అర్థం చేసుకున్నారు. కీల సంఖ్యను రెట్టింపు చేయడం ద్వారా, మీరు కీ దొంగతనం యొక్క అవకాశాలను రెట్టింపు చేస్తారు.
నిరాశతో, మీరు నకిలీని నాశనం చేసి, అసలు కీని సగానికి విభజించాలని నిర్ణయించుకుంటారు. ఇప్పుడు, కీ శకలాలు కలిగిన ఇద్దరు విశ్వసనీయ వ్యక్తులు కీని సేకరించడానికి మరియు ఖజానాను తెరవడానికి భౌతికంగా హాజరు కావాలని మీరు అనుకుంటారు. అంటే ఒక దొంగ రెండు ముక్కలను దొంగిలించవలసి ఉంటుంది, ఇది ఒక కీని దొంగిలించడం కంటే రెండు రెట్లు కష్టం. అయితే, ఈ పథకం కేవలం ఒక కీ కంటే మెరుగైనది కాదని మీరు త్వరలో గ్రహిస్తారు, ఎందుకంటే ఎవరైనా సగం కీని పోగొట్టుకుంటే, పూర్తి కీని తిరిగి పొందలేరు.
అదనపు కీలు మరియు తాళాల శ్రేణితో సమస్యను పరిష్కరించవచ్చు, అయితే ఈ విధానం త్వరగా అవసరం много కీలు మరియు తాళాలు. భద్రత పూర్తిగా ఒక వ్యక్తిపై ఆధారపడకుండా కీని పంచుకోవడం ఆదర్శవంతమైన డిజైన్ అని మీరు నిర్ణయించుకుంటారు. శకలాల సంఖ్యకు కొంత థ్రెషోల్డ్ ఉండాలని కూడా మీరు నిర్ధారించారు, తద్వారా ఒక భాగం పోయినట్లయితే (లేదా ఒక వ్యక్తి విహారయాత్రకు వెళితే), మొత్తం కీ క్రియాత్మకంగా ఉంటుంది.
రహస్యాన్ని ఎలా పంచుకోవాలి
ఈ రకమైన కీలక నిర్వహణ పథకాన్ని 1979లో ఆది షమీర్ తన రచనలను ప్రచురించినప్పుడు ఆలోచించారు
భద్రతా దృక్కోణంలో, ఈ పథకం యొక్క ముఖ్యమైన ఆస్తి ఏమిటంటే, దాడి చేసే వ్యక్తికి కనీసం ఏదైనా ఉంటే తప్ప అతనికి ఖచ్చితంగా ఏమీ తెలియకూడదు. భాగాలు. ఉనికిని కూడా భాగాలు ఎటువంటి సమాచారాన్ని అందించకూడదు. మేము దీనిని ఆస్తి అని పిలుస్తాము అర్థ భద్రత.
బహుపది ఇంటర్పోలేషన్
షామీర్ థ్రెషోల్డ్ పథకం భావన చుట్టూ నిర్మించబడింది బహుపది ఇంటర్పోలేషన్. మీకు ఈ కాన్సెప్ట్ గురించి తెలియకపోతే, ఇది చాలా సులభం. వాస్తవానికి, మీరు ఎప్పుడైనా గ్రాఫ్పై పాయింట్లను గీసి, ఆపై వాటిని పంక్తులు లేదా వక్రతలతో కనెక్ట్ చేసినట్లయితే, మీరు దీన్ని ఇప్పటికే ఉపయోగించారు!
రెండు పాయింట్ల ద్వారా మీరు డిగ్రీ 2 యొక్క అపరిమిత సంఖ్యలో బహుపదిలను గీయవచ్చు. వాటి నుండి ఒకే ఒక్కదాన్ని ఎంచుకోవడానికి, మీకు మూడవ పాయింట్ అవసరం. ఉదాహరణ:
డిగ్రీ ఒకటితో బహుపదిని పరిగణించండి, . మీరు ఈ ఫంక్షన్ను గ్రాఫ్లో ప్లాట్ చేయాలనుకుంటే, మీకు ఎన్ని పాయింట్లు అవసరం? సరే, ఇది ఒక లైన్ను ఏర్పరుచుకునే లీనియర్ ఫంక్షన్ అని మాకు తెలుసు కాబట్టి దీనికి కనీసం రెండు పాయింట్లు అవసరం. తరువాత, డిగ్రీ రెండుతో బహుపది ఫంక్షన్ను పరిగణించండి, . ఇది క్వాడ్రాటిక్ ఫంక్షన్, కాబట్టి గ్రాఫ్ను ప్లాట్ చేయడానికి కనీసం మూడు పాయింట్లు అవసరం. డిగ్రీ మూడుతో బహుపది ఎలా ఉంటుంది? కనీసం నాలుగు పాయింట్లు. మరియు అందువలన న.
ఈ ఆస్తి గురించి నిజంగా మంచి విషయం ఏమిటంటే, బహుపది ఫంక్షన్ యొక్క డిగ్రీని మరియు కనీసం పాయింట్లు, ఈ బహుపది ఫంక్షన్ కోసం మనం అదనపు పాయింట్లను పొందవచ్చు. మేము ఈ అదనపు పాయింట్ల ఎక్స్ట్రాపోలేషన్ అని పిలుస్తాము బహుపది ఇంటర్పోలేషన్.
ఒక రహస్యాన్ని తయారు చేయడం
ఇక్కడే షామీర్ తెలివైన పథకం అమలులోకి వస్తుందని మీరు ఇప్పటికే గ్రహించి ఉండవచ్చు. మన రహస్యం చెప్పుకుందాం అది - . మనం తిరగవచ్చు గ్రాఫ్లో ఒక బిందువు వరకు మరియు డిగ్రీతో బహుపది ఫంక్షన్తో ముందుకు రండి , ఇది ఈ పాయింట్ను సంతృప్తిపరుస్తుంది. దానిని గుర్తుచేసుకుందాం అవసరమైన శకలాలు మా థ్రెషోల్డ్ అవుతుంది, కాబట్టి మేము థ్రెషోల్డ్ను మూడు శకలాలుగా సెట్ చేస్తే, మనం డిగ్రీ రెండుతో కూడిన బహుపది ఫంక్షన్ని తప్పక ఎంచుకోవాలి.
మన బహుపది రూపాన్ని కలిగి ఉంటుంది పేరు и — యాదృచ్ఛికంగా ఎంపిక చేయబడిన ధన పూర్ణాంకాలు. మేము డిగ్రీతో బహుపదిని నిర్మిస్తున్నాము , ఇక్కడ ఉచిత గుణకం - ఇది మా రహస్యం , మరియు ప్రతి తదుపరి వాటికి నిబంధనలు యాదృచ్ఛికంగా ఎంచుకున్న సానుకూల గుణకం ఉంది. మేము అసలు ఉదాహరణకి తిరిగి వచ్చి దానిని ఊహించినట్లయితే , అప్పుడు మేము ఫంక్షన్ పొందుతాము .
ఈ సమయంలో మనం కనెక్ట్ చేయడం ద్వారా శకలాలు ఉత్పత్తి చేయవచ్చు లో ప్రత్యేక పూర్ణాంకాలు పేరు (ఎందుకంటే ఇది మా రహస్యం). ఈ ఉదాహరణలో, మేము మూడు థ్రెషోల్డ్తో నాలుగు శకలాలు పంపిణీ చేయాలనుకుంటున్నాము, కాబట్టి మేము యాదృచ్ఛికంగా పాయింట్లను ఉత్పత్తి చేస్తాము మరియు ప్రతి నలుగురు విశ్వసనీయ వ్యక్తులకు, కీ యొక్క సంరక్షకులకు ఒక పాయింట్ పంపండి. ఆ విషయాన్ని ప్రజలకు కూడా తెలియజేస్తాం , ఇది పబ్లిక్ సమాచారంగా పరిగణించబడుతుంది మరియు పునరుద్ధరణకు అవసరమైనది .
రహస్యాన్ని తిరిగి పొందడం
మేము ఇప్పటికే బహుపది ఇంటర్పోలేషన్ యొక్క భావనను మరియు అది షమీర్ యొక్క థ్రెషోల్డ్ స్కీమ్ను ఎలా ఆధారం చేసుకుంటుందో చర్చించాము . నలుగురు ట్రస్టీలలో ఏదైనా ముగ్గురు పునరుద్ధరించాలనుకున్నప్పుడు , వారు మాత్రమే ఇంటర్పోలేట్ చేయాలి దాని స్వంత ప్రత్యేక పాయింట్లతో. ఇది చేయుటకు, వారు తమ పాయింట్లను నిర్ణయించగలరు మరియు క్రింది సూత్రాన్ని ఉపయోగించి లాగ్రాంజ్ ఇంటర్పోలేషన్ బహుపదిని లెక్కించండి. గణితం కంటే ప్రోగ్రామింగ్ మీకు స్పష్టంగా ఉంటే, pi తప్పనిసరిగా ఒక ఆపరేటర్ for
, ఇది అన్ని ఫలితాలను గుణిస్తుంది మరియు సిగ్మా for
, ఇది ప్రతిదీ జోడిస్తుంది.
వద్ద మేము దీన్ని ఇలా పరిష్కరించవచ్చు మరియు మా అసలు బహుపది ఫంక్షన్ని తిరిగి ఇవ్వవచ్చు:
అది మనకు తెలుసు కాబట్టి , రికవరీ కేవలం జరిగింది:
అసురక్షిత పూర్ణాంక అంకగణితాన్ని ఉపయోగించడం
మేము షమీర్ యొక్క ప్రాథమిక ఆలోచనను విజయవంతంగా అమలు చేసినప్పటికీ , మేము ఇప్పటివరకు విస్మరించిన సమస్యతో మిగిలిపోయాము. మా బహుపది ఫంక్షన్ అసురక్షిత పూర్ణాంక అంకగణితాన్ని ఉపయోగిస్తుంది. మా ఫంక్షన్ యొక్క గ్రాఫ్లో దాడి చేసే వ్యక్తి పొందే ప్రతి అదనపు పాయింట్కి, ఇతర పాయింట్లకు తక్కువ అవకాశాలు ఉన్నాయని గమనించండి. పూర్ణాంక అంకగణితాన్ని ఉపయోగించి బహుపది ఫంక్షన్ కోసం మీరు పెరుగుతున్న పాయింట్లను ప్లాట్ చేసినప్పుడు మీరు దీన్ని మీ స్వంత కళ్లతో చూడవచ్చు. ఇది మా పేర్కొన్న భద్రతా లక్ష్యానికి ప్రతికూలంగా ఉంది, ఎందుకంటే దాడి చేసేవారికి కనీసం ఏమీ తెలియనంత వరకు వారికి ఏమీ తెలియకూడదు శకలాలు.
పూర్ణాంక అంకగణిత సర్క్యూట్ ఎంత బలహీనంగా ఉందో ప్రదర్శించడానికి, దాడి చేసే వ్యక్తి రెండు పాయింట్లను పొందే దృష్టాంతాన్ని పరిగణించండి మరియు పబ్లిక్ సమాచారం తెలుసు . ఈ సమాచారం నుండి అతను ఊహించవచ్చు , రెండింటికి సమానం మరియు తెలిసిన విలువలను ఫార్ములాలోకి ప్లగ్ చేయండి и .
దాడి చేసే వ్యక్తి అప్పుడు కనుగొనవచ్చు , లెక్కింపు :
మేము నిర్వచించినప్పటి నుండి యాదృచ్ఛికంగా ఎంపిక చేయబడిన సానుకూల పూర్ణాంకాల వలె, పరిమిత సంఖ్యలో సాధ్యమయ్యే అవకాశం ఉంది . ఈ సమాచారాన్ని ఉపయోగించి, దాడి చేసే వ్యక్తి ఊహించవచ్చు , 5 కంటే ఎక్కువ ఏదైనా చేస్తుంది కాబట్టి ప్రతికూల. మేము నిర్ణయించినప్పటి నుండి ఇది నిజమని తేలింది
దాడి చేసే వ్యక్తి సాధ్యమయ్యే విలువలను లెక్కించవచ్చు భర్తీ చేయడం в :
కోసం పరిమిత ఎంపికలతో విలువలను ఎంచుకోవడం మరియు తనిఖీ చేయడం ఎంత సులభమో స్పష్టమవుతుంది . ఇక్కడ ఐదు ఎంపికలు మాత్రమే ఉన్నాయి.
అసురక్షిత పూర్ణాంక అంకగణితంతో సమస్యను పరిష్కరించడం
ఈ దుర్బలత్వాన్ని తొలగించడానికి, షమీర్ మాడ్యులర్ అంకగణితాన్ని ఉపయోగించమని సూచించాడు, భర్తీ చేయడం న పేరు и - అన్ని ప్రధాన సంఖ్యల సమితి.
మాడ్యులర్ అంకగణితం ఎలా పనిచేస్తుందో త్వరగా గుర్తుంచుకుందాం. చేతులతో గడియారం అనేది సుపరిచితమైన భావన. ఆమె ఒక గడియారాన్ని ఉపయోగిస్తుంది . గంట ముల్లు పన్నెండు దాటిన వెంటనే, అది ఒకటికి తిరిగి వస్తుంది. ఈ వ్యవస్థ యొక్క ఆసక్తికరమైన లక్షణం ఏమిటంటే, గడియారాన్ని చూడటం ద్వారా, గంట చేతి ఎన్ని విప్లవాలు చేసిందో మనం ఊహించలేము. అయితే, గంట ముల్లు 12 నాలుగు సార్లు దాటిందని మనకు తెలిస్తే, సాధారణ సూత్రాన్ని ఉపయోగించి గడిచిన గంటల సంఖ్యను మనం పూర్తిగా గుర్తించవచ్చు. పేరు మా డివైజర్ (ఇక్కడ ), గుణకం (డివైజర్ శేషం లేకుండా అసలు సంఖ్యలోకి ఎన్ని సార్లు వెళుతుంది, ఇక్కడ ), మరియు మిగిలినది, ఇది సాధారణంగా మాడ్యులో ఆపరేటర్ కాల్ని అందిస్తుంది (ఇక్కడ ) ఈ విలువలన్నింటినీ తెలుసుకోవడం వల్ల సమీకరణాన్ని పరిష్కరించవచ్చు , కానీ మనం గుణకాన్ని కోల్పోతే, అసలు విలువను ఎప్పటికీ పునరుద్ధరించలేము.
మా మునుపటి ఉదాహరణకి స్కీమ్ని వర్తింపజేయడం మరియు ఉపయోగించడం ద్వారా ఇది మా పథకం యొక్క భద్రతను ఎలా మెరుగుపరుస్తుందో మేము ప్రదర్శించగలము . మా కొత్త బహుపది ఫంక్షన్ , మరియు కొత్త పాయింట్లు . ఇప్పుడు కీ కీపర్లు మా ఫంక్షన్ని పునర్నిర్మించడానికి బహుపది ఇంటర్పోలేషన్ను మరోసారి ఉపయోగించవచ్చు, ఈసారి మాత్రమే అదనంగా మరియు గుణకార కార్యకలాపాలు మాడ్యులో తగ్గింపుతో పాటు ఉండాలి. (ఉదా ).
ఈ కొత్త ఉదాహరణను ఉపయోగించి, దాడి చేసే వ్యక్తి ఈ కొత్త పాయింట్లలో రెండు నేర్చుకున్నాడని అనుకుందాం, , మరియు పబ్లిక్ సమాచారం . ఈసారి, దాడి చేసే వ్యక్తి, అతని వద్ద ఉన్న మొత్తం సమాచారం ఆధారంగా, కింది ఫంక్షన్లను అవుట్పుట్ చేస్తాడు అన్ని సానుకూల పూర్ణాంకాల సమితి, మరియు మాడ్యులస్ కోఎఫీషియంట్ను సూచిస్తుంది .
ఇప్పుడు మా దాడి చేసిన వ్యక్తి మళ్లీ కనుగొన్నాడు , లెక్కించడం :
అప్పుడు అతను మళ్ళీ ప్రయత్నిస్తాడు భర్తీ చేయడం в :
ఈసారి అతనికి తీవ్రమైన సమస్య ఎదురైంది. ఫార్ములా విలువలు లేవు , и . ఈ వేరియబుల్స్ యొక్క అనంతమైన కలయికలు ఉన్నందున, అతను ఎటువంటి అదనపు సమాచారాన్ని పొందలేడు.
భద్రతా పరిగణనలు
షామీర్ యొక్క రహస్య భాగస్వామ్య పథకం సూచిస్తుంది సమాచార సిద్ధాంతం యొక్క కోణం నుండి భద్రత. అపరిమిత కంప్యూటింగ్ శక్తితో దాడి చేసే వ్యక్తికి కూడా గణితం నిరోధకతను కలిగి ఉంటుందని దీని అర్థం. అయినప్పటికీ, సర్క్యూట్ ఇప్పటికీ అనేక తెలిసిన సమస్యలను కలిగి ఉంది.
ఉదాహరణకు, షామీర్ పథకం సృష్టించదు తనిఖీ చేయవలసిన శకలాలు, అంటే, ప్రజలు స్వేచ్ఛగా నకిలీ శకలాలు ప్రదర్శించవచ్చు మరియు సరైన రహస్యం యొక్క పునరుద్ధరణలో జోక్యం చేసుకోవచ్చు. తగినంత సమాచారం ఉన్న శత్రు శకలం కీపర్ మార్చడం ద్వారా మరొక భాగాన్ని కూడా ఉత్పత్తి చేయవచ్చు మీ స్వంత అభీష్టానుసారం. ఉపయోగించి ఈ సమస్య పరిష్కరించబడుతుంది ధృవీకరించదగిన రహస్య భాగస్వామ్య పథకాలు, ఫెల్డ్మాన్ పథకం వంటివి.
మరొక సమస్య ఏమిటంటే, ఏదైనా శకలం యొక్క పొడవు సంబంధిత రహస్యం యొక్క పొడవుకు సమానంగా ఉంటుంది, కాబట్టి రహస్యం యొక్క పొడవును గుర్తించడం సులభం. ఈ సమస్య చిన్నవిషయం ద్వారా పరిష్కరించబడుతుంది పాడింగ్ నిర్ణీత పొడవు వరకు ఏకపక్ష సంఖ్యలతో రహస్యం.
చివరగా, మా భద్రతా సమస్యలు డిజైన్కు మించి విస్తరించవచ్చని గమనించడం ముఖ్యం. వాస్తవ-ప్రపంచ క్రిప్టోగ్రాఫిక్ అప్లికేషన్ల కోసం, అప్లికేషన్ ఎగ్జిక్యూషన్ సమయం, క్యాషింగ్, క్రాష్లు మొదలైన వాటి నుండి ఉపయోగకరమైన సమాచారాన్ని సేకరించేందుకు దాడి చేసే వ్యక్తి ప్రయత్నించే సైడ్-ఛానల్ దాడుల ముప్పు తరచుగా ఉంటుంది. ఇది ఆందోళన కలిగిస్తే, డెవలప్మెంట్ సమయంలో ఫంక్షన్లు మరియు స్థిరమైన-సమయ శోధనలు, మెమరీని డిస్క్లో సేవ్ చేయకుండా నిరోధించడం మరియు ఈ కథనం యొక్క పరిధికి మించిన అనేక ఇతర పరిగణనలు వంటి రక్షణ చర్యలను జాగ్రత్తగా పరిశీలించాలి.
డెమో
ఆఫ్
మూలం: www.habr.com