ट्रैपडोर फंक्शन: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{Short description|Cryptographic tool that is easy to compute in one direction and difficult in the other}} | {{Short description|Cryptographic tool that is easy to compute in one direction and difficult in the other}} | ||
{{about| | {{about|गणितीय क्रिप्टोग्राफी कार्य |सुरक्षा को दरकिनार करने का विधि |पिछले दरवाजे (कंप्यूटिंग)}} | ||
[[File:Trapdoor permutation.svg|300px|thumb|ट्रैपडोर | [[File:Trapdoor permutation.svg|300px|thumb|ट्रैपडोर कार्य का विचार। एक ट्रैपडोर कार्य f इसके ट्रैपडोर टी के साथ एक एल्गोरिथम 'जेन' द्वारा उत्पन्न किया जा सकता है। f की कुशलतापूर्वक गणना की जा सकती है, अर्थात, संभाव्य बहुपद समय में। चूँकि f के व्युत्क्रम की गणना सामान्यतः कठिन होती है जब तक कि ट्रैपडोर t नहीं दिया जाता है।<ref>Ostrovsky, pp. 6-9</ref>]][[सैद्धांतिक कंप्यूटर विज्ञान]] और [[क्रिप्टोग्राफी]] में, एक ट्रैपडोर कार्य एक कार्य (गणित) है जो एक दिशा में गणना करना आसान है फिर भी विशेष जानकारी के बिना विपरीत दिशा में गणना करना कठिन है (इसके व्युत्क्रम कार्य को खोजना) जिसे ट्रैपडोर कहा जाता है। ट्रैपडोर कार्य [[एक तरफा समारोह|एक तरफा कार्य]] का एक विशेष स्थिति है और [[सार्वजनिक कुंजी क्रिप्टोग्राफी]] में व्यापक रूप से उपयोग किया जाता है।<ref>{{Cite journal|last=Bellare|first=M|date=June 1998|title=कई-से-एक ट्रैपडोर फ़ंक्शंस और सार्वजनिक-कुंजी क्रिप्टोसिस्टम से उनका संबंध|journal=Advances in Cryptology}}</ref> | ||
गणितीय शब्दों में | गणितीय शब्दों में यदि f एक ट्रैपडोर कार्य है तो कुछ गुप्त सूचना t उपस्थित है जैसे कि f(x) और t दिया गया है, x की गणना करना आसान है। एक [[ताला]] और उसकी चाबी पर विचार करें। ताला तंत्र में झोंपड़ी को धकेल कर कुंजी का उपयोग किए बिना पैडलॉक को खुले से बंद में बदलना तुच्छ है। पैडलॉक को आसानी से खोलने के लिए चूँकि उपयोग की जाने वाली कुंजी की आवश्यकता होती है। यहां की टी ट्रैपडोर है और पैडलॉक ट्रैपडोर कार्य है। | ||
एक सरल गणितीय ट्रैपडोर का एक उदाहरण 6895601 है जो दो अभाज्य संख्याओं का गुणनफल है। वे संख्याएँ क्या हैं? एक विशिष्ट [[ पशुबल का आक्रमण |पशुबल का आक्रमण]] | एक सरल गणितीय ट्रैपडोर का एक उदाहरण 6895601 है जो दो अभाज्य संख्याओं का गुणनफल है। वे संख्याएँ क्या हैं? एक विशिष्ट [[ पशुबल का आक्रमण |पशुबल का आक्रमण]] ब्रूट-फोर्स समाधान उत्तर खोजने तक 6895601 को कई अभाज्य संख्याओं से विभाजित करने का प्रयास करना होगा। चूँकि यदि किसी को बताया जाए कि 1931 संख्याओं में से एक है, तो वह किसी भी कैलकुलेटर में 6895601 ÷ 1931 अंकित करके उत्तर पा सकता है। यह उदाहरण एक शसक्त ट्रैपडोर कार्य नहीं है - आधुनिक कंप्यूटर एक सेकंड के अंदर सभी संभावित उत्तरों का अनुमान लगा सकते हैं - किंतु इस नमूना समस्या को [[पूर्णांक गुणनखंडन]] द्वारा सुधारा जा सकता है। | ||
1970 के दशक के मध्य में [[व्हिटफ़ील्ड डिफी]], [[मार्टिन हेलमैन]] और [[राल्फ मर्कल]] द्वारा असममित कुंजी एल्गोरिदम | 1970 के दशक के मध्य में [[व्हिटफ़ील्ड डिफी]], [[मार्टिन हेलमैन]] और [[राल्फ मर्कल]] द्वारा असममित कुंजी एल्गोरिदम असममित (या सार्वजनिक कुंजी) एन्क्रिप्शन विधियों के प्रकाशन के साथ ट्रैपडोर कार्य क्रिप्टोग्राफी में प्रमुखता से आए वास्तव में, {{harvtxt|डिफी|हेलमैन|1976}} शब्द गढ़ा। कई कार्य वर्गों का प्रस्ताव किया गया था और जल्द ही यह स्पष्ट हो गया कि ट्रैपडोर कार्यों को प्रारंभ में जितना सोचा गया था उससे कहीं अधिक कठिन है। उदाहरण के लिए एक प्रारंभिक सुझाव [[सबसेट योग समस्या]] के आधार पर योजनाओं का उपयोग करना था। यह अनुपयुक्त होने के अतिरिक्त जल्दी निकला है। | ||
{{As of|2004}}, सबसे प्रसिद्ध ट्रैपडोर | {{As of|2004}}, सबसे प्रसिद्ध ट्रैपडोर कार्य (परिवार) उम्मीदवार आरएसए (एल्गोरिदम) और [[राबिन क्रिप्टोसिस्टम]] ऑफ़ कार्य हैं। दोनों को घातांक मॉडुलो के रूप में एक समग्र संख्या के रूप में लिखा गया है और दोनों प्रधान गुणनखंड की समस्या से संबंधित हैं। | ||
असतत लॉगरिदम समस्या की कठोरता से संबंधित कार्य (या तो मॉड्यूल एक प्रमुख या अंडाकार वक्र क्रिप्टोग्राफी पर परिभाषित समूह में) ट्रैपडोर कार्यों के रूप में नहीं जाना जाता है | असतत लॉगरिदम समस्या की कठोरता से संबंधित कार्य (या तो मॉड्यूल एक प्रमुख या अंडाकार वक्र क्रिप्टोग्राफी पर परिभाषित समूह में) ट्रैपडोर कार्यों के रूप में नहीं जाना जाता है क्योंकि समूह के बारे में कोई ज्ञात ट्रैपडोर जानकारी नहीं है जो कुशल गणना को असतत लघुगणक सक्षम बनाता है | ||
क्रिप्टोग्राफी में ट्रैपडोर का बहुत विशिष्ट पूर्वोक्त अर्थ होता है और इसे [[ पिछले दरवाजे (कंप्यूटिंग) |पिछले दरवाजे (कंप्यूटिंग)]] के साथ भ्रमित नहीं होना चाहिए (इन्हें | क्रिप्टोग्राफी में ट्रैपडोर का बहुत विशिष्ट पूर्वोक्त अर्थ होता है और इसे [[ पिछले दरवाजे (कंप्यूटिंग) |पिछले दरवाजे (कंप्यूटिंग)]] के साथ भ्रमित नहीं होना चाहिए (इन्हें अधिकांशतः परस्पर विनिमय के लिए उपयोग किया जाता है, जो गलत है)। एक बैकडोर एक जानबूझकर तंत्र है जिसे क्रिप्टोग्राफ़िक एल्गोरिदम (उदाहरण के लिए एक कुंजी जोड़ी पीढ़ी एल्गोरिदम, डिजिटल हस्ताक्षर एल्गोरिदम इत्यादि) या ऑपरेटिंग प्रणाली में जोड़ा जाता है उदाहरण के लिए, जो एक या अधिक अनधिकृत पार्टियों को बायपास करने या सुरक्षा प्रणाली को किसी न किसी रूप में कम करने की अनुमति देता है। | ||
== परिभाषा == | == परिभाषा == | ||
ट्रैपडोर | ट्रैपडोर कार्य एक तरफ़ा कार्य { ''f<sub>k</sub>'' : ''D<sub>k</sub>'' → ''R<sub>k</sub>'' } (''k'' ∈ ''K''), का एक संग्रह है, जिसमें सभी ''K'', ''D<sub>k</sub>'', ''R<sub>k</sub>'' बाइनरी स्ट्रिंग्स {0, 1}* के उपसमुच्चय हैं, जो निम्नलिखित नियमो को पूरा करते हैं: | ||
* एक संभाव्य बहुपद समय (पीपीटी) नमूना | *वहाँ एक संभाव्य बहुपद समय (पीपीटी) नमूना एल्गोरिथ्म जेन सेंट उपस्थित है। Gen s.t. Gen(1<sup>''n''</sup>) = (''k'', ''t<sub>k</sub>'') के साथ ''k'' ∈ ''K'' ∩ {0, 1}<sup>''n''</sup> और ''t<sub>k</sub>'' ∈ {0, 1} संतुष्ट करता है |''t<sub>k</sub>'' | < ''p'' (''n''), जिसमें पी कुछ बहुपद है। प्रत्येक ''t<sub>k</sub>'' को k के अनुरूप ट्रैपडोर कहा जाता है। प्रत्येक ट्रैपडोर का कुशलतापूर्वक नमूना लिया जा सकता है। | ||
* दिए गए इनपुट k में, एक | * दिए गए इनपुट k में, एक पीपीटी एल्गोरिथ्म भी उपस्थित है जो ''x'' ∈ ''D<sub>k</sub>'' को आउटपुट करता है अर्थात् प्रत्येक ''D<sub>k</sub>'' कुशलता से नमूना लिया जा सकता है। | ||
* किसी भी k ∈ K के लिए, एक | * किसी भी k ∈ K के लिए, एक पीपीटी एल्गोरिथ्म उपस्थित है जो ''f<sub>k</sub>'' की सही गणना करता है | ||
* किसी भी k ∈ K के लिए, एक | * किसी भी k ∈ K के लिए, एक पीपीटी एल्गोरिथम A st उपस्थित है। किसी भी ''x'' ∈ ''D<sub>k</sub>'', के लिए चलो ''y'' = ''A'' ( ''k'', ''f<sub>k</sub>''(''x''), ''t<sub>k</sub>'' ) और फिर हमारे पास ''f<sub>k</sub>''(''y'') = ''f<sub>k</sub>''(''x'') यानी ट्रैपडोर दिया गया है, इसे विपरीत करना आसान है। | ||
* किसी भी | * किसी भी ''k'' ∈ ''K'', के लिए, ट्रैपडोर ''t<sub>k</sub>'' के बिना किसी भी पीपीटी एल्गोरिथम के लिए, ''f<sub>k</sub>'' को सही विधि से विपरीत करने की संभावना (अर्थात, दिया गया ''f<sub>k</sub>''(''x'') एक पूर्व-छवि x' खोजें, जैसे कि ''f<sub>k</sub>''(''x''' ) = ''f<sub>k</sub>''(''x'')) नगण्य है।<ref>Pass's Notes, def. 56.1</ref><ref>Goldwasser's lecture notes, def. 2.16</ref><ref>Ostrovsky, pp. 6-10, def. 11</ref> | ||
यदि उपरोक्त संग्रह में प्रत्येक कार्य एक तरफ़ा क्रमचय है | यदि उपरोक्त संग्रह में प्रत्येक कार्य एक तरफ़ा क्रमचय है तो संग्रह को ट्रैपडोर क्रमचय भी कहा जाता है।<ref>Pass's notes, def 56.1; Dodis's def 7, lecture 1.</ref> | ||
== उदाहरण == | == उदाहरण == | ||
निम्नलिखित दो उदाहरणों में, हम | निम्नलिखित दो उदाहरणों में, हम सदैव मानते हैं कि एक बड़ी समग्र संख्या का गुणनखंड करना कठिन है (पूर्णांक गुणनखंड देखें)। | ||
=== आरएसए धारणा === | === आरएसए धारणा === | ||
इस उदाहरण में, | इस उदाहरण में, <math>e</math> ,मापांक <math>\phi(n)</math> (यूलर का <math>n</math> का संपूर्ण फलन) का व्युत्क्रम <math>d</math> ट्रैपडोर है: | ||
: <math>f(x) = x^e \mod n</math> | : <math>f(x) = x^e \mod n</math> | ||
यदि <math>n=pq</math> का गुणनखंड ज्ञात है, तो <math>\phi(n)=(p-1)(q-1)</math> की गणना की जा सकती है। इसके साथ <math>e</math> के व्युत्क्रम <math>d</math> की गणना की जा सकती है <math>d = e^{-1} \mod{\phi(n)}</math>, और फिर दिया गया <math>y = f(x)</math> हम पा सकते हैं <math>x = y^d \mod n = x^{ed} \mod n = x \mod n</math> इसकी कठोरता आरएसए धारणा से होती है।<ref>Goldwasser's lecture notes, 2.3.2; Lindell's notes, pp. 17, Ex. 1.</ref> | |||
=== राबिन का द्विघात अवशेष अनुमान === | === राबिन का द्विघात अवशेष अनुमान === | ||
मान लीजिए <math>n</math> एक बड़ी संमिश्र संख्या है जैसे कि <math>n = pq</math> जहाँ <math>p</math> और <math>q</math> बड़ी अभाज्य संख्याएँ हैं जैसे कि <math>p \equiv 3 \pmod{4}, q \equiv 3 \pmod{4}</math> और विरोधी के लिए गोपनीय रखा। समस्या यह है कि दिए गए <math>a</math> के अनुसार <math>z</math> की गणना करना <math>a \equiv z^2 \pmod{n}</math> है। ट्रैपडोर <math>n</math> का गुणनखंड है। ट्रैपडोर के साथ, z का समाधान <math>cx + dy, cx - dy, -cx + dy, -cx - dy</math> के रूप में दिया जा सकता है, जहाँ <math>a \equiv x^2 \pmod{p}, a \equiv y^2 \pmod{q}, c \equiv 1 \pmod{p}, c \equiv 0 \pmod{q}, d \equiv 0 \pmod{p}, d \equiv 1 \pmod{q}</math>। अधिक विवरण के लिए चीनी शेष प्रमेय देखें। ध्यान दें कि अभाज्य संख्याएँ <math>p</math> और <math>q</math> दिए जाने पर, हम <math>x \equiv a^{\frac{p+1}{4}} \pmod{p}</math> और <math>y \equiv a^{\frac{q+1}{4}} \pmod{q}</math> यहां नियम <math>p \equiv 3 \pmod{4}</math> और <math>q \equiv 3 \pmod{4}</math> आश्वासन देती हैं कि समाधान <math>x</math> और <math>y</math> को अच्छी तरह से परिभाषित किया जा सकता है।<ref>Goldwasser's lecture notes, 2.3.4</ref> | |||
== यह भी देखें == | == यह भी देखें == | ||
* | * एक तरफ़ा कार्य | ||
==टिप्पणियाँ== | ==टिप्पणियाँ== |
Revision as of 12:21, 1 June 2023
सैद्धांतिक कंप्यूटर विज्ञान और क्रिप्टोग्राफी में, एक ट्रैपडोर कार्य एक कार्य (गणित) है जो एक दिशा में गणना करना आसान है फिर भी विशेष जानकारी के बिना विपरीत दिशा में गणना करना कठिन है (इसके व्युत्क्रम कार्य को खोजना) जिसे ट्रैपडोर कहा जाता है। ट्रैपडोर कार्य एक तरफा कार्य का एक विशेष स्थिति है और सार्वजनिक कुंजी क्रिप्टोग्राफी में व्यापक रूप से उपयोग किया जाता है।[2]
गणितीय शब्दों में यदि f एक ट्रैपडोर कार्य है तो कुछ गुप्त सूचना t उपस्थित है जैसे कि f(x) और t दिया गया है, x की गणना करना आसान है। एक ताला और उसकी चाबी पर विचार करें। ताला तंत्र में झोंपड़ी को धकेल कर कुंजी का उपयोग किए बिना पैडलॉक को खुले से बंद में बदलना तुच्छ है। पैडलॉक को आसानी से खोलने के लिए चूँकि उपयोग की जाने वाली कुंजी की आवश्यकता होती है। यहां की टी ट्रैपडोर है और पैडलॉक ट्रैपडोर कार्य है।
एक सरल गणितीय ट्रैपडोर का एक उदाहरण 6895601 है जो दो अभाज्य संख्याओं का गुणनफल है। वे संख्याएँ क्या हैं? एक विशिष्ट पशुबल का आक्रमण ब्रूट-फोर्स समाधान उत्तर खोजने तक 6895601 को कई अभाज्य संख्याओं से विभाजित करने का प्रयास करना होगा। चूँकि यदि किसी को बताया जाए कि 1931 संख्याओं में से एक है, तो वह किसी भी कैलकुलेटर में 6895601 ÷ 1931 अंकित करके उत्तर पा सकता है। यह उदाहरण एक शसक्त ट्रैपडोर कार्य नहीं है - आधुनिक कंप्यूटर एक सेकंड के अंदर सभी संभावित उत्तरों का अनुमान लगा सकते हैं - किंतु इस नमूना समस्या को पूर्णांक गुणनखंडन द्वारा सुधारा जा सकता है।
1970 के दशक के मध्य में व्हिटफ़ील्ड डिफी, मार्टिन हेलमैन और राल्फ मर्कल द्वारा असममित कुंजी एल्गोरिदम असममित (या सार्वजनिक कुंजी) एन्क्रिप्शन विधियों के प्रकाशन के साथ ट्रैपडोर कार्य क्रिप्टोग्राफी में प्रमुखता से आए वास्तव में, डिफी & हेलमैन (1976) शब्द गढ़ा। कई कार्य वर्गों का प्रस्ताव किया गया था और जल्द ही यह स्पष्ट हो गया कि ट्रैपडोर कार्यों को प्रारंभ में जितना सोचा गया था उससे कहीं अधिक कठिन है। उदाहरण के लिए एक प्रारंभिक सुझाव सबसेट योग समस्या के आधार पर योजनाओं का उपयोग करना था। यह अनुपयुक्त होने के अतिरिक्त जल्दी निकला है।
As of 2004[update], सबसे प्रसिद्ध ट्रैपडोर कार्य (परिवार) उम्मीदवार आरएसए (एल्गोरिदम) और राबिन क्रिप्टोसिस्टम ऑफ़ कार्य हैं। दोनों को घातांक मॉडुलो के रूप में एक समग्र संख्या के रूप में लिखा गया है और दोनों प्रधान गुणनखंड की समस्या से संबंधित हैं।
असतत लॉगरिदम समस्या की कठोरता से संबंधित कार्य (या तो मॉड्यूल एक प्रमुख या अंडाकार वक्र क्रिप्टोग्राफी पर परिभाषित समूह में) ट्रैपडोर कार्यों के रूप में नहीं जाना जाता है क्योंकि समूह के बारे में कोई ज्ञात ट्रैपडोर जानकारी नहीं है जो कुशल गणना को असतत लघुगणक सक्षम बनाता है
क्रिप्टोग्राफी में ट्रैपडोर का बहुत विशिष्ट पूर्वोक्त अर्थ होता है और इसे पिछले दरवाजे (कंप्यूटिंग) के साथ भ्रमित नहीं होना चाहिए (इन्हें अधिकांशतः परस्पर विनिमय के लिए उपयोग किया जाता है, जो गलत है)। एक बैकडोर एक जानबूझकर तंत्र है जिसे क्रिप्टोग्राफ़िक एल्गोरिदम (उदाहरण के लिए एक कुंजी जोड़ी पीढ़ी एल्गोरिदम, डिजिटल हस्ताक्षर एल्गोरिदम इत्यादि) या ऑपरेटिंग प्रणाली में जोड़ा जाता है उदाहरण के लिए, जो एक या अधिक अनधिकृत पार्टियों को बायपास करने या सुरक्षा प्रणाली को किसी न किसी रूप में कम करने की अनुमति देता है।
परिभाषा
ट्रैपडोर कार्य एक तरफ़ा कार्य { fk : Dk → Rk } (k ∈ K), का एक संग्रह है, जिसमें सभी K, Dk, Rk बाइनरी स्ट्रिंग्स {0, 1}* के उपसमुच्चय हैं, जो निम्नलिखित नियमो को पूरा करते हैं:
- वहाँ एक संभाव्य बहुपद समय (पीपीटी) नमूना एल्गोरिथ्म जेन सेंट उपस्थित है। Gen s.t. Gen(1n) = (k, tk) के साथ k ∈ K ∩ {0, 1}n और tk ∈ {0, 1} संतुष्ट करता है |tk | < p (n), जिसमें पी कुछ बहुपद है। प्रत्येक tk को k के अनुरूप ट्रैपडोर कहा जाता है। प्रत्येक ट्रैपडोर का कुशलतापूर्वक नमूना लिया जा सकता है।
- दिए गए इनपुट k में, एक पीपीटी एल्गोरिथ्म भी उपस्थित है जो x ∈ Dk को आउटपुट करता है अर्थात् प्रत्येक Dk कुशलता से नमूना लिया जा सकता है।
- किसी भी k ∈ K के लिए, एक पीपीटी एल्गोरिथ्म उपस्थित है जो fk की सही गणना करता है
- किसी भी k ∈ K के लिए, एक पीपीटी एल्गोरिथम A st उपस्थित है। किसी भी x ∈ Dk, के लिए चलो y = A ( k, fk(x), tk ) और फिर हमारे पास fk(y) = fk(x) यानी ट्रैपडोर दिया गया है, इसे विपरीत करना आसान है।
- किसी भी k ∈ K, के लिए, ट्रैपडोर tk के बिना किसी भी पीपीटी एल्गोरिथम के लिए, fk को सही विधि से विपरीत करने की संभावना (अर्थात, दिया गया fk(x) एक पूर्व-छवि x' खोजें, जैसे कि fk(x' ) = fk(x)) नगण्य है।[3][4][5]
यदि उपरोक्त संग्रह में प्रत्येक कार्य एक तरफ़ा क्रमचय है तो संग्रह को ट्रैपडोर क्रमचय भी कहा जाता है।[6]
उदाहरण
निम्नलिखित दो उदाहरणों में, हम सदैव मानते हैं कि एक बड़ी समग्र संख्या का गुणनखंड करना कठिन है (पूर्णांक गुणनखंड देखें)।
आरएसए धारणा
इस उदाहरण में, ,मापांक (यूलर का का संपूर्ण फलन) का व्युत्क्रम ट्रैपडोर है:
यदि का गुणनखंड ज्ञात है, तो की गणना की जा सकती है। इसके साथ के व्युत्क्रम की गणना की जा सकती है , और फिर दिया गया हम पा सकते हैं इसकी कठोरता आरएसए धारणा से होती है।[7]
राबिन का द्विघात अवशेष अनुमान
मान लीजिए एक बड़ी संमिश्र संख्या है जैसे कि जहाँ और बड़ी अभाज्य संख्याएँ हैं जैसे कि और विरोधी के लिए गोपनीय रखा। समस्या यह है कि दिए गए के अनुसार की गणना करना है। ट्रैपडोर का गुणनखंड है। ट्रैपडोर के साथ, z का समाधान के रूप में दिया जा सकता है, जहाँ । अधिक विवरण के लिए चीनी शेष प्रमेय देखें। ध्यान दें कि अभाज्य संख्याएँ और दिए जाने पर, हम और यहां नियम और आश्वासन देती हैं कि समाधान और को अच्छी तरह से परिभाषित किया जा सकता है।[8]
यह भी देखें
- एक तरफ़ा कार्य
टिप्पणियाँ
- ↑ Ostrovsky, pp. 6-9
- ↑ Bellare, M (June 1998). "कई-से-एक ट्रैपडोर फ़ंक्शंस और सार्वजनिक-कुंजी क्रिप्टोसिस्टम से उनका संबंध". Advances in Cryptology.
- ↑ Pass's Notes, def. 56.1
- ↑ Goldwasser's lecture notes, def. 2.16
- ↑ Ostrovsky, pp. 6-10, def. 11
- ↑ Pass's notes, def 56.1; Dodis's def 7, lecture 1.
- ↑ Goldwasser's lecture notes, 2.3.2; Lindell's notes, pp. 17, Ex. 1.
- ↑ Goldwasser's lecture notes, 2.3.4
संदर्भ
- Diffie, W.; Hellman, M. (1976), "New directions in cryptography" (PDF), IEEE Transactions on Information Theory, 22 (6): 644–654, CiteSeerX 10.1.1.37.9720, doi:10.1109/TIT.1976.1055638
- Pass, Rafael, A Course in Cryptography (PDF), retrieved 27 November 2015
- Goldwasser, Shafi, Lecture Notes on Cryptography (PDF), retrieved 25 November 2015
- Ostrovsky, Rafail, Foundations of Cryptography (PDF), retrieved 27 November 2015
- Dodis, Yevgeniy, Introduction to Cryptography Lecture Notes (Fall 2008), retrieved 17 December 2015
- Lindell, Yehuda, Foundations of Cryptography (PDF), retrieved 17 December 2015