اسکریپت (رمزنگاری)

اسکریپت (scrypt) یک تابع مشتق کلید (KDF) مبتنی بر رمز عبور است که توسط کالین پرسیوال برای سرویس پشتیبان آنلاین Tarsnap طراحی شد. این الگوریتم در سال ۲۰۱۶ توسط کارگروه مهندسی اینترنت (IETF) به‌عنوان RFC 7914 استاندارد شد و نسخه ساده‌شده آن به‌عنوان طرح اثبات کار، ابتدا در Tenebrix و سپس به‌طور معروف در رمزارز لایت‌کوین مورد استفاده قرار گرفت. مهم‌ترین ویژگی اسکریپت، طراحی آن برای نیاز شدید به حافظه است؛ به این ترتیب، برخلاف الگوریتم‌های قدیمی مانند PBKDF2، اجرای موازی آن در سخت‌افزارهای سفارشی (مانند ASIC) بسیار پرهزینه و پیچیده می‌شود. اسکریپت با تولید یک بردار بزرگ از داده‌های شبه‌تصادفی، یک معاوضه زمان-حافظه اجباری ایجاد می‌کند که مهاجم یا باید حافظه زیادی مصرف کند (که موازی‌سازی را گران می‌کند) یا سرعت محاسبات را به‌شدت کاهش دهد. در نتیجه، حملات جستجوی فراگیر (Brute-force) در مقیاس بزرگ غیراقتصادی می‌شوند و امنیت رمزهای عبور در برابر حملات سخت‌افزاری به‌طور چشمگیری افزایش می‌یابد.