با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
رمزگذاری کلید نامتقارن : یک سیستم رمزنگاری که از کلیدهای جفتی - عمومی و خصوصی - برای رمزگذاری و رمزگشایی داده ها استفاده می کند. کلیدهای عمومی برای رمزگذاری داده ها استفاده می شوند و ممکن است به اشتراک گذاشته شوند. کلیدهای خصوصی برای رمزگشایی داده ها استفاده می شوند و فقط برای مالک شناخته می شوند.
متن رمزی : نتیجه رمزگذاری انجام شده بر روی متن ساده با استفاده از یک الگوریتم. متن رمزی تا زمانی که با استفاده از یک کلید به متن ساده تبدیل نشود قابل درک نیست.
سازگاری : به این معنی است که Tink در همه زبان های برنامه نویسی "یکسان" رفتار می کند. به عنوان مثال، Tink ثبات ارزیابی را فراهم می کند، به این معنی که برای یک مجموعه کلیدی معین، اگر ایجاد اولیه در دو زبان موفق شود، اولیه ها یکسان رفتار می کنند.
کلید : بخشی از اطلاعات (به عنوان مثال، یک رشته) مورد نیاز برای رمزگذاری یا رمزگشایی داده ها. اشیاء کلیدی را برای نحوه نمایش آنها ببینید.
دسته کلید و دسته کلید : تینک از مجموعه کلیدها برای مدیریت کلیدها استفاده می کند. مجموعه کلید اساسا مجموعه ای از کلیدها است که چرخش کلید را تسهیل می کند. ویژگی های قابل توجه یک کیست عبارتند از:
هر کلید در یک مجموعه کلید دارای یک شناسه منحصر به فرد است که در یک مجموعه کلید منحصر به فرد است. این شناسه معمولاً بهعنوان پیشوندی به هر متن رمزی، امضا یا برچسب تولید شده اضافه میشود تا مشخص کند از کدام کلید استفاده شده است (برای اطلاعات بیشتر ببینید که چگونه Tink متنهای رمزی را برچسبگذاری میکند ).
فقط یک کلید در یک زمان در یک مجموعه کلید اصلی است. یک کلید اصلی در یک مجموعه کلید در حال حاضر کلید "در حال استفاده" است.
همه کلیدهای یک مجموعه کلید باید پیادهسازیهایی از همان ابتدایی (مانند AEAD) باشند، اما میتوانند انواع کلیدهای مختلفی داشته باشند (به عنوان مثال، کلید AES-GCM و XCHACHA20-POLY1305).
هر پیاده سازی Tink API هایی را برای ایجاد یا ویرایش مجموعه کلیدها فراهم می کند. با این حال، توصیه می کنیم از ابزار CLI خود از Tinkey استفاده کنید.
کاربران روی یک مجموعه کلید با استفاده از دسته کلیدها کار می کنند. دسته کلید، نوردهی مواد کلید حساس واقعی را محدود می کند. همچنین یک مجموعه کلید را انتزاع می کند که به کاربران اجازه می دهد تا یک کلید اولیه را به دست آورند که کل مجموعه کلید را "پیچیده" می کند. به عنوان مثال، شما می توانید یک AEAD اولیه یک مجموعه کلید با کلیدهای N دریافت کنید. رمزگذاری و رمزگشایی با اولیه به دست آمده سپس از کلید اصلی در مجموعه کلید استفاده می کند.
سیستم مدیریت کلید (KMS) : سیستمی که برای مدیریت کلیدهای رمزنگاری شامل تولید، ذخیره سازی، استفاده، چرخش، تخریب و جایگزینی آنها استفاده می شود.
نوع کلید : یک نوع کلید، یک ابتدایی خاص را پیاده سازی می کند. اکثر primitive ها دارای چندین نوع کلید هستند که بسته به نیاز شما برای امنیت، زمان اجرا و فضا می توانید انتخاب کنید. به عنوان مثال، AES128_GCM یک AEAD است که برای اکثر نیازها سریع و موثر است. در انواع کلیدهای پشتیبانی شده بر اساس زبان بیشتر ببینید.
پارامترها : اطلاعات مورد نیاز برای ایجاد یک کلید را به استثنای مواد کلید و شناسه کلید به طور کامل شرح می دهد. اشیاء پارامترها را برای نحوه نمایش آنها ببینید.
متن ساده : فرم ورودی قابل فهم یک متن رمزگذاری شده یا عناصر آن.
ابتدایی : تینک از مواد اولیه به عنوان بلوک های سازنده رمزنگاری استفاده می کند که یک الگوریتم زیربنایی را مدیریت می کند تا کاربران بتوانند وظایف رمزنگاری را با خیال راحت انجام دهند. یک ابتدایی جزئیات یک الگوریتم رمزنگاری و نوع کلید را تعریف می کند.
Primitives پشتیبانی شده توسط Tink:
رمزگذاری احراز هویت شده با داده های مرتبط (AEAD) : رایج ترین رمزگذاری اولیه برای رمزگذاری داده ها. برای اکثر نیازهای رمزگذاری مناسب است. AEAD محرمانه بودن متن ساده را فراهم می کند و امکان تأیید صحت و صحت آن را فراهم می کند. به رمزگذاری تأیید شده با داده های مرتبط (AEAD) مراجعه کنید.
رمزگذاری قطعی: یک رمزگذاری اولیه که همیشه متن رمزی یکسانی را برای یک متن ساده و کلید مشخص تولید می کند. این می تواند مخاطره آمیز باشد، زیرا یک مهاجم برای شناسایی آن فقط باید بفهمد که کدام متن رمزی با یک ورودی متن ساده مطابقت دارد. AEAD قطعی را ببینید.
امضای دیجیتال : یک نامتقارن (به رمزگذاری کلید نامتقارن مراجعه کنید) برای تأیید صحت و یکپارچگی داده های امضا شده. امضای دیجیتال را ببینید.
رمزگذاری ترکیبی : رمزگذاری اولیه ای که رمزگذاری کلید نامتقارن و رمزگذاری کلید متقارن را ترکیب می کند (به رمزگذاری کلید نامتقارن و رمزگذاری کلید متقارن مراجعه کنید). رمزگذاری ترکیبی کارایی رمزگذاری متقارن را با راحتی رمزگذاری کلید عمومی ترکیب می کند. برای رمزگذاری یک پیام، یک کلید متقارن جدید تولید می شود و برای رمزگذاری داده های متن ساده استفاده می شود، در حالی که کلید عمومی گیرنده فقط برای رمزگذاری کلید متقارن استفاده می شود. متن رمزی نهایی شامل متن رمز متقارن و کلید متقارن رمزگذاری شده است. رمزگذاری ترکیبی را ببینید.
کد احراز هویت پیام (MAC) : یک کد اولیه متقارن (به رمزگذاری کلید متقارن مراجعه کنید) برای تأیید صحت و یکپارچگی داده ها. به کد احراز هویت پیام (MAC) مراجعه کنید.
Streaming AEAD : رمزگذاری اولیه ای که برای جریان داده ها رمزگذاری تایید شده ارائه می کند. زمانی مفید است که داده هایی که باید رمزگذاری شوند آنقدر بزرگ هستند که در یک مرحله پردازش نمی شوند. به پخش جریانی AEAD مراجعه کنید.
تاریخ آخرین بهروزرسانی 2025-07-25 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","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 بهوقت ساعت هماهنگ جهانی."],[[["\u003cp\u003eTink is a cryptographic library that provides a consistent and safe way to perform cryptographic operations across multiple programming languages.\u003c/p\u003e\n"],["\u003cp\u003eIt uses primitives like AEAD, MAC, Digital Signatures, and more to manage underlying algorithms, and keysets to handle key management and rotation.\u003c/p\u003e\n"],["\u003cp\u003eTink offers flexibility with key types to balance security, performance, and size needs.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can use the registry (soon to be deprecated) or Tinkey, a command-line tool, for managing cryptographic keys.\u003c/p\u003e\n"],["\u003cp\u003ePlaintext and Ciphertext represent the data before and after encryption, respectively, and are fundamental concepts within cryptography.\u003c/p\u003e\n"]]],["Asymmetric key encryption uses public keys for encryption and private keys for decryption. Ciphertext is the encrypted output, reversible to plaintext with a key. Tink uses keysets, a collection of keys, managed via keyset handles. A keyset's primary key is the one actively used. Key types implement specific primitives, which are cryptographic tools. Primitives include AEAD, deterministic encryption, digital signature, hybrid encryption, MAC, and streaming AEAD.\n"],null,["# Glossary\n\n**Asymmetric key encryption** : A cryptographic system that uses paired\nkeys---public and private---to encrypt and decrypt data. *Public keys* are used to\nencrypt data and may be shared. *Private keys* are used to decrypt data, and are\nonly known to the owner.\n\n**Ciphertext**: The result of encryption performed on plaintext using an\nalgorithm. Ciphertext is not understandable until it has been converted back\ninto plaintext using a key.\n\n[**Consistency**](/tink/design/consistency): Means that Tink behaves \"the same\"\nin all programming languages. For example, Tink provides evaluation consistency,\nwhich means that for a given keyset, if primitive creation succeeds in two\nlanguages, the primitives behave the same.\n\n[**Key**](/tink/design/keys): A piece of information (for example, a string)\nrequired to encrypt or decrypt data. See [Key\nobjects](/tink/design/key_objects#key_objects) for how they're represented.\n\n[**Keyset \\& keyset handle**](/tink/design/keysets):\nTink uses *keysets* for managing keys. A keyset is essentially a set of keys\nthat facilitate key rotation. Noteworthy properties of a keyset are:\n\n- Each key in a keyset has a unique ID, which is unique within a keyset. This ID is usually added as a prefix to each produced ciphertext, signature or tag to indicate which key was used (see how Tink [tags\n ciphertexts](/tink/design/keysets#tagging_ciphertexts) for more info).\n- Only one key at a time in a keyset is *primary*. A primary key in a keyset is the key \"in use\" at the moment.\n- All the keys in a keyset *must* be implementations of the same primitive (such as AEAD), but can have different key types (for example, an AES-GCM and XCHACHA20-POLY1305 key).\n\nEach Tink implementation provides APIs to create or edit keysets. However, we\nrecommend using [Tinkey](/tink/tinkey-overview) our CLI tool.\n\nUsers operate over a keyset using *keyset handles* . A keyset handle limits the\nexposure of the actual sensitive key material. It also abstracts a keyset\nallowing users to obtain a primitive that \"wraps\" the entire keyset. For\nexample, you can get an AEAD primitive of a keyset with `N` keys; encryption and\ndecryption with the obtained primitive then uses the primary key in the keyset.\n\n**Key management system (KMS)**: A system used to manage cryptographic keys,\nincluding their generation, storage, use, rotation, destruction, and\nreplacement.\n\n**Key type** :\nA *key type* implements a specific primitive. Most primitives have several key\ntypes to choose from depending on your requirements for security, runtime, and\nspace. For example, AES128_GCM is an [AEAD](/tink/aead) that is fast and\neffective for most needs. See more at [Supported key types by\nlanguage](/tink/supported-key-types).\n\n[**Parameters**](/tink/design/parameters): Fully describes the information\nrequired to create a key, excluding the key material and the key ID. See\n[Parameters objects](/tink/design/key_objects#parameters_objects) for how\nthey're represented.\n\n**Plaintext**: The intelligible input form of an encrypted text or of its\nelements.\n\n[**Primitive**](/tink/design/primitives_and_interfaces):\nTink uses *primitives* as cryptographic building blocks that manage an\nunderlying algorithm so users can perform cryptographic tasks safely. A\nprimitive defines the details of a cryptographic algorithm and the key type.\n\nPrimitives supported by Tink:\n\n- **Authenticated Encryption with Associated Data (AEAD)** : The most common primitive for data encryption; suitable for most encryption needs. AEAD provides plaintext confidentiality, and allows verification of its integrity and authenticity. See [Authenticated Encryption with Associated Data\n (AEAD)](/tink/aead).\n- **Deterministic encryption:** A primitive that always produces the same ciphertext for a given plaintext and key. This can be risky, because an attacker only needs to find out which ciphertext corresponds to a given plaintext input to identify it. See [Deterministic\n AEAD](/tink/deterministic-aead).\n- **Digital signature** : An asymmetric (see *Asymmetric key encryption* ) primitive for confirming the authenticity and integrity of signed data. See [Digital signature](/tink/digital-signature).\n- **Hybrid encryption** : A primitive that combines asymmetric key encryption and symmetric key encryption (see *Asymmetric key encryption* and *Symmetric\n key encryption* ). Hybrid encryption combines the efficiency of symmetric encryption with the convenience of public-key encryption. To encrypt a message, a fresh symmetric key is generated and used to encrypt the plaintext data, while the recipient's public key is used to encrypt the symmetric key only. The final ciphertext consists of the symmetric ciphertext and the encrypted symmetric key. See [Hybrid\n encryption](/tink/hybrid).\n- **Message Authentication Code (MAC)** : A symmetric (see *Symmetric key\n encryption* ) primitive for confirming the authenticity and integrity of data. See [Message Authentication Code (MAC)](/tink/mac).\n- **Streaming AEAD** : A primitive providing authenticated encryption for streaming data; useful when the data to be encrypted is too large to be processed in a single step. See [Streaming AEAD](/tink/streaming-aead).\n\nSee [Supported primitives by language](/tink/primitives-by-language) for\ncompatibility information.\n\n[**Registry**](/tink/design/registry): A global entity in Tink that knows how to\ngenerate new keys and primitives. Also see the guidance on [debugging\nregistration errors](/tink/faq/registration_errors).\n| **Note:** The *registry* is in the process of being deprecated (to be replaced by non-global configurations).\n\n**Symmetric key encryption**: A cryptographic algorithm that uses the same key\nto encrypt plaintext and decrypt ciphertext."]]