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

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

Ընտրվում են երկու խոշոր պարզ թվեր՝ {\displaystyle p} և {\displaystyle q} ու հաշվարկվում է դրանց արտադրյալը՝ {\displaystyle n=pq}։ Ստեղծվում են {\displaystyle s\_{1},\cdots ,s\_{k}} գաղտնի թվերը, որոնցից յուրաքանչյուրի ամենամեծ ընդհանուր բաժանելին {\displaystyle n}֊ի հետ 1 է՝ {\displaystyle gcd(s\_{i},n)=1} և {\displaystyle s\_{i}\in \{1,n-1\}}։ Հաշվարկվում է {\displaystyle v\_{i}\equiv s\_{i}^{2}{\pmod {n}}}։ Ալիսը և Վիկտորը ստանում են {\displaystyle n}֊ը, իսկ {\displaystyle p} և {\displaystyle q} պահվում են գաղտնի։ Հետո Ալիսին են ուղարկվում {\displaystyle s\_{i}} թվերը։ Սրանք նրա գաղտնի մուտքի թվերն են։

Վիկտորին են ուղարկվում {\displaystyle v\_{i}} թվերը։ Վիկտորը ի վիճակի չէ վերականգել Ալիսի {\displaystyle s\_{i}} թվերը իր {\displaystyle v\_{i}} թվերից՝ քառակուսի արմատի հաշվարկման խնդրի դժվարության պատճառով, երբ մոդուլի ֆակտորիզացիան անհայտ է։

Ընթացակարգ
----------

1. Ալիսը ընտրում է պատահական {\displaystyle r\in \{1,n-1\}} թիվը և պատահական {\displaystyle s\in \{-1,1\}} նշանը և հաշվարկում է {\displaystyle x\equiv s\cdot r^{2}{\pmod {n}}}։ Ալիսը Վիկտորին է ուղարկում {\displaystyle x}֊ը։
2. Վիկտորը ընտրում է {\displaystyle a\_{1},\cdots ,a\_{k}} թվերը, որտեղ {\displaystyle a\_{i}} հավասար է 0 կամ 1։ Վիկտորը այս թվերը ուղարկում է Ալիսին։
3. Ալիսը հաշվարկում է {\displaystyle y\equiv rs\_{1}^{a\_{1}}s\_{2}^{a\_{2}}\cdots s\_{k}^{a\_{k}}{\pmod {n}}}։ Ալիսը այս թիվը ուղարկում է Վիկտորին։
4. Վիկտորը ստուգում է այս արտահայտությունը՝ {\displaystyle y^{2}\equiv \pm \,xv\_{1}^{a\_{1}}v\_{2}^{a\_{2}}\cdots v\_{k}^{a\_{k}}{\pmod {n}}.}

Այս գործողությունները կրկնվում են տարբեր {\displaystyle r} և {\displaystyle a\_{i}} արժեքներով մինչև Վիկտորը համոզվում է որ Ալիսը իսկապես գիտի իր {\displaystyle v\_{i}} թվերի մոդուլային քառակուսի արմատները ({\displaystyle s\_{i}})։

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

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

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

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

Ենթադրենք Եվան գաղտնալսմամբ ստացել է Վիկտորի {\displaystyle v\_{i}} թվերը, սակայն չգիտի թե որոնք են Ալիսի {\displaystyle s\_{i}} թվերը։

Եթե Եվան փորձի Վիկտորին համոզել որ ինքը Ալիսն է, նա պետք է ճիշտ կռահի թե Վիկտորի {\displaystyle a\_{i}} թվերը։
Նա հետո ընտրում է պատահական {\displaystyle y} թիվ, հաշվարկում է {\displaystyle x\equiv y^{2}v\_{1}^{-a\_{1}}v\_{2}^{-a\_{2}}\cdots v\_{k}^{-a\_{k}}{\pmod {n}}} և Վիկտորին է ուղարկում {\displaystyle x}֊ը։ Երբ Վիկտորը ուղարկում է {\displaystyle a\_{i}}, Եվան պարզապես հետ է ուղարկում իր {\displaystyle y}֊ը։

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

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

Աղբյուրներ
----------

* Feige, Uriel; Fiat, Amos; Shamir, Adi (1988). "Zero-knowledge proofs of identity". *Journal of Cryptology*. **1** (2): 77–94. doi:10.1007/BF02351717. Արխիվացված է the original 2012 թ․ դեկտեմբերի 17-ին. Retrieved 2014 թ․ փետրվարի 10. `{{cite journal}}`: Unknown parameter `|dead-url=` ignored (`|url-status=` suggested) (help)
* Trappe, Wade; Washington, Lawrence C. (2003). *Introduction to Cryptography with Coding Theory*. Upper Saddle River: Prentice-Hall. pp. 231–233. ISBN 0-13-061814-4.