تفکیک‌ناپذیری متن رمزنگاری‌شده
تفکیک‌ناپذیری متن رمزنگاری‌شده یک مشخصه در بسیاری از رویه‌های رمزنگاری است. به صورت شهودی، اگر یک سیستم رمزنگاری مشخصه‌ی تفکیک‌ناپذیری را داشته باشد، مهاجم نمی‌تواند بر اساس پیامی که رمزنگاری شده، جفت متن‌های رمزنگاری‌شده را از هم تمیز دهد. در بیشتر سیستم‌هایی که امنیت قابل اثباتی دارند و از رمزنگاری کلید عمومی استفاده می‌کنند، این مشخصه تحت حمله با متن اصلی منتخب یک پیش‌نیاز اساسی محسوب می‌شود، اگرچه برخی از رویه‌ها تحت حمله با متن رمز منتخب و حمله با متن رمز منتخب انطباقی نیز تفکیک‌ناپذیری ارائه می‌دهند. تفکیک‌ناپذیری تحت حمله با متن اصلی منتخب معادل خاصیت امنیت معنایی است، و بسیاری از اثبات‌هایی که در حوزه‌ی رمزنگاری هستند از این تعریف‌ها به صورت متقابل استفاده می‌کنند.
فرض کنید یک مهاجم، رمزنگاری یک پیام (که به صورت رندوم ازفضای پیام دو عنصری‌ای که خود مهاجم تعیین کرده انتخاب شده) را داشته باشد. اگر هیچ مهاجمی نتواند انتخاب پیام را با احتمالی که از احتمال رندوم (formula_1) بسیار بیشتر باشد تشخیص دهد، آن‌گاه سیستم رمزنگاری استفاده‌شده "از لحاظ تفکیک‌پذیری امن" است. اگر هر مهاجمی بتواند در تفکیک متن رمزشده‌ی منتخب با احتمالی بسیار بیشتر از رندوم (formula_1) موفق شود، آن‌گاه گفته می‌شود که مهاجم در زمینه‌ی تفکیک متن رمزنگاری‌شده یک «برتری» دارد، و همچنین رویه‌ی استفاده‌شده نیز از لحاظ تفکیک‌پذیری یک رویه‌ی امن محسوب "نمی‌شود". همچنین این تعریف، این ایده را توضیح می‌دهد که در یک رویه‌ی امن، مهاجم نباید با دیدن متن رمزنگاری‌شده قادر باشد اطلاعاتی به دست بیاورد. بنابراین، مهاجم نباید بتواند با دقتی بهتر از رندوم عمل کند.
امنیت از لحاظ تفکیک‌پذیری، بسته به فرضیاتی که راجع به توانایی‌های مهاجم در نظر گرفته می‌شود، تعاریف بسیاری دارد. این امنیت معمولاً به عنوان یک بازی ارائه می‌شود. بازی به این صورت است که سیستم رمزنگاری امن محسوب می‌شود، اگر هیچ مهاجمی نتواند بازی را با احتمالی بسیار بیشتر از رندوم برنده شود. متداول‌ترین تعاریفی که در رمزنگاری استفاده می‌شوند عبارتند از تفکیک‌ناپذیری تحت حمله با متن اصلی منتخب (یا به صورت مخفف IND-CPA)، تفکیک‌ناپذیری تحت حمله‌ی غیرانطباقی با متن رمزنگاری‌شده‌ی منتخب (IND-CCA1) و تفکیک‌ناپذیری تحت حمله‌ی انطباقی با متن رمزنگاری‌شده‌ی منتخب (IND-CCA2). امنیت تحت هر کدام از این حملات، امنیت نسبت به حملات قبلی را نیز تضمین می‌کند: رویه‌ای که در IND-CCA1 امن است در IND-CPA نیز امن است. همچنین رویه‌ای که در IND-CCA2 امن است در IND=CCA1 و IND-CPA امن است. در نتیجه، IND-CCA2 در بین سه تعریف امنیت قوی‌ترین است.
برای یک الگوریتم رمزنگاری نامتقارن احتمالاتی با کلید، تفکیک‌ناپذیری تحت حمله با متن اصلی منتخب (IND-CPA) با بازی ذیل بین یک مهاجم و یک «چالش‌گر» تعریف می‌شود. برای رویه‌هایی که بر پایه‌ی امنیت محاسباتی به وجود آمده‌اند، مهاجم به وسیله‌ی یک ماشین تورینگ با زمان چندجمله‌ای احتمالاتی مدل‌سازی می‌شود. این به این معنا است که مهاجم باید در زمانی چندجمله‌ای بازی را تمام کند و یک "حدس" ارائه بدهد. در این تعریف E(PK, "M") نشان‌دهنده‌ی رمزنگاری یک پیام "M" با کلید "PK" است:
یک سیستم رمزنگاری را تفکیک‌ناپذیر تحت حمله با متن اصلی منتخب می‌گوییم، هرگاه همه‌ی مهاجم‌های با مرتبه‌ی زمانی چندجمله‌ای احتمالاتی تنها بتوانند مقدار ناچیزی از رندوم بهتر عمل کنند. زمانی می‌گوییم یک مهاجم مقدار ناچیزی از رندوم بهتر عمل کرده است که بازی را با احتمال formula_5 ببرد. formula_6 یک تابع ناچیز در پارامتر امنیتی k است. این به این معنی است که برای همه‌ی تابع‌های چندجمله‌ای غیر صفر formula_7 یک formula_8 وجود دارد به صورتی که به ازای همه‌ی formula_9 بدانیم که formula_10.
اگرچه مهاجم formula_11، formula_12 و PK را می‌داند، ولی ذات احتمالاتی E به این معنی است که رمزنگاری formula_4 تنها یکی از همه‌ی متن‌های رمزنگاری‌شده‌ی معتبر خواهد بود. بنابراین رمزنگاری formula_11 و formula_12 و مقایسه‌ی نتایج رمزنگاری با متن رمزنگاری‌شده‌ی چالش به مهاجم برتری قابل توجهی نمی‌دهد.
با این که تعریف فوق تنها به یک سیستم رمزنگاری نامتقارن با کلید اختصاص داشد، ولی می‌توان آن را با حالت متقارن نیز منطبق کرد. این کار با جایگزینی تابع رمزنگاری کلید عمومی با ماشین اوراکل امکان‌پذیر است. ماشین اوراکل کلید خصوصی را پیش خود حفظ می‌کند، و هر متن دل‌خواهی که مهاجم انتخاب کند را رمزنگاری کرده و به او برمی‌گرداند.
فرایند رقابتی انجام یک حمله با متن اصلی منتخب معمولاً در قالب یک بازی رمزنگاری تشریح می‌شود. برای ارزیابی IND-CPA متقارن، بازی‌ای که در بالا توضیح داده شد تعریف می‌شود. فرض کنید formula_16 یک تابع تولید کلید، formula_17 یک تابع رمزنگاری و formula_18 یک تابع رمزگشایی باشد. فرض کنید formula_19 یک رویه‌ی متقارن رمزنگاری است. بازی formula_20 به صورت زیر تعریف می‌شود:
مهاجم به هر تعداد باری که بخواهد دو پیام بدون رمز را به انتخاب خودش در نظر می‌گیرد و آن‌ها را به LR Oracle می‌دهد. LR Oracle یک متن رمزنگاری‌شده برمی‌گرداند که در واقع رمزنگاری‌شده‌ی یکی از آن دو پیام است. «برتری» یک مهاجم با توجه به احتمال حدس زدن b به وسیله‌ی او ارزیابی می‌شود. b یک مقداری است که ابتدای فرایند به صورت رندوم انتخاب می‌شود، و مشخص می‌کند که چه پیامی به وسیله‌ی LR ORacle رمز می‌شود. بنابراین، «برتری» به صورت زیر تعریف می‌شود:
تفکیک‌ناپذیری تحت حمله با متن رمز منتخب و حمله با متن رمز منتخب انطباقی (IND-CCA1 و IND-CCA2) از تعریفی مشابه با تعریفی که در IND-CPA ارائه شد استفاده می‌کنند. در این حالت علاوه بر کلید عمومی (یا در رمزنگاری متقارن، اوراکل رمزنگاری)، مهاجم به اوراکل رمزگشایی نیز دسترسی دارد. کار این اوراکل این است که یک متن دل‌خواه رمزنگاری‌شده را تحویل می‌گیرد و متن اصلی را خروجی می‌دهد. در تعریف غیرانطباقی، مهاجم تا زمانی که متن رمزنگاری‌شده‌ی چالش را تحویل نگرفته می‌تواند از این اوراکل استفاده کند. در تعریف انطباقی، مهاجم می‌تواند به رمزگشایی متون دل‌خواه خود ادامه بدهد، حتی زمانی که متن رمزنگاری‌شده‌ی چالش را دریافت کرده است. البته شرطی وجود دارد، این که مهاجم نمی‌تواند عیناً متن رمزنگاری‌شده‌ی چالش را برای رمزگشایی به اوراکل بدهد. اگر بتواند این کار را انجام بدهد مسئله بسیار بدیهی خواهد شد.
یک رویه زمانی نسبت به IND-CCA1/IND-CCA2 امن است که هیچ مهاجمی در برنده‌شدن بازی بالا نتواند نسبت به حالت تصادفی برتری قابل توجهی داشته باشد.
گاهی اوقات ما به رویه‌های رمزنگاری‌ای احتیاج داریم که در آن‌ها رشته‌ی متن رمزنگاری‌شده از رشته‌ای که به صورت تصادفی به وسیله‌ی مهاجم تولید شده قابل تفکیک نباشد.
اگر مهاجم قادر به تشخیص این که آیا یک پیام وجود دارد یا نه نباشد، آن‌گاه فردی که پیام را نوشته است انکاری محتمل و قابل قبول خواهد داشت.
بعضی از افرادی که لینک‌های ارتباطی رمزنگاری‌شده را می‌سازند ترجیح می‌دهند که کاری کنند که محتویات هر بسته‌ی اطلاعاتی که رد و بدل می‌شود از اطلاعات تصادفی قابل تفکیک نباشد. این کار باعث می‌شود که تجزیه و تحلیل ترافیک سخت‌تر شود.
بعضی از افرادی که مسئول ساختن سیستم‌های مخصوص نگهداری اطلاعات رمزنگاری‌شده هستند، ترجیح می‌دهند که کاری کنند که اطلاعاتی که نگهداری می‌کنند از اطلاعات تصادفی قابل تفکیک نباشند. این کار باعث می‌شود که پنهان کردن اطلاعات ساده‌تر شود. به عنوان مثال برخی از برنامه‌هایی که روی دیسک‌ها عملیات رمزنگاری انجام می‌دهند (مثل TrueCrypt) تلاش می‌کنند که اطلاعات را در اطلاعات تصادفی‌ای پنهان کنند که ممکن است از پاک کردن اطلاعات قبلی به جا مانده باشند. به عنوان یک مثال دیگر، برخی از روش‌های پنهان‌نگاری تلاش می‌کنند کاری کنند که اطلاعاتی که می‌خواهند پنهان کنند با مشخصه‌های آماری نویز تصادفی عکس‌ها در عکس‌های دیجیتال مطابقت داشته باشد.
برای پشتیبانی از سیستم چنین رمزنگاری‌هایی که سیستم رمزنگاری قابل انکار نامیده می‌شوند، تعدادی الگوریتم رمزنگاری وجود دارد که به صورت مخصوص به این هدف طراحی شده‌اند که متن رمزنگاری‌شده از یک رشته‌ی تصادفی قابل تفکیک نباشد.
بیشتر کاربردها به گونه‌ای هستند که به الگوریتمی که بتواند پیام رمزنگاری‌شده‌ای تولید کند که از یک رشته یا بیت‌های تصادفی قابل تشخیص نباشد، نیاز ندارند. با این حال، برخی نویسندگان اعتقاد دارند که چنین الگوریتم‌های رمزنگاری‌ای از لحاظ مفهومی از الگوریتم‌های دیگر ساده‌تر هستند، و کار کردن با آن‌ها نیز راحت‌تر است. علاوه بر این موارد، این الگوریتم‌ها در عمل نیز کاربردهای بیشتر و وسیع‌تری دارند. این طور که به نظر می‌آید بیشتر الگوریتم‌های رمزنگاری IND-CPA عملاً می‌توانند پیام رمزنگاری‌شده‌ای تولید کنند که از یک پیام با بیت‌های رندوم قابل تفکیک نباشند.
تفکیک‌ناپذیر بودن، برای حفظ محرمانه بودن ارتباطات رمزنگاری‌شده مشخصه‌ی مهمی است. با این حال، مشخص شده است که در بعضی از حالت‌ها مشخصه‌ی تفکیک‌ناپذیر بودن بر مشخصه‌های امنیتی دیگری که به نظر بی‌ربط می‌آیند نیز اشاره می‌کند. در بعضی حالت‌ها این دلالت‌ها دوطرفه هستند. این به این معنی است که دو تعریف با هم هم‌ارز هستند؛ به عنوان مثال اثبات شده است که مشخصه‌ی تفکیک‌ناپذیری تحت حمله با متن رمز منتخب انطباقی (IND-CCA2)، با انعطاف‌ناپذیری تحت همین حمله (NM-CCA2) هم‌ارز است. این هم‌ارزی در نگاه اول بدیهی نیست، چون که انعطاف‌ناپذیری مشخصه‌ای است که با درستی و تمامیت پیام کار دارد، در حالی که تفکیک‌ناپذیری مربوط به محرمانه بودن است. در حالت‌های دیگر، اثبات شده است که تفکیک‌ناپذیری می‌تواند با برخی از تعاریف دیگر ترکیب شود تا دلالت بر تعریف‌های مفید دیگری داشته باشد، و برعکس. لیست ذیل شامل برخی از دلالت‌هایی است که تا به حال شناخته شده‌اند. این لیست به هیچ وجه کامل نیست.
علامت‌گذاری formula_23 نشان می‌دهد که مشخصه‌ی A بر مشخصه‌ی B دلالت دارد. formula_24 به این معنی است که مشخصه‌ی A و مشخصه‌ی B با هم هم‌ارز هستند. formula_25 یعنی مشخصه‌ی A لزوماً بر مشخصه‌ی B دلالت ندارد.