অনেক ক্রিপ্টোগ্রাফিক লাইব্রেরিতে, কীগুলি প্রায়শই শুধুমাত্র কিছু বাইট সিকোয়েন্স দ্বারা চিহ্নিত করা হয়। উদাহরণস্বরূপ OpenSSL ফাংশন যেমন EVP_EncryptInit_ex
বিবেচনা করুন, যা কী বাইট ছাড়াও গণনার জন্য IV প্রয়োজন; অথবা javax.crypto পদ্ধতি Cipher.init
, যা একটি কী সিকোয়েন্স এবং একটি AlgorithmParameterSpec
উভয়ই নেয়। এই ধরনের ফাংশনগুলি প্রায়শই সঠিকভাবে ব্যবহার করা কঠিন এবং ভুল পরামিতিগুলি পাস করলে গুরুতর পরিণতি হতে পারে।
Tink লক্ষ্য ভিন্ন হতে পারে, এবং আশা করে যে একটি কী সবসময় মূল উপাদান এবং মেটাডেটা (প্যারামিটার) উভয়ই থাকবে।
উদাহরণ স্বরূপ একটি সম্পূর্ণ AEAD কী এনক্রিপশন এবং ডিক্রিপশন কীভাবে কাজ করে তা সঠিকভাবে উল্লেখ করে - এটি দুটি ফাংশন নির্দিষ্ট করে \(\mathrm{Enc}\) এবং\(\mathrm{Dec}\), এবং কিভাবে সাইফারটেক্সট এনকোড করা হয় (যেমন আরম্ভ ভেক্টর, এনক্রিপশন দ্বারা অনুসরণ, ট্যাগ দ্বারা অনুসরণ)।
টিঙ্কে একটি AES কী শুধুমাত্র দৈর্ঘ্য 128, 192 বা 256 বিটের একটি বাইট ক্রম নয়, এটি একটি প্যারামিটার অবজেক্ট আকারে কী গণনা করার জন্য প্রয়োজনীয় সংশ্লিষ্ট অ্যালগরিদম স্পেসিফিকেশনগুলিও সংরক্ষণ করে। সুতরাং, একটি সম্পূর্ণ AES-EAX কী এবং একটি সম্পূর্ণ AES-GCM কী টিঙ্কের বিভিন্ন বস্তু।