फ़िंगरप्रिंट (कंप्यूटिंग)

कंप्यूटर विज्ञान में, फ़िंगरप्रिंटिंग एल्गोरिद्म एक ऐसी प्रक्रिया है, जो मनमाने ढंग से बड़े डेटा (कंप्यूटिंग) आइटम (जैसे कंप्यूटर फ़ाइल (कंप्यूटिंग)) को एक बहुत छोटे बिट (कंप्यूटिंग) स्ट्रिंग, इसके 'फ़िंगरप्रिंट'' में मैप (गणित) करती है। जो विशिष्ट रूप से सभी व्यावहारिक उद्देश्यों के लिए मूल डेटा की पहचान करता है ठीक वैसे ही जैसे मानव उंगलियों के निशान व्यावहारिक उद्देश्यों के लिए विशिष्ट रूप से लोगों की पहचान करते हैं। इस फ़िंगरप्रिंट का उपयोग डेटा डुप्लिकेशन उद्देश्यों के लिए किया जा सकता है। इसे फ़ाइल फ़िंगरप्रिंटिंग, डेटा फ़िंगरप्रिंटिंग या संरचित डेटा फ़िंगरप्रिंटिंग के रूप में भी जाना जाता है।

फ़िंगरप्रिंट का उपयोग आमतौर पर भारी डेटा की तुलना और प्रसारण से बचने के लिए किया जाता है। उदाहरण के लिए, एक वेब ब्राउज़र  या प्रॉक्सी सर्वर कुशलतापूर्वक जांच कर सकता है कि रिमोट फ़ाइल को संशोधित किया गया है या नहीं, केवल अपनी  अंगुली की छाप  प्राप्त करके और इसे पहले प्राप्त की गई प्रति के साथ तुलना करके। फ़िंगरप्रिंट फ़ंक्शंस को उच्च-प्रदर्शन हैश फंकशन के रूप में देखा जा सकता है, जो विशिष्ट रूप से डेटा के पर्याप्त ब्लॉकों की पहचान करने के लिए उपयोग किया जाता है जहाँ क्रिप्टोग्राफ़िक हैश फ़ंक्शन अनावश्यक हो सकते हैं।

ऑडियो फिंगरप्रिंटिंग और वीडियो फिंगरप्रिंटिंग के लिए विशेष एल्गोरिदम मौजूद हैं।



आभासी विशिष्टता
अपने इच्छित उद्देश्यों को पूरा करने के लिए, एक फ़िंगरप्रिंटिंग एल्गोरिदम को आभासी निश्चितता के साथ फ़ाइल की पहचान को कैप्चर करने में सक्षम होना चाहिए। दूसरे शब्दों में, हैश टकराव की संभावना - एक ही फिंगरप्रिंट देने वाली दो फाइलें - नगण्य होनी चाहिए, घातक त्रुटियों के अन्य अपरिहार्य कारणों की संभावना की तुलना में (जैसे युद्ध या उल्कापिंड द्वारा प्रणाली को नष्ट किया जा रहा है): कहते हैं, 10−20 या उससे कम।

यह आवश्यकता कुछ हद तक अंततः,  फ़ंक्शन के समान है, लेकिन अधिक कठोर है। आकस्मिक डेटा भ्रष्टाचार या संचरण त्रुटियों का पता लगाने के लिए, यह पर्याप्त है कि मूल फ़ाइल और किसी भी दूषित संस्करण के चेकसम निश्चित रूप से भिन्न होंगे, त्रुटियों के लिए कुछ सांख्यिकीय मॉडल दिए गए हैं। विशिष्ट स्थितियों में, यह लक्ष्य आसानी से 16- या 32-बिट चेकसम के साथ प्राप्त किया जाता है। इसके विपरीत, फ़ाइल फ़िंगरप्रिंट को कम से कम 64-बिट कंप्यूटिंग | 64-बिट लंबा होना चाहिए ताकि बड़ी फ़ाइल सिस्टम में आभासी विशिष्टता की गारंटी दी जा सके (जन्मदिन का दौरा देखें)।

उपरोक्त आवश्यकता को सिद्ध करते समय, किसी को यह ध्यान रखना चाहिए कि फ़ाइलें अत्यधिक गैर-यादृच्छिक प्रक्रियाओं द्वारा उत्पन्न होती हैं जो फ़ाइलों के बीच जटिल निर्भरताएँ पैदा करती हैं। उदाहरण के लिए, एक विशिष्ट व्यावसायिक नेटवर्क में, आमतौर पर दस्तावेजों के कई जोड़े या समूह मिलते हैं जो केवल मामूली संपादन या अन्य मामूली संशोधनों से भिन्न होते हैं। एक अच्छे फ़िंगरप्रिंटिंग एल्गोरिदम को यह सुनिश्चित करना चाहिए कि ऐसी प्राकृतिक प्रक्रियाएँ विशिष्ट फ़िंगरप्रिंट उत्पन्न करती हैं, वांछित स्तर की निश्चितता के साथ।

कंपाउंडिंग
कंप्यूटर फ़ाइलों को अक्सर विभिन्न तरीकों से संयोजित किया जाता है, जैसे संयोजन (संग्रह फ़ाइलों में) या प्रतीकात्मक समावेशन (सी प्रीप्रोसेसर के साथ) #include निर्देश)। कुछ फ़िंगरप्रिंटिंग एल्गोरिदम एक समग्र फ़ाइल के फ़िंगरप्रिंट को उसके घटक भागों के फ़िंगरप्रिंट से गणना करने की अनुमति देते हैं। यह कंपाउंडिंग गुण कुछ अनुप्रयोगों में उपयोगी हो सकता है, जैसे कि यह पता लगाना कि किसी प्रोग्राम को कब पुन: संकलित करने की आवश्यकता है।

राबिन का एल्गोरिथ्म
राबिन फ़िंगरप्रिंट | राबिन फ़िंगरप्रिंटिंग एल्गोरिथम वर्ग का प्रोटोटाइप है। यह तेजी से और लागू करने में आसान है, कंपाउंडिंग की अनुमति देता है, और टकराव की संभावना के गणितीय रूप से सटीक विश्लेषण के साथ आता है। अर्थात्, दो तार r और s की समान w-बिट फ़िंगरप्रिंट उत्पन्न करने की संभावना max(|r|,|s|)/2 से अधिक नहीं हैw-1, जहां |r| बिट्स में r की लंबाई को दर्शाता है। एल्गोरिथ्म को w-बिट आंतरिक कुंजी के पिछले विकल्प की आवश्यकता होती है, और यह गारंटी तब तक बनी रहती है जब तक कि कुंजी के ज्ञान के बिना स्ट्रिंग्स r और s को चुना जाता है।

दुर्भावनापूर्ण हमलों के विरुद्ध राबिन की विधि सुरक्षित नहीं है। एक विरोधी एजेंट आसानी से कुंजी की खोज कर सकता है और अपने फिंगरप्रिंट को बदले बिना फ़ाइलों को संशोधित करने के लिए इसका उपयोग कर सकता है।

क्रिप्टोग्राफ़िक हैश फ़ंक्शंस
मेनस्ट्रीम क्रिप्टोग्राफी ग्रेड हैश फ़ंक्शंस आमतौर पर उच्च-गुणवत्ता वाले फ़िंगरप्रिंट फ़ंक्शंस के रूप में काम कर सकते हैं, क्रिप्टएनालिसिस से गहन जांच के अधीन हैं, और इसका फायदा यह है कि उन्हें दुर्भावनापूर्ण हमलों के खिलाफ सुरक्षित माना जाता है।

एमडी5 और सुरक्षित हैश एल्गोरिथ्म (बहुविकल्पी)बहुविकल्पी) जैसे क्रिप्टोग्राफिक हैश एल्गोरिदम की एक कमी यह है कि वे राबिन के फिंगरप्रिंट एल्गोरिदम की तुलना में निष्पादित करने में काफी अधिक समय लेते हैं। उनके पास टकराव की संभावना पर सिद्ध गारंटी का भी अभाव है। इनमें से कुछ एल्गोरिदम, विशेष रूप से MD5, अब सुरक्षित फ़िंगरप्रिंटिंग के लिए अनुशंसित नहीं हैं। वे अभी भी त्रुटि जाँच के लिए उपयोगी हैं, जहाँ उद्देश्यपूर्ण डेटा छेड़छाड़ प्राथमिक चिंता का विषय नहीं है।

आवेदन उदाहरण
NIST एक सॉफ्टवेयर रेफरेंस लाइब्रेरी, अमेरिकन राष्ट्रीय सॉफ्टवेयर संदर्भ पुस्तकालय  वितरित करता है, जो क्रिप्टोग्राफिक हैश फ़ंक्शंस का उपयोग फ़िंगरप्रिंट फ़ाइलों के लिए करता है और उन्हें सॉफ़्टवेयर उत्पादों में मैप करता है। नेशनल ड्रग इंटेलिजेंस सेंटर द्वारा अनुरक्षित हैशकीपर डेटाबेस, कानून प्रवर्तन अनुप्रयोगों (जैसे जब्त डिस्क ड्राइव की सामग्री का विश्लेषण) में उपयोग के लिए अच्छी और ज्ञात खराब कंप्यूटर फ़ाइलों के फिंगरप्रिंट का भंडार है।

यह भी देखें

 * ध्वनिक फिंगरप्रिंटिंग
 * स्वचालित सामग्री पहचान
 * कैनवास फिंगरप्रिंटिंग
 * डिजिटल वीडियो फिंगरप्रिंटिंग
 * टीसीपी/आईपी स्टैक फिंगरप्रिंटिंग
 * डिवाइस फिंगरप्रिंट
 * मशीन पहचान कोड
 * त्रुटि सुधार कोड
 * सार्वजनिक कुंजी फिंगरप्रिंट
 * यादृच्छिक समारोह
 * वेब ब्राउज़र का उपयोग हिस्सा