קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
בספריות קריפטוגרפיות רבות, מפתחות מזוהים לעיתים קרובות רק לפי כמה רצפי בייט. לדוגמה, פונקציות 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)."],[],["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"]]