চাবি

অনেক ক্রিপ্টোগ্রাফিক লাইব্রেরিতে, কীগুলি প্রায়শই শুধুমাত্র কিছু বাইট সিকোয়েন্স দ্বারা চিহ্নিত করা হয়। উদাহরণ স্বরূপ OpenSSL ফাংশন যেমন EVP_EncryptInit_ex বিবেচনা করুন, যা কী বাইট ছাড়াও গণনার জন্য IV প্রয়োজন; অথবা javax.crypto পদ্ধতি Cipher.init , যা একটি কী সিকোয়েন্স এবং একটি AlgorithmParameterSpec উভয়ই নেয়। এই ধরনের ফাংশনগুলি প্রায়শই সঠিকভাবে ব্যবহার করা কঠিন এবং ভুল পরামিতিগুলি পাস করলে গুরুতর পরিণতি হতে পারে।

Tink লক্ষ্য ভিন্ন হতে পারে, এবং আশা করে যে একটি কী সবসময় মূল উপাদান এবং মেটাডেটা (প্যারামিটার) উভয়ই থাকবে।

উদাহরণস্বরূপ, একটি সম্পূর্ণ AEAD কী এনক্রিপশন এবং ডিক্রিপশন কীভাবে কাজ করে তা সঠিকভাবে উল্লেখ করে - এটি দুটি ফাংশন \(\mathrm{Enc}\) এবং\(\mathrm{Dec}\), এবং কীভাবে সাইফারটেক্সট এনকোড করা হয় তা নির্দিষ্ট করে (যেমন আরম্ভ ভেক্টর, এনক্রিপশন দ্বারা অনুসরণ করে, তারপরে ট্যাগ) .

টিঙ্কে একটি AES কী শুধুমাত্র দৈর্ঘ্য 128, 192 বা 256 বিটের একটি বাইট ক্রম নয়, এটি একটি প্যারামিটার অবজেক্ট আকারে কী গণনা করার জন্য প্রয়োজনীয় সংশ্লিষ্ট অ্যালগরিদম স্পেসিফিকেশনগুলিও সংরক্ষণ করে। সুতরাং, একটি সম্পূর্ণ AES-EAX কী এবং একটি সম্পূর্ণ AES-GCM কী টিঙ্কের বিভিন্ন বস্তু।