در رمزنگاری ، یک حمله ایی است که از صحت لایه گذاری یک پیام رمزنگاری شده استفاده می‌کند ،  تا متن رمزی را رمزگشایی کند.
 در رمزنگاری، معمولا پیام های با متن ساده و با طول متغیر باید فاصله گذاری شوند (بزرگ تر شوند) تا بتوانند با اصول سازگار شوند. اين حمله به یک "لایه گذاری اوراکل" وابسته است که بتواند آزادانه به رشته های درباره اینکه آیا متن به درستی فاصله گذاری (لایه گذاری) شده است یا نه، جواب بدهد. حملات Padding Oracle بیشتر با که در استفاده می شود، مرتبط هستند.حالت های لایه گذاری (فاصله گذاری) برای الگوریتم های نامتقارن ,مانند OAEP هم ممکن است نسبت به این حملات آسیب پذیر باشند. 
 در رمزنگاری متقارن، حمله اوراکل padding ("لایه گذاری اوراکل") را می‌توان در كرد ، جایی که « اوراکل » (معمولاً یک سرور است) اطلاعات را در  خصوص اینکه آیا فاصله گذاری (لایه‌بندی) یک متن رمزنگاری شده صحیح است یا نه  نشر میکند. این اطلاعات می‌تواند به حمله کننده ها این امکان را بدهد که متن را از طریق اوراکل با استفاده کردن از کلید اوراکل رمزگشایی و حتی بعضی مواقع رمزگذاری کنند،حتي بدون دانستن کلید رمزگذاری.
 پیاده سازی مرسوم و معمول در رمزگشایی CBC در رمز های بلوکی این است که ، تمام بلوک های متن رمز شده را رمزگشایی کنیم ، فاصله گذاری (لایه گذاری) را تایید کنیم ، لایه گذاری (فاصله گذاری) PKCS7 را حذف کنیم و متن ساده پیام را برگردانیم. اگر سرور ارور " فاصله گذاری(لایه گذاری) نامعتبر " به جای یک ارور عمومی "رمزگشایی انجام نشد"(«invalid padding») داد ، حمله کننده می‌تواند از سرور به عنوان یک "لایه گذاری (فاصله گذاری) اوراکل" استفاده کند تا پیام را رمزگشایی یا حتی بعضی مواقع رمزگذاری کند
 
 فرمول ریاضی رمزگشایی CBC به صورت زير است ː
 
 همانطور که در بالا نشان داده شده است، رمزگشایی CBC هر بلوک متن ساده را با بلوک قبلی خودش XOR می کند.كه در نتیجه، یک تغییر و تبدیل تک بایتی در بلوک یک تغییر متناظر را به یک بایت در داخل انجام خواهد داد .
 CBC-R یک طرح اوراکل رمزگشایی را به یک اوراکل رمزگذاری تبدیل می‌کند و اين در درجه اول در برابر "لایه گذاری اوراکل" نشان داده می‌شود.
 با استفاده از CBC-R, padding oracle attack می‌تواند یک بردار اولیه و يك بلوک متن رمزي را برای هر متن ساده اي را ایجاد کند:
 
 
 حمله CBC-R در مقابل یک نمونه طرح رمزگذاری که ، متن رمزی (با استفاده از ( ) یا همانند ان) را پیش از رمزگشایی تصدیق می کند، کار نخواهد کرد.
 اولین حمله اصلی در سال 2002 توسط .
 منتشر شد. نمونه های دیگری از حمله بعدا در برابر SSL و IPSec شناخته شدند. این همچنین برای چند فریم شبکه, مانند ، و و نرم افزار های دیگر همچون، سرویس گیرنده بازی مشتري . در سال 2012 نشان داده شد که اين در برابر برخی از دستگاه های امنیتی سخت تر کارآمد است. 
 درحالی که این حملات اولیه بیشتر توسط پس از اعلام عمومی آن برطرف شد، یک گونه جدید به نام ، حمله سیزده خوش شانسي ، که در سال 2013 منتشر شد، که از یک زمانبندی کانال جانبی استفاده کرد تا دوباره نقاط آسیب پذیر را حتی در پیاده سازی هایی که قبلا درست شده بودند باز کند. در اوایل 2014, این حمله دیگر به عنوان یک خط جدی و مرگبار در کارهای واقعی بحساب نمی‌آید اگرچه هنوز در تئوری قابل اجراست( مطالعه کنید ) دربرابر دسته خاصی از ماشینها. تا تاریخ ۲۰۱۵ فعال ترین حوزه توسعه دربرابر حمله به پروتکل (دستور عمل) رمزنگاری برای ایمن کردن ترافیک اینترنت حمله های حملات کاهش رتبه( ) ، مانند حملات Logjam و RSA/FREAK بودند که مشتری را فریب می دهند تا از دستورای رمزنگاری هایی استفاده کنند که برای سازگاری با مشتریان قدیمی ارائه شده است و  ایمنی کمتری دارند ، درحالی که روش های ایمن تری نیز وجود دارند . یک حمله به اسم POODLE ( در اواخر 2014) هر دو حمله کاهش (down grade)(به SSL 3.0) را با یک حمله padding oracle باهم در پروتکل قدیمی و ناامن ترکیب می کند تا داده های ارسال شده را به خطر بیاندازد. در اردیبهشت 2016 ،در CVE-2016-2107 معلوم شد که راه حل دربابر مشكل LUCKY THIRTEEN در openSQL , "لایه گذاری اوراکل" دیگری را معرفی کرد.
{"title": "حمله لایه گذاری اوراکل", "link": "https://fa.wikipedia.org//w/index.php?title=%D8%AD%D9%85%D9%84%D9%87_%D9%84%D8%A7%DB%8C%D9%87_%DA%AF%D8%B0%D8%A7%D8%B1%DB%8C_%D8%A7%D9%88%D8%B1%D8%A7%DA%A9%D9%84&oldid=34956140", "language": "fa"}