SCRYPT(1) General Commands Manual SCRYPT(1) نام (NAME) scrypt – رمزنگاری و رمزگشایی فایل‌ها خلاصه دستور (SYNOPSIS) scrypt {enc | dec | info} [-f] [--logN value] [-M maxmem] [-m maxmemfrac] [-P] [-p value] [--passphrase method:arg] [-r value] [-t maxtime] [-v] infile [outfile] scrypt --version توضیحات (DESCRIPTION) scrypt enc فایل infile را رمزنگاری کرده و در صورت مشخص بودن، نتیجه را در outfile و در غیر این صورت در خروجی استاندارد می‌نویسد. از کاربر خواسته می‌شود یک عبارت عبور را (دو بار) وارد کند تا برای تولید کلید رمزنگاری مشتق‌شده استفاده شود. scrypt dec فایل infile را رمزگشایی کرده و در صورت مشخص بودن، نتیجه را در outfile و در غیر این صورت در خروجی استاندارد می‌نویسد. از کاربر خواسته می‌شود عبارت عبوری که در زمان رمزنگاری برای تولید کلید رمزنگاری مشتق‌شده استفاده شده بود را وارد کند. scrypt info اطلاعات مربوط به پارامترهای رمزنگاری استفاده‌شده برای infile را ارائه می‌دهد. مگر اینکه از طریق --passphrase به‌گونه دیگری مشخص شده باشد، scrypt عبارت‌های عبور را از ترمینال کنترل‌کننده خود، یا در صورت عدم موفقیت، از ورودی استاندارد (stdin) می‌خواند. اعلان‌ها تنها زمانی چاپ می‌شوند که scrypt در حال خواندن عبارت عبور از یک ترمینال باشد. گزینه‌ها (OPTIONS) -f اجرای عملیات را اجبار می‌کند حتی اگر پیش‌بینی شود که به مقدار بیش از حدی از حافظه یا زمان پردازنده (CPU) نیاز دارد. هیچ هشداری درباره فراتر رفتن از محدودیت‌های حافظه یا زمان پردازنده چاپ نمی‌شود. --logN value پارامتر کاری N را روی 2^value تنظیم می‌کند. اگر --logN تنظیم شده باشد، -r و -p نیز باید تنظیم شوند. در صورت ارائه چنین پارامترهای صریحی، محدودیت‌های منابع تعیین‌شده توسط -M, -m و -t اعمال نمی‌شوند. -M maxmem حداکثر از maxmem بایت حافظه RAM برای محاسبه کلید رمزنگاری مشتق‌شده استفاده می‌کند. -m maxmemfrac حداکثر از کسر maxmemfrac از حافظه RAM موجود برای محاسبه کلید رمزنگاری مشتق‌شده استفاده می‌کند. حداکثر مقدار ممکن برای maxmemfrac برابر 0.5 است. -P مترادف منسوخ‌شده برای --passphrase dev:stdin-once. -p value پارامتر کاری p را روی value تنظیم می‌کند. اگر -p تنظیم شده باشد، --logN و -r نیز باید تنظیم شوند. در صورت ارائه چنین پارامترهای صریحی، محدودیت‌های منابع تعیین‌شده توسط -M, -m و -t اعمال نمی‌شوند. --passphrase method:arg عبارت عبور را با استفاده از روش مشخص‌شده می‌خواند. dev:tty-stdin تلاش می‌کند عبارت عبور را از dev/tty/ بخواند؛ اگر موفق نشد، آن را از ورودی استاندارد (stdin) می‌خواند. این رفتار پیش‌فرض است. dev:stdin-once تلاش می‌کند عبارت عبور را از ورودی استاندارد (stdin) بخواند، و این کار را حتی هنگام رمزنگاری تنها یک بار انجام می‌دهد. اگر infile نیز ورودی استاندارد (یا '-') باشد، نمی‌توان از این گزینه استفاده کرد. dev:tty-once تلاش می‌کند عبارت عبور را از dev/tty/ بخواند، و این کار را حتی هنگام رمزنگاری تنها یک بار انجام می‌دهد. env:VAR عبارت عبور را از متغیر محیطی مشخص‌شده توسط VAR می‌خواند. ذخیره عبارت عبور در یک متغیر محیطی ممکن است یک خطر امنیتی باشد. تنها در صورتی از این گزینه استفاده کنید که کاملاً مطمئن باشید چه کاری انجام می‌دهید. file:FILENAME عبارت عبور را از فایل مشخص‌شده توسط FILENAME می‌خواند. ذخیره عبارت عبور در یک فایل ممکن است یک خطر امنیتی باشد. تنها در صورتی از این گزینه استفاده کنید که کاملاً مطمئن باشید چه کاری انجام می‌دهید. -r value پارامتر کاری r را روی value تنظیم می‌کند. اگر -r تنظیم شده باشد، --logN و -p نیز باید تنظیم شوند. در صورت ارائه چنین پارامترهای صریحی، محدودیت‌های منابع تعیین‌شده توسط -M, -m و -t اعمال نمی‌شوند. -t maxtime حداکثر از maxtime ثانیه زمان پردازنده (CPU) برای محاسبه کلید رمزنگاری مشتق‌شده استفاده می‌کند. -v پارامترهای رمزنگاری (N, r, p) و محدودیت‌های حافظه/پردازنده را چاپ می‌کند. --version نسخه scrypt را چاپ کرده و خارج می‌شود. در scrypt enc, محدودیت‌های حافظه و زمان پردازنده با انتخاب پارامترهای مناسب برای تابع اشتقاق کلید scrypt اعمال می‌شوند. در scrypt dec, محدودیت‌های حافظه و زمان پردازنده با خروج همراه با خطا در صورتی که رمزگشایی فایل به حافظه یا زمان پردازنده بسیار زیادی نیاز داشته باشد، اعمال می‌گردند. وضعیت خروج (EXIT STATUS) ابزار scrypt در صورت موفقیت با وضعیت 0 و در صورت بروز خطا با مقداری بزرگتر از 0 خارج می‌شود. توجه داشته باشید که اگر فایل رمزنگاری‌شده ورودی معیوب باشد، scrypt dec ممکن است پیش از تشخیص معیوب بودن ورودی و خروج با وضعیت غیر صفر، خروجی تولید کند؛ بنابراین کاربران باید خروجی را به مکانی امن هدایت کرده و پیش از استفاده از داده‌های رمزگشایی‌شده، وضعیت خروج scrypt را بررسی نمایند. پارامترهای الگوریتم (ALGORITHM PARAMETERS) الگوریتم scrypt دارای سه پارامتر کاری قابل تنظیم است: N, r, p. هنگام رمزگشایی، scrypt همواره از مقادیر مشخص‌شده در هدر رمزنگاری استفاده خواهد کرد. هنگام رمزنگاری، scrypt مقادیر مناسب را بر اساس سرعت و حافظه سیستم شما (تحت تأثیر -M, -m و/یا -t) انتخاب می‌کند، مگر اینکه پارامترهای صریح را از طریق --logN, -p, -r مشخص نمایید. همچنین ببینید (SEE ALSO) Colin Percival, Stronger Key Derivation via Sequential Memory-Hard Functions, BSDCan'09, May 2009. Colin Percival and Simon Josefsson, The scrypt Password-Based Key Derivation Function, IETF RFC 7914, August 2016. تاریخچه (HISTORY) ابزار scrypt در مه ۲۰۰۹ توسط Colin Percival به عنوان نمایشی از تابع اشتقاق کلید scrypt نوشته شد. تابع اشتقاق کلید scrypt در مارس ۲۰۰۹ توسط Colin Percival ابداع شد تا امکان محافظت از فایل‌های کلید سیستم پشتیبان‌گیری Tarsnap با یک عبارت عبور فراهم گردد. Linux 6.12.107+deb13-amd64 February 13, 2025 Linux 6.12.107+deb13-amd64