Google Tink: सुरक्षित उच्च-स्तरीय क्रिप्टो
क्रिप्टोग्राफ़ी विशेषज्ञता के बिना सामान्य क्रिप्टोग्राफ़िक क्रियाएँ करने के लिए Tink के keyset-आधारित API का उपयोग कीजिए।
Google Tink: सुरक्षित उच्च-स्तरीय क्रिप्टो, CoddyKit पर Cryptology Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Cryptology Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Cryptology Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
Tink का परिचय और उद्देश्य
Tink, Google की क्रिप्टोग्राफ़ी टीम द्वारा विकसित एक मुक्त-स्रोत क्रिप्टोग्राफ़िक लाइब्रेरी है, जिसे सुरक्षित और उपयोग में आसान क्रिप्टोग्राफ़ी प्रदान करने के लिए बनाया गया है। इसका मुख्य उद्देश्य निम्न-स्तरीय लाइब्रेरी का उपयोग करने वाले अनुभवी डेवलपरों में भी होने वाले सामान्य क्रिप्टोग्राफ़िक गलत-उपयोग के तरीकों को रोकना है। Tink का इंटरफ़ेस इस तरह बनाया गया है कि सही संचालन सबसे आसान रास्ता हो और गलती से असुरक्षित कॉन्फ़िगरेशन बनाना कठिन हो।
कुंजी-समूह आधारित अमूर्तीकरण
Tink अलग-अलग कुंजी ऑब्जेक्ट दिखाने के बजाय कुंजियों को कुंजी-समूहों में व्यवस्थित करता है। अनुप्रयोग कच्चे कुंजी बाइट के बजाय कुंजी-समूह हैंडल के साथ काम करते हैं। यह अमूर्तीकरण गलती से कुंजी उजागर होने से रोकता है, कुंजी का सहज रोटेशन सक्षम करता है और कुंजियों को दूरस्थ कुंजी प्रबंधन प्रणालियों में संग्रहित करने देता है, बिना इसके कि अनुप्रयोग को कभी सीधे कुंजी सामग्री दिखाई दे। कुंजी-समूह की संकल्पना Tink के सुरक्षित डिज़ाइन का केंद्रीय भाग है।
AEAD इंटरफ़ेस
Tink का AEAD (संबद्ध डेटा के साथ प्रमाणित एन्क्रिप्शन) इंटरफ़ेस एन्क्रिप्ट और डिक्रिप्ट संचालन प्रदान करता है। AeadFactory.getPrimitive(keyset), एक Aead ऑब्जेक्ट लौटाता है; aead.encrypt(plaintext, associatedData) को कॉल करने पर सिफरटेक्स्ट मिलता है। Tink, कुंजी-समूह के आधार पर एन्क्रिप्शन एल्गोरिदम (जैसे AES-256-GCM) अपने-आप चुनता है और यादृच्छिक नॉन्स बनाता है। यह इंटरफ़ेस एल्गोरिदम के सभी विवरण, नॉन्स प्रबंधन और प्रारूप एन्कोडिंग को छिपा देता है।
MAC इंटरफ़ेस
Tink का MAC इंटरफ़ेस संदेश प्रमाणीकरण कोड के लिए गणना और सत्यापन ऑपरेशन प्रदान करता है। MacFactory.getPrimitive(keyset) एक Mac ऑब्जेक्ट लौटाता है। mac.computeMac(data) प्रमाणीकरण टैग लौटाता है; mac.verifyMac(tag, data) इसका सत्यापन करता है और सत्यापन विफल होने पर सुरक्षा अपवाद उत्पन्न करता है। डिफ़ॉल्ट एल्गोरिदम HMAC-SHA256 है। यह इंटरफ़ेस MAC की तुलना सामान्य स्ट्रिंग समानता से करने के बजाय स्थिर-समय तुलना का उपयोग न करने जैसी सामान्य गलतियों को रोकता है।
डिजिटल हस्ताक्षर इंटरफ़ेस
Tink डिजिटल हस्ताक्षरों के लिए अलग-अलग PublicKeySign और PublicKeyVerify इंटरफ़ेस प्रदान करता है। हस्ताक्षर और सत्यापन ऑब्जेक्ट अलग-अलग कुंजी-समूह हैंडल से प्राप्त किए जाते हैं—क्रमशः निजी और सार्वजनिक—जिससे सत्यापन के लिए निजी कुंजी का या इसके उलट गलती से उपयोग नहीं किया जा सकता। Tink के Ed25519 और ECDSA P-256 कार्यान्वयन डिफ़ॉल्ट हैं; यादृच्छिकता से जुड़ी कमजोरियों से बचने के लिए नियतात्मक ECDSA भी उपलब्ध है।
हाइब्रिड एन्क्रिप्शन इंटरफ़ेस
Tink के HybridEncrypt और HybridDecrypt इंटरफ़ेस ECIES (दीर्घवृत्तीय वक्र समेकित एन्क्रिप्शन योजना) को लागू करते हैं। हाइब्रिड एन्क्रिप्शन असममित कुंजी-विनिमय को सममित एन्क्रिप्शन के साथ जोड़ता है: प्रेषक एक क्षणिक कुंजी उत्पन्न करता है, प्राप्तकर्ता की सार्वजनिक कुंजी के साथ ECDH करता है, एक सममित कुंजी प्राप्त करता है और AEAD से एन्क्रिप्ट करता है। इससे शुद्ध असममित एन्क्रिप्शन के अतिरिक्त बोझ के बिना असममित कुंजियों का उपयोग करके बड़े संदेशों को एन्क्रिप्ट किया जा सकता है।
कुंजी-समूह परिवर्तन प्रक्रिया
Tink में कुंजी-समूह का परिवर्तन सुरक्षित और पिछली संगतता वाला होता है। परिवर्तन करने के लिए: एक नई कुंजी उत्पन्न करके उसे कुंजी-समूह में जोड़ें, नई कुंजी को प्राथमिक चिह्नित करें ताकि भविष्य के एन्क्रिप्शन में उसका उपयोग हो, और मौजूदा कूट-पाठों को डिक्रिप्ट करने के लिए पुरानी कुंजियों को कुंजी-समूह में बनाए रखें। पुराने कूट-पाठ डिक्रिप्ट होते रहेंगे, क्योंकि गैर-प्राथमिक कुंजियाँ डिक्रिप्शन के लिए उपलब्ध रहती हैं। जब सभी पुराने कूट-पाठों को फिर से एन्क्रिप्ट कर दिया जाए या उनकी अवधि समाप्त हो जाए, तब पुरानी कुंजियों को कुंजी-समूह से हटा दें।
कुंजी-समूह का क्रमांकन
Tink के कुंजी-समूहों का क्रमांकन JSON या बाइनरी प्रोटोकॉल बफ़र प्रारूप में किया जाता है। JSON प्रारूप मानव-पठनीय है और दोष-निवारण के लिए उपयोगी है। वास्तविक उपयोग के लिए बाइनरी प्रारूप अधिक संक्षिप्त होता है। निजी कुंजियों वाले क्रमांकित कुंजी-समूहों को संग्रहित करने से पहले एन्क्रिप्ट करना आवश्यक है। Tink मानक सममित AEAD एन्क्रिप्शन का उपयोग करके एन्क्रिप्ट किए गए कुंजी-समूहों को संग्रहित करने या उनका संग्रहण KMS को सौंपने का समर्थन करता है।
कुंजी-समूह एन्क्रिप्शन के लिए KMS एकीकरण
Tink प्रमुख KMS प्रदाताओं के साथ एकीकृत होता है: AWS KMS, Google Cloud KMS और HashiCorp Vault। स्थानीय AEAD कुंजी से कुंजी-समूह को एन्क्रिप्ट करने के बजाय, Tink KMS का उपयोग करके कुंजी-समूह एन्क्रिप्शन कुंजी को लपेटता है। वास्तविक कुंजी-समूह एन्क्रिप्शन स्थानीय रूप से उत्पन्न डेटा एन्क्रिप्शन कुंजी (DEK) का उपयोग करता है और DEK को KMS की कुंजी एन्क्रिप्शन कुंजी (KEK) से एन्क्रिप्ट किया जाता है। यह क्लाउड प्रदाताओं द्वारा उपयोग किए जाने वाले आवरण-एन्क्रिप्शन प्रतिरूप का पालन करता है।
बड़ी फ़ाइलों के लिए प्रवाहाधारित AEAD
मानक AEAD में एन्क्रिप्शन और डिक्रिप्शन के लिए पूरे संदेश को स्मृति में लोड करना पड़ता है। Tink का प्रवाहाधारित AEAD बड़ी फ़ाइलों को खंडों में एन्क्रिप्ट करता है, जिससे पूरे सादे पाठ को बफ़र किए बिना प्रवाहाधारित एन्क्रिप्शन और डिक्रिप्शन संभव होता है। प्रत्येक खंड का स्वतंत्र रूप से प्रमाणीकरण किया जाता है और डिक्रिप्शन के दौरान खंडों के क्रम तथा पूर्णता का सत्यापन किया जाता है। बैकअप, वीडियो और अन्य बड़ी फ़ाइलों को एन्क्रिप्ट करने के लिए यह आवश्यक है।
भाषा समर्थन और पारिस्थितिकी-तंत्र
Tink Java, Python, Go और C++ के लिए उपलब्ध है और प्रत्येक भाषा के अनुरूप स्वाभाविक एपीआई प्रदान करता है। अंतर-भाषीय अंतःसंचालनीयता सुनिश्चित है: Python में Tink से एन्क्रिप्ट की गई फ़ाइल को Java में Tink से डिक्रिप्ट किया जा सकता है। इससे Tink उन प्रणालियों के लिए उपयुक्त बनता है जिनमें अलग-अलग भाषाओं में लिखी कई सेवाओं के बीच एन्क्रिप्ट किए गए डेटा का आदान-प्रदान आवश्यक होता है। Tink प्रकार-सुरक्षित कुंजी-समूह विन्यास के लिए प्रोटोकॉल बफ़र के साथ भी एकीकृत होता है।
Tink कुंजी-समूह परिवर्तन
Tink में कुंजी-समूह परिवर्तन के दौरान पुरानी (गैर-प्राथमिक) कुंजी से एन्क्रिप्ट किए गए कूट-पाठों के साथ क्या होता है?
Google Tink का पुनरावलोकन
Tink का पुनरावलोकन: कुंजी-समूह-आधारित अमूर्तन कच्ची कुंजियों के उजागर होने से रोकता है, AEAD इंटरफ़ेस नॉन्स के प्रबंधन और एल्गोरिदम के चयन को छिपाता है, MAC इंटरफ़ेस आंतरिक रूप से स्थिर-समय सत्यापन का उपयोग करता है, डिजिटल हस्ताक्षर और हाइब्रिड एन्क्रिप्शन इंटरफ़ेस इंटरफ़ेस के गलत उपयोग को रोकते हैं, कुंजी-समूह परिवर्तन पिछली संगतता वाला होता है और पुरानी कुंजियों के हटाए जाने तक वे डिक्रिप्शन कर सकती हैं, KMS एकीकरण आवरण-एन्क्रिप्शन प्रतिरूप का पालन करता है, प्रवाहाधारित AEAD बड़ी फ़ाइलों को संभालता है और अंतर-भाषीय अंतःसंचालनीयता सुनिश्चित है।
एआई शिक्षक के साथ Cryptology Academy सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 67
- पाठ
- 261
अक्सर पूछे जाने वाले प्रश्न
क्या “Google Tink: सुरक्षित उच्च-स्तरीय क्रिप्टो” पाठ निःशुल्क है?
हाँ—“Google Tink: सुरक्षित उच्च-स्तरीय क्रिप्टो” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Cryptology Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Cryptology Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Google Tink: सुरक्षित उच्च-स्तरीय क्रिप्टो” में मैं क्या सीखूँगा?
क्रिप्टोग्राफ़ी विशेषज्ञता के बिना सामान्य क्रिप्टोग्राफ़िक क्रियाएँ करने के लिए Tink के keyset-आधारित API का उपयोग कीजिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Cryptology Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Cryptology Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Cryptology Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“Google Tink: सुरक्षित उच्च-स्तरीय क्रिप्टो” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Cryptology Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Cryptology Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- libsodium: गलत उपयोग से सुरक्षित क्रिप्टो लाइब्रेरी
- OpenSSL API: मूल संरचनाएँ और जोखिम
- Google Tink: सुरक्षित उच्च-स्तरीय क्रिप्टो
- क्रिप्टोग्राफ़िक निर्भरताओं का ऑडिट और चयन