رمزگذاری قطعی احراز هویت شده با دادههای مرتبط (AEAD قطعی) رمزگذاری با یک ویژگی قطعی را ارائه میدهد: رمزگذاری دادههای یکسان همیشه متن رمز شده یکسانی را به دست میدهد. این نوع رمزگذاری برای بستهبندی کلید یا برای برخی از طرحهای جستجوی دادههای رمزگذاری شده مفید است (برای اطلاعات بیشتر به RFC 5297، بخش 1.3 مراجعه کنید). به دلیل ویژگی قطعی آن، پیادهسازی این روش اولیه میتواند منجر به از دست رفتن محرمانگی شود زیرا یک مهاجم فقط باید متن رمز شده یک پیام مشخص را پیدا کند تا نمونههای دیگر آن پیام را شناسایی کند.
AEAD قطعی دارای ویژگیهای زیر است:
- محرمانگی : هیچ چیز در مورد متن اصلی مشخص نیست، به جز طول آن و برابری متنهای اصلی تکراری.
- اصالت : تغییر متن ساده رمزگذاری شده زیر متن رمز شده بدون شناسایی غیرممکن است.
- متقارن : رمزگذاری متن ساده و رمزگشایی متن رمز شده با همان کلید انجام میشود.
- قطعی : تا زمانی که کلید اصلی تغییر نکند، رمزگذاری یک متن ساده دو بار با پارامترهای یکسان، منجر به متن رمز شده یکسانی میشود.
دادههای مرتبط
AEAD قطعی میتواند برای مرتبط کردن متن رمز شده با دادههای مرتبط خاص استفاده شود. فرض کنید پایگاه دادهای با فیلدهای user-id و encrypted-medical-history دارید. در این سناریو، user-id میتواند به عنوان دادههای مرتبط هنگام رمزگذاری encrypted-medical-history استفاده شود. این امر مانع از انتقال سابقه پزشکی از یک کاربر به کاربر دیگر توسط مهاجم میشود.
دادههای مرتبط اختیاری هستند. در صورت مشخص شدن، رمزگشایی تنها در صورتی موفقیتآمیز خواهد بود که دادههای مرتبط یکسانی به هر دو فراخوانی رمزگذاری و رمزگشایی ارسال شوند.
نوع کلید را انتخاب کنید
ما نوع کلید AES256_SIV را برای همه موارد استفاده توصیه میکنیم.
تضمینهای امنیتی
- حداقل قدرت احراز هویت ۸۰ بیتی.
- متن ساده و دادههای مرتبط میتوانند طول دلخواهی داشته باشند (در محدوده ۰ تا ۲ و ۳۲ بایت).
- سطح امنیتی ۱۲۸ بیتی در برابر حملات بازیابی کلید، و همچنین در حملات چندکاربره با حداکثر ۲ کلید ۳۲ بیتی - این بدان معناست که اگر یک مهاجم ۲ متن رمز شده از یک پیام رمزگذاری شده با ۲ کلید ۳۲ بیتی را به دست آورد، برای به دست آوردن یک کلید واحد باید ۲ محاسبه ۱۲۸ بیتی انجام دهد.
- قابلیت رمزگذاری ایمن ۲۳۸ پیام، به شرطی که هر کدام کمتر از ۱ مگابایت طول داشته باشند.
مثال مورد استفاده
ببینید، من میخواهم دادهها را به صورت قطعی رمزگذاری کنم و میخواهم متن رمز شده را به متن آن متصل کنم .