رمزگذاری کلید نامتقارن : یک سیستم رمزنگاری که از کلیدهای زوجی - عمومی و خصوصی - برای رمزگذاری و رمزگشایی دادهها استفاده میکند. کلیدهای عمومی برای رمزگذاری دادهها استفاده میشوند و ممکن است به اشتراک گذاشته شوند. کلیدهای خصوصی برای رمزگشایی دادهها استفاده میشوند و فقط برای مالک شناخته شده هستند.
متن رمزی : نتیجه رمزگذاری انجام شده روی متن ساده با استفاده از یک الگوریتم. متن رمزی تا زمانی که با استفاده از یک کلید به متن ساده تبدیل نشود، قابل فهم نیست.
سازگاری : به این معنی است که Tink در تمام زبانهای برنامهنویسی "یکسان" رفتار میکند. برای مثال، Tink سازگاری ارزیابی را فراهم میکند، به این معنی که برای یک مجموعه کلید مشخص، اگر ایجاد اولیه در دو زبان موفقیتآمیز باشد، اولیهها رفتار یکسانی دارند.
کلید : بخشی از اطلاعات (مثلاً یک رشته) که برای رمزگذاری یا رمزگشایی دادهها مورد نیاز است. برای نحوه نمایش آنها به اشیاء کلید مراجعه کنید.
مجموعه کلید و دسته مجموعه کلید : تینک از مجموعه کلیدها برای مدیریت کلیدها استفاده میکند. یک مجموعه کلید اساساً مجموعهای از کلیدها است که چرخش کلید را تسهیل میکند. ویژگیهای قابل توجه یک مجموعه کلید عبارتند از:
- هر کلید در یک مجموعه کلید، یک شناسه منحصر به فرد دارد که در داخل یک مجموعه کلید، منحصر به فرد است. این شناسه معمولاً به عنوان پیشوندی به هر متن رمزی، امضا یا برچسب تولید شده اضافه میشود تا نشان دهد از کدام کلید استفاده شده است (برای اطلاعات بیشتر به نحوه برچسبگذاری متنهای رمزی توسط Tink مراجعه کنید).
- فقط یک کلید در هر زمان در یک مجموعه کلید، کلید اصلی است. کلید اصلی در یک مجموعه کلید، کلیدی است که در حال حاضر "در حال استفاده" است.
- تمام کلیدهای موجود در یک مجموعه کلید باید پیادهسازیهایی از یک نوع داده اولیه (مانند AEAD) باشند، اما میتوانند انواع کلید متفاوتی داشته باشند (برای مثال، یک کلید AES-GCM و XCHACHA20-POLY1305).
هر پیادهسازی Tink رابطهای برنامهنویسی کاربردی (API) برای ایجاد یا ویرایش مجموعه کلیدها ارائه میدهد. با این حال، توصیه میکنیم از ابزار خط فرمان (CLI) Tinkey استفاده کنید.
کاربران با استفاده از دستگیرههای مجموعه کلید ، روی یک مجموعه کلید کار میکنند. یک دستگیره مجموعه کلید، افشای ماده کلید حساس واقعی را محدود میکند. همچنین یک مجموعه کلید را انتزاعی میکند و به کاربران اجازه میدهد تا یک اولیه را که کل مجموعه کلید را "در بر میگیرد" به دست آورند. به عنوان مثال، میتوانید یک اولیه AEAD از یک مجموعه کلید با N کلید دریافت کنید. رمزگذاری و رمزگشایی با اولیه به دست آمده و سپس از کلید اصلی در مجموعه کلید استفاده میکند.
سیستم مدیریت کلید (KMS) : سیستمی که برای مدیریت کلیدهای رمزنگاری، از جمله تولید، ذخیره، استفاده، چرخش، تخریب و جایگزینی آنها استفاده میشود.
نوع کلید : یک نوع کلید، یک نوع داده اولیه خاص را پیادهسازی میکند. اکثر انواع داده اولیه، بسته به نیازهای شما برای امنیت، زمان اجرا و فضا، چندین نوع کلید برای انتخاب دارند. به عنوان مثال، AES128_GCM یک AEAD است که برای اکثر نیازها سریع و مؤثر است. برای اطلاعات بیشتر به انواع کلید پشتیبانی شده بر اساس زبان مراجعه کنید.
پارامترها : اطلاعات مورد نیاز برای ایجاد یک کلید، به استثنای جنس کلید و شناسه کلید، را به طور کامل شرح میدهد. برای نحوه نمایش آنها به اشیاء پارامترها مراجعه کنید.
متن ساده : فرم ورودی قابل فهم یک متن رمزگذاری شده یا عناصر آن.
اولیه : تینک از اولیهها به عنوان بلوکهای سازنده رمزنگاری استفاده میکند که یک الگوریتم زیربنایی را مدیریت میکنند تا کاربران بتوانند وظایف رمزنگاری را با خیال راحت انجام دهند. یک اولیه جزئیات یک الگوریتم رمزنگاری و نوع کلید را تعریف میکند.
- برای مرور کلی از عناصر اولیه پشتیبانی شده و موارد استفاده آنها ، به «انتخاب یک عنصر اولیه» مراجعه کنید.
- برای اطلاعات سازگاری ، به بخشهای اولیه پشتیبانیشده بر اساس زبان مراجعه کنید.
رجیستری : یک موجودیت سراسری در Tink که میداند چگونه کلیدها و مقادیر اولیه جدید تولید کند. همچنین به راهنمای اشکالزدایی خطاهای ثبتنام مراجعه کنید.
رمزگذاری کلید متقارن : الگوریتمی رمزنگاری که از یک کلید یکسان برای رمزگذاری متن ساده و رمزگشایی متن رمز شده استفاده میکند.