حمله با متن اصلی منتخب
حمله با متن اصلی منتخب یک مدل حمله برای کشف رمز است که فرض می‌شود حمله‌کننده قابلیت انتخاب دلخواه پیام اصلی را دارد و می‌تواند پیام رمزشده مربوط به آن را به دست آورد. هدف حمله به دست آوردن اطلاعات بیشتری است که می‌تواند امنیت طرح‌های رمزنگاری را کاهش دهد.
رمزگذاری‌های مدرن امنیت معنایی را تأمین می‌کنند که با عنوان غیر قابل تشخیص بودن متن رمزشده در برابر حمله متن اصلی منتخب نیز شناخته می‌شوند و بنابراین در صورتی که درست پیاده‌سازی شوند، از لحاظ طراحی عموماً در برابر حملات با متن اصلی منتخب ایمن هستند.
الگوریتم‌های رمزنگاری کلید عمومی غیر تصادفی (قطعی) به سادگی توسط حمله‌های dictionary-type آسیب‌پذیر هستند که در آن حمله‌کننده جدولی از پیام‌های احتمالی و متن‌های رمز مربوط به آن‌ها را می‌سازد. برای پیدا کردن رمزگشایی برخی از متن‌های رمز شده حمله‌کننده به راحتی با نگاه کردن به متن‌های رمز شدهٔ موجود در جدول متن آشکار را بدست می آورد . در نتیجه برای تأمین امنیت کلید عمومی در مقابل حمله CPA به رمزنگاری احتمالی نیاز است (به عنوان مثال رمز گذاری تصادفی). رمزهای متقارن متعارف که در آن از همان کلید برای رمزگذاری و رمزگشایی یک متن استفاده می‌شود، ممکن است از انواع دیگر حمله CPA برای مثال تحلیل تفاضلی بلوک‌های رمز آسیب ببیند.
در یک حمله با متن اصلی منتخب، دشمن می‌تواند (احتمالاً تطبیقی) متون رمزشده‌ی پیام‌های اصلی دلخواه را بخواهد. اگر به دشمن اجازه دهیم که با یک اوراکل رمزگذاری که به صورت یک جعبه سیاه مشاهده می‌شود تعامل داشته باشد، این امر می‌تواند رسمیت پیدا کند. هدف مهاجم این است که تمام یا بخشی از کلید مخفی رمزگذاری را به دست آورد.
این کار ممکن است در عمل غیر ممکن به نظر برسد که یک مهاجم بتواند متون رمزشده را برای یک متن اصلی داده شده به دست آورد. از طرف دیگر می‌دانیم رمزنگاری مدرن در نرم‌افزار یا سخت‌افزار اجرا می‌شود و برای طیف متنوعی از برنامه‌های کاربردی مورد استفاده قرار می‌گیرد. پس در بسیاری از موارد حمله chosen-plaintext اغلب بسیار امکان‌پذیر است. حمله chosen-plaintext به حملاتی بسیار مهم در زمینه رمزنگاری کلید عمومی تبدیل شده‌است که در این رمزنگاری کلید رمزنگاری، عمومی است و حمله‌کننده می‌تواند هر متن آشکاری را برای رمزنگاری انتخاب کند.
دو نوع حمله CPA وجود دارد:
یک حمله دسته‌ای با متن اصلی منتخب معمولاً به صورت زیر انجام می‌شود:
در شرایط بالا پس از مرحله آخر، مراحل زیر را در نظر بگیرید: اگر دشمن بعد از اجرای آزمایش فوق با = ۱ با احتمال غیر قابل اغماض بهتر از ۱/۲ نتواند = را به درستی تشخیص دهد، آن رمزگذاری، رمزنگاری غیر قابل تشخیصی تحت حمله با متن اصلی منتخب دارد.
نمونه‌های زیر نشان می‌دهد که چگونه بعضی از رمزگذاری‌هایی که تعاریف امنیتی دیگر را برآورده می‌کنند، ممکن است با یک حمله با متن اصلی منتخب شکسته شوند.حمله زیر به رمزگذاری سزار، امکان بازیابی کامل کلید مخفی را فراهم می‌کند:با استفاده از روش‌های رمزگذاری پیچیده‌تر، منابع روش رمزگشایی فشرده‌تر می‌شود؛ با این حال، مفهوم اصلی هنوز هم نسبتاً همان است.حمله زیر به one-time pad، امکان بازیابی کامل کلید مخفی را فراهم می‌کند. فرض کنید طول پیام و طول کلید برابر n هستند.در جنگ جهانی دوم تحلیل‌گران رمز در نیروی دریایی ایالات متحده آمریکا کشف کردند که ژاپن قصد حمله به مکانی را دارد که به آن “AF” گفته می‌شود. آن‌ها معتقد بودند که “AF” ممکن است جزیره میدوی باشد؛ زیرا سایر مناطق در جزایر هاوایی دارای کلماتی رمزی بودند که با “A” شروع می‌شدند. برای اثبات فرضیه خود مبنی بر اینکه “AF” مربوط به جزیره میدوی است، از نیروهای آمریکایی در میدوی خواستند که یک پیام ساده درباره منابع کم ارسال کنند. ژاپنی‌ها این پیام را رهگیری کردند و بلافاصله به مافوق‌های خود گزارش دادند که منابع آب “AF” کم است که این امر، فرضیه نیروی دریایی آمریکا را تأیید کرد و به آن‌ها اجازه داد که نیروی خود را برای پیروزی در نبرد در موقعیت مستقر کنند.
همچنین در طول جنگ جهانی دوم، رمزشکنان متفقین در پارک بلتچلی گاهی از نیروی هوایی سلطنتی می‌خواستند مین‌هایی را در موقعیتی قرار دهد که هیچ علامت اختصاری یا جایگزینی در مرجع شبکه سیستم دریایی آلمان نداشته باشد. امید این بود که آلمانی‌ها با دیدن مین‌ها، برای رمزگذاری یک پیام هشداردهنده در مورد مین‌ها و یک پیام "همه پاکسازی شدند" پس از برداشتن آن‌ها، از یک ماشین انیگما استفاده کنند و این به متفقین اطلاعات کافی در مورد پیام را بدهد تا بتوانند انیگمای نیروی دریایی آلمان را بشکنند. این فرآیندِ کاشتن یک متن اصلی شناخته‌شده باغبانی نامیده شد. رمزشکنان متفقین همچنین به پیام‌های ارسال‌شده توسط مأمور دوم، ژوان پوژول گارسیا، که گزارش‌های رادیویی رمزگذاری‌شده‌اش در مادرید دریافت شده بود، کمک کرد که به صورت دستی رمزگشایی شوند و سپس با یک ماشین انیگما برای انتقال به برلین مجدداً رمزگذاری شوند. این به رمزشکنان کمک کرد که کد استفاده شده در مرحله دوم را با تهیه متن اصلی رمزگشایی کنند.
در عصر مدرن، اغلب از حملات با متن اصلی منتخب برای شکستن رمزهای متقارن استفاده می‌شود. برای ایمن بودن در برابر حملات با متن اصلی منتخب، رمزگذاری متقارن نباید در برابر این حملات آسیب‌پذیر باشد. بنابراین برای کسانی که رمزگذاری متقارن را پیاده‌سازی می‌کنند، مهم است که بدانند یک مهاجم چگونه می‌کوشد رمزهای آنان را بشکند و پیشرفت‌هایی در این زمینه داشته باشد.
برای برخی از حملات با متن اصلی منتخب، ممکن است مهاجم نیاز داشته باشد که فقط بخش کوچکی از متن اصلی را انتخاب کند. چنین حملاتی با عنوان حملات تزریق متن اصلی شناخته می‌شوند.
یک حمله با متن اصلی منتخب، قوی‌تر از حمله با متن اصلی شناخته‌شده است؛ زیرا مهاجم می‌تواند مستقیماً اصطلاحات یا الگوهای خاصی را مورد هدف قرار دهد، بدون اینکه منتظر بماند به طور طبیعی ظاهر شوند. همچنین امکان جمع‌آوری سریع‌تر داده‌های مربوط به تحلیل رمزنگاری را فراهم می‌کند. بنابراین هر رمزی که بتواند از حملات CPA جلوگیری کند، تضمین می‌کند در برابر حملات متن آشکار و حملات ciphertext-only امن باشد.
با این حال، هنگامی که مهاجم بتواند متن اصلی را برای متون رمزشده دلخواه به دست آورد، یک حمله با متن اصلی منتخب ضعیف‌تر از یک حمله با متن رمزشده منتخب است. یک مهاجم حمله با متن رمزشده منتخب، گاهی می‌تواند یک سیستم ایمن در برابر حمله با متن اصلی منتخب را بشکند. مثلا رمزگذاری El Gamal در برابر حملات با متن اصلی منتخب ایمن است اما در برابر حملات با متن رمزشده منتخب آسیب‌پذیر است؛ زیرا بی قید و شرط، انعطاف‌پذیر است. صفحه حمله با متن اصلی منتخب در ویکی‌پدیای انگلیسی