टिंक के खास कॉन्सेप्ट को समझें

पहली बार Tink का इस्तेमाल शुरू करने से पहले, आपको कुछ मुख्य कॉन्सेप्ट समझने चाहिए. इनके बारे में यहां बताया गया है.

प्रिमिटिव

Tink, प्रिमिटिव का इस्तेमाल क्रिप्टोग्राफ़िक बिल्डिंग ब्लॉक के तौर पर करता है. ये ब्लॉक, बुनियादी एल्गोरिदम को मैनेज करते हैं, ताकि उपयोगकर्ता क्रिप्टोग्राफ़िक टास्क सुरक्षित तरीके से पूरे कर सकें. प्रिमिटिव, क्रिप्टोग्राफ़िक एल्गोरिदम और कुंजी के टाइप की जानकारी देता है.

कुंजी के टाइप

कुंजी का टाइप, किसी खास प्रिमिटिव को लागू करता है. ज़्यादातर प्रिमिटिव में, कई मुख्य टाइप होते हैं. इन्हें सुरक्षा, रनटाइम, और स्पेस की ज़रूरतों के हिसाब से चुना जा सकता है. उदाहरण के लिए, AES128_GCM एक AEAD है. यह ज़्यादातर ज़रूरतों के लिए, तेज़ और असरदार है. ज़्यादा जानकारी के लिए, भाषा के हिसाब से इस्तेमाल किए जा सकने वाले कीवर्ड टाइप लेख पढ़ें.

कीसेट और कीसेट हैंडल

Tink, कुंजियों को मैनेज करने के लिए कीसेट का इस्तेमाल करता है. कीसेट, कुंजियों का एक सेट होता है. इससे डेटा सुरक्षित करने वाली कुंजी का नया वर्शन बनाने में मदद मिलती है. कीसेट की मुख्य प्रॉपर्टी ये हैं:

  • कीसेट में मौजूद हर कुंजी का एक यूनीक आईडी होता है. यह आईडी, कीसेट में यूनीक होता है. इस आईडी को आम तौर पर, जनरेट किए गए हर सिफ़रटेक्स्ट, हस्ताक्षर या टैग में प्रीफ़िक्स के तौर पर जोड़ा जाता है. इससे यह पता चलता है कि किस कुंजी का इस्तेमाल किया गया था. ज़्यादा जानकारी के लिए, देखें कि Tink सिफ़रटेक्स्ट को कैसे टैग करता है.
  • कीसेट में एक बार में सिर्फ़ एक कुंजी प्राइमरी होती है. कीसेट में मौजूद प्राइमरी कुंजी, वह कुंजी होती है जिसका इस्तेमाल फ़िलहाल किया जा रहा है.
  • किसी कीसेट में मौजूद सभी कुंजियां, एक ही प्रिमिटिव (जैसे, AEAD) के लिए लागू की गई होनी चाहिए. हालांकि, उनके टाइप अलग-अलग हो सकते हैं. उदाहरण के लिए, AES-GCM और XCHACHA20-POLY1305 कुंजी.

Tink को लागू करने के हर तरीके में, कीसेट बनाने या उनमें बदलाव करने के लिए एपीआई उपलब्ध होते हैं. हालांकि, हमारा सुझाव है कि आप हमारे सीएलआई टूल Tinkey का इस्तेमाल करें.

उपयोगकर्ता, कीसेट हैंडल का इस्तेमाल करके, कीसेट को मैनेज करते हैं. कीसेट हैंडल, संवेदनशील कुंजी मटीरियल के असल डेटा को सीमित करता है. यह कीसेट को भी ऐब्स्ट्रैक्ट करता है. इससे उपयोगकर्ता को एक प्रिमिटिव मिलता है जो पूरी कीसेट को "रैप" करता है. उदाहरण के लिए, N कुंजियों वाले कीसेट का एईएडी प्रिमिटिव पाया जा सकता है. इसके बाद, मिले हुए प्रिमिटिव का इस्तेमाल करके एन्क्रिप्ट (सुरक्षित) और डिक्रिप्ट (सुरक्षित तरीके से बदलना) किया जा सकता है. इसके लिए, कीसेट में मौजूद प्राइमरी की का इस्तेमाल किया जाता है.

ज़्यादा जानकारी के लिए, कीसेट डिज़ाइन देखें.