קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
בספריות קריפטוגרפיות רבות, מפתחות מזוהים לעיתים קרובות רק לפי כמה רצפי בייט. לדוגמה, פונקציות OpenSSL כמו EVP_EncryptInit_ex, שצריכות את IV לצורך החישוב בנוסף לבאיטים של המפתח, או השיטה Cipher.init של javax.crypto, שמקבלת גם רצף מפתחות וגם AlgorithmParameterSpec. לרוב קשה להשתמש בפונקציות כאלה בצורה נכונה, והעברת הפרמטרים הלא נכונים עלולה להוביל לתוצאות חמורות.
המטרה של Tink היא להיות שונה, והיא מצפה שמפתח תמיד יכלול גם את חומר המפתח וגם את המטא-נתונים (הפרמטרים).
לדוגמה, מפתח AEAD מלא מציין בפירוט מדויק איך פועלות ההצפנה והפענוח – הוא מציין את שתי הפונקציות \(\mathrm{Enc}\) ו-\(\mathrm{Dec}\), ואת אופן הקידוד של הטקסט המוצפן (למשל, וקטור אתחול, ואחריו ההצפנה ואחריו התג).
מפתח AES ב-Tink הוא לא רק רצף בייטים באורך 128, 192 או 256 ביטים, אלא הוא גם מאחסן את מפרטי האלגוריתם התואמים הנדרשים לחישוב המפתח, בצורת אובייקט parameters. לכן, מפתח AES-EAX מלא ומפתח AES-GCM מלא הם אובייקטים שונים ב-Tink.
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2025-07-25 (שעון UTC)."],[[["\u003cp\u003eIn Tink, a Key is a cryptographic object encompassing both key material and metadata, ensuring clear and complete functionality specification.\u003c/p\u003e\n"],["\u003cp\u003eUnlike traditional libraries, Tink Keys include necessary parameters like IV and algorithm specifications, simplifying usage and mitigating potential errors.\u003c/p\u003e\n"],["\u003cp\u003eTink Keys fully define cryptographic operations, including encryption, decryption, and ciphertext encoding, as exemplified by AEAD keys.\u003c/p\u003e\n"],["\u003cp\u003eDifferent key types with distinct algorithm specifications, like AES-EAX and AES-GCM, are treated as separate objects within Tink.\u003c/p\u003e\n"],["\u003cp\u003eTink incorporates Keys into Keysets, enabling key rotation and enhanced security practices.\u003c/p\u003e\n"]]],["Tink's **Key** includes both key material and metadata, defining its functionality. Unlike other libraries that only use byte sequences, Tink requires complete parameter specifications. A full AEAD key defines encryption and decryption processes, along with ciphertext encoding. AES keys in Tink include algorithm specifications, making different AES types distinct objects. Keys in Tink exist as parts of a set of keys called a Keyset, allowing key rotation.\n"],null,[]]