Ֆեյգ-Ֆիատ-Շամիրի նույնականացման արձանագրություն

testwiki-ից
Jump to navigation Jump to search

Գաղտնագրման մեջ Ֆեյգ֊Ֆիատ֊Շամիրի նույնականացման արձանագրությունը զրո իմացությամբ զուգահեռ ապացուցման արձանագրություն է ստեղծված Ուրիել Ֆեյգի, Ամոս Ֆիատի և Ադի Շամիրի կողմից 1988 թ.։ Ինչպես բոլոր զրո իմացությամբ արձանագրությունները, Ֆեյգ֊Ֆիատ֊Շամիրի նույնականացման արձանագրությունը թույլ է տալիս մի կողմին՝ Ալիսին, ապացուցել մյուս կողմին՝ Վիկտորին, որ նա տիրապետում է ինչ֊որ գաղտնի ինֆորմացիայի, առանց բացահայտելու Վիկտորին, թե ինչ գաղտնի ինֆորմացիա է դա։ Ֆեյգ֊Ֆիատ֊Շամիրի նույնականացման արձանագրությունը օգտագործում է մոդուլային թվաբանություն և զուգահեռ ստուգման պրոցես, որը սահմանափակում է Ալիսի և Վիկտորի միջև հնարավոր հաղորդումների քանակը։

Նախապատրաստում

Ընտրվում են երկու խոշոր պարզ թվեր՝ p և q ու հաշվարկվում է դրանց արտադրյալը՝ n=pq։ Ստեղծվում են s1,,sk գաղտնի թվերը, որոնցից յուրաքանչյուրի ամենամեծ ընդհանուր բաժանելին n֊ի հետ 1 է՝ gcd(si,n)=1 և si{1,n1}։ Հաշվարկվում է visi2(modn)։ Ալիսը և Վիկտորը ստանում են n֊ը, իսկ p և q պահվում են գաղտնի։ Հետո Ալիսին են ուղարկվում si թվերը։ Սրանք նրա գաղտնի մուտքի թվերն են։

Վիկտորին են ուղարկվում vi թվերը։ Վիկտորը ի վիճակի չէ վերականգել Ալիսի si թվերը իր vi թվերից՝ քառակուսի արմատի հաշվարկման խնդրի դժվարության պատճառով, երբ մոդուլի ֆակտորիզացիան անհայտ է։

Ընթացակարգ

  1. Ալիսը ընտրում է պատահական r{1,n1} թիվը և պատահական s{1,1} նշանը և հաշվարկում է xsr2(modn)։ Ալիսը Վիկտորին է ուղարկում x֊ը։
  2. Վիկտորը ընտրում է a1,,ak թվերը, որտեղ ai հավասար է 0 կամ 1։ Վիկտորը այս թվերը ուղարկում է Ալիսին։
  3. Ալիսը հաշվարկում է yrs1a1s2a2skak(modn)։ Ալիսը այս թիվը ուղարկում է Վիկտորին։
  4. Վիկտորը ստուգում է այս արտահայտությունը՝ y2±xv1a1v2a2vkak(modn).

Այս գործողությունները կրկնվում են տարբեր r և ai արժեքներով մինչև Վիկտորը համոզվում է որ Ալիսը իսկապես գիտի իր vi թվերի մոդուլային քառակուսի արմատները (si

Անվտանգություն

Այս ընթացակարգում Ալիսը Վիկտորին որևէ օգտակար տեղեկատվություն չի տալիս։ Նա պարզապես ապացուցում է Վիկտորին, որ գիտի գաղտնի թվերը առանց բացահայտելու այդ թվերը։ Ցանկացած անձ, ով գաղտնալսում է նրանց միջև յուրաքանչյուր կապ, ամեն անգամ կիմանա նույն տեղեկատվությունը։

Գաղտնալսողը Ալիսի գաղտնի թվերի մասին ոչ մի օգտակար բան չի իմանա։

Այս արձանագրության հին տարբերակներում «Ֆիատ֊Շամիրի սխեման» (որի վրա հիմնված է Ֆեյգ֊Ֆիատ֊Շամիրի սխեման), արտահոսվում էր մի բիթ ինֆորմացիա։ s նշանի ներմուծմամբ նույնիսկ այդ բիթն էր թաքցվում, ինչի արդյունքում ստացվում էր զրո իմացությամբ արձանագրություն։

Ենթադրենք Եվան գաղտնալսմամբ ստացել է Վիկտորի vi թվերը, սակայն չգիտի թե որոնք են Ալիսի si թվերը։

Եթե Եվան փորձի Վիկտորին համոզել որ ինքը Ալիսն է, նա պետք է ճիշտ կռահի թե Վիկտորի ai թվերը։ Նա հետո ընտրում է պատահական y թիվ, հաշվարկում է xy2v1a1v2a2vkak(modn) և Վիկտորին է ուղարկում x֊ը։ Երբ Վիկտորը ուղարկում է ai, Եվան պարզապես հետ է ուղարկում իր y֊ը։

Վիկտոր գոհ է և եզրակացնում է, որ Եվան ունի գաղտնի թվերը։ Սակայն հավանականությունը այն բանի, որ Եվան ճիշտ կկռահի, թե որոնք են Վիկտորի ai թվերը, կլինի 1֊ը 2k֊ի մեջ։ Այս ընթացակարգը կրկնելով t անգամ, հավանականությունը ընկնում է 1֊ը 2kt֊ի մեջ։

k=5 և t=4 դեպքում որպես Ալիս հանդես գալու հավանականությունը փոքր է քան 1֊ը միլիոնում։

Աղբյուրներ