رمزنگاری و رمزگشایی متن

متن و رمز عبور را وارد کنید تا متن رمزنگاری‌شده بسازید؛ گیرنده با همان رمز متن اصلی را می‌خواند.

خروجی

این ابزار کاملا در مرورگر شما اجرا می‌شود و هیچ داده‌ای به سرور ارسال نمی‌شود.

فهرست مطالب

رمزنگاری متن با این ابزار، متن خوانا را با رمز عبوری که خودتان انتخاب می‌کنید، به رشته‌ای نامفهوم تبدیل می‌کند که فقط با همان رمز به متن اصلی برمی‌گردد. حالت رمزنگاری را انتخاب کنید، متن را در کادر بنویسید، رمز عبور را وارد کنید و دکمه را بزنید. خروجی رشته‌ای است که با پیشوند AJ1 شروع می‌شود و می‌توانید آن را کپی کنید، در یادداشت‌ها نگه دارید یا برای کسی بفرستید. برای باز کردن، حالت رمزگشایی را بزنید، رشتهٔ رمزشده و همان رمز عبور را وارد کنید. ابزار از الگوریتم استاندارد AES با کلید ۲۵۶ بیتی و حالت GCM استفاده می‌کند و کل کار در مرورگر شما انجام می‌شود؛ نه متن و نه رمز عبور به هیچ سروری فرستاده نمی‌شود.

راهنمای استفاده از رمزنگاری متن

  1. حالت رمزنگاری یا رمزگشایی را انتخاب کنید.
  2. متن و یک رمز عبور قوی وارد کنید.
  3. خروجی را کپی کنید و رمز عبور را از راه دیگری به گیرنده بدهید.

رمزنگاری متن چیست و چه زمانی به کارتان می‌آید؟

رمزنگاری یعنی تبدیل اطلاعات به شکلی که بدون داشتن کلید، خواندنش عملا ناممکن باشد. نوعی که این ابزار انجام می‌دهد، رمزنگاری متقارن است؛ یعنی همان رمزی که با آن قفل می‌کنید، با آن باز هم می‌کنید. این ساده‌ترین و پرکاربردترین شکل رمزنگاری برای کاربر عادی است. لازم نیست کلید عمومی و خصوصی بسازید یا نرم‌افزاری نصب کنید؛ فقط یک رمز عبور خوب کافی است.

موقعیت‌هایی که به کارتان می‌آید، بیشتر از آن است که فکر می‌کنید. یادداشتی با اطلاعات حساس، مثل پاسخ سؤال‌های امنیتی یا کدهای بازیابی حساب، که می‌خواهید در سرویس یادداشت ابری یا ایمیل خودتان نگه دارید، بدون اینکه آن سرویس بتواند بخواندش. پیامی خصوصی که باید از کانالی بفرستید که به آن اطمینان ندارید. متنی که روی فلش یا رایانهٔ مشترک ذخیره می‌کنید. در همهٔ این‌ها، متن رمزشده حتی اگر به دست دیگران بیفتد، بی‌ارزش است.

ساختار خروجی؛ پشت این رشتهٔ نامفهوم چیست؟

خروجی ابزار ممکن است تصادفی به نظر برسد، اما ساختار دقیقی دارد. چهار نویسهٔ اول، پیشوند AJ1 و دونقطه است که نشان می‌دهد این رشته با این ابزار و نسخهٔ اول قالبش ساخته شده. بقیهٔ رشته، کدگذاری Base64 از سه بخش پشت‌سرهم است. شانزده بایت اول، نمک است؛ عددی تصادفی که برای ساختن کلید از رمز عبور به کار می‌رود. دوازده بایت بعد، بردار آغازین است؛ عدد تصادفی دیگری که الگوریتم AES در حالت GCM برای هر بار رمزنگاری لازم دارد. و بقیه، متن رمزشده به‌علاوهٔ برچسبی شانزده‌بایتی که هر گونه دست‌کاری را آشکار می‌کند.

ساختار متن رمزشده
نمک و بردار آغازین تصادفی‌اند؛ برای همین یک متن با یک رمز، هر بار خروجی متفاوتی می‌دهد.

نمک و بردار آغازین محرمانه نیستند و همراه متن رمزشده ذخیره می‌شوند؛ رمزگشایی بدون آن‌ها ممکن نیست. محرمانه فقط رمز عبور است. چون این دو عدد در هر رمزنگاری تازه و تصادفی ساخته می‌شوند، اگر یک متن را با یک رمز ده بار رمز کنید، ده خروجی کاملا متفاوت می‌گیرید. این ویژگی امنیتی مهمی است؛ کسی که دو پیام رمزشدهٔ شما را می‌بیند، حتی نمی‌تواند بفهمد این دو پیام یکسان‌اند یا نه.

AES-256-GCM و PBKDF2؛ اجزای امنیت

AES الگوریتم رمزنگاری استانداردی است که مؤسسهٔ ملی استاندارد و فناوری آمریکا در اوایل دههٔ دوهزار میلادی، پس از یک رقابت عمومی چندساله، انتخاب کرد. امروز تقریبا همه‌جا از آن استفاده می‌شود؛ از اتصال امن سایت‌ها و پیام‌رسان‌ها تا رمزنگاری دیسک رایانه‌ها و گوشی‌ها. نسخهٔ ۲۵۶ بیتی آن، کلیدی آن‌قدر بزرگ دارد که امتحان همهٔ کلیدهای ممکن، با هر توان رایانشی قابل تصوری، عملا ناممکن است. حالت GCM علاوه بر رمزنگاری، اصالت را هم تضمین می‌کند؛ اگر حتی یک نویسه از متن رمزشده تغییر کند، رمزگشایی به جای متن خراب، خطا می‌دهد.

اما کلید ۲۵۶ بیتی، رشته‌ای از بیت‌هاست و رمز عبور شما چند کلمه یا عدد. پل بین این دو، روشی به نام PBKDF2 است. این روش رمز عبور را با نمک ترکیب می‌کند و نتیجه را دویست‌وپنجاه هزار بار از تابع هش SHA-256 عبور می‌دهد تا کلید ساخته شود. این تکرار زیاد عمدی است؛ برای شما که یک بار رمزگشایی می‌کنید، کسری از ثانیه طول می‌کشد، اما برای مهاجمی که می‌خواهد میلیاردها رمز عبور را امتحان کند، هر حدس را دویست‌وپنجاه هزار برابر گران‌تر می‌کند.

امنیت به اندازهٔ رمز عبور شماست

با همهٔ این استانداردها، ضعیف‌ترین حلقهٔ زنجیر رمز عبور است. AES شکسته نمی‌شود، اما رمز عبور ضعیف حدس زده می‌شود. اگر رمز شما ۱۲۳۴۵۶ یا نام کوچکتان یا تاریخ تولدتان باشد، مهاجم آن را در فهرست اولین حدس‌هایش دارد و دویست‌وپنجاه هزار تکرار PBKDF2 هم فقط کمی کارش را کند می‌کند. رمز عبور کوتاه یا قابل پیش‌بینی، کل این ساختار را بی‌اثر می‌کند.

رمز عبور خوب برای رمزنگاری، بلند و تصادفی است. عبارتی از چهار پنج کلمهٔ نامرتبط که با هم معنایی نمی‌سازند، هم به خاطر سپردنش آسان است و هم حدس زدنش دشوار. یا رشته‌ای تصادفی از حروف و اعداد و نمادها با دست‌کم شانزده نویسه، اگر آن را در مدیر رمز عبور نگه می‌دارید. ساخت رمز عبور قوی هر دو نوع را می‌سازد. رمزی که برای رمزنگاری استفاده می‌کنید، نباید همان رمز ایمیل یا حساب بانکی‌تان باشد.

رمز فراموش‌شده یعنی متن از دست رفته

این مهم‌ترین هشدار است و باید پیش از استفاده بدانید. اگر رمز عبور را فراموش کنید، هیچ راهی برای بازگرداندن متن وجود ندارد. نه پشتیبانی سایت می‌تواند کمکتان کند، نه کلید پشتیبانی جایی ذخیره شده و نه درِ پشتی وجود دارد. رمزنگاری درست دقیقا همین معنا را دارد؛ اگر راه بازیابی‌ای وجود داشت، مهاجم هم می‌توانست از آن استفاده کند. پس پیش از رمزنگاری اطلاعات مهم، مطمئن شوید رمز را جایی امن ثبت کرده‌اید.

یک تمرین ساده جلوی این فاجعه را می‌گیرد. پس از رمزنگاری، رشتهٔ رمزشده را کپی کنید، حالت رمزگشایی را بزنید، رشته را بچسبانید و رمز عبور را دوباره از حافظه تایپ کنید. اگر متن اصلی برگشت، هم مطمئن شده‌اید رمز را درست به خاطر دارید و هم اینکه رشتهٔ کپی‌شده کامل است. این آزمایش را به‌ویژه وقتی رمز طولانی است یا آن را با صفحه‌کلید دیگری تایپ کرده‌اید، حذف نکنید.

فرستادن متن رمزشده و رمز عبور

متن رمزشده را می‌توانید از هر کانالی بفرستید؛ ایمیل، پیام‌رسان، پیامک یا حتی یک پست عمومی. بدون رمز عبور، این رشته به هیچ‌کس اطلاعاتی نمی‌دهد. اما رمز عبور هرگز نباید از همان کانال برود. اگر هر دو را در یک پیام بفرستید، هر کس پیام را ببیند، هر دو را دارد و رمزنگاری بی‌فایده بوده است. ابزار پس از رمزنگاری همین را یادآوری می‌کند.

راه درست این است که رمز را از کانال دیگری بدهید؛ حضوری، تلفنی، یا از پیام‌رسان دیگری غیر از آنکه متن رمزشده را فرستاده‌اید. اگر قرار است با کسی مدتی پیام رمزشده رد و بدل کنید، یک بار رمز مشترک را حضوری توافق کنید و بعد فقط متن‌های رمزشده را بفرستید. گیرنده باید همین ابزار را باز کند و حالت رمزگشایی را بزند؛ قالب خروجی مخصوص این ابزار است و نرم‌افزارهای دیگر بدون دانستن ساختار آن نمی‌توانند بازش کنند.

یک نمونه؛ نگه داشتن کدهای بازیابی حساب

وقتی تأیید دومرحله‌ای را برای ایمیل یا شبکهٔ اجتماعی فعال می‌کنید، سرویس چند کد بازیابی به شما می‌دهد تا اگر گوشی‌تان گم شد، بتوانید وارد حساب شوید. این کدها باید جایی بمانند که هم در دسترس باشد و هم امن. نوشتنشان روی کاغذ خوب است، اما کاغذ گم می‌شود. نگه داشتنشان در یادداشت گوشی هم بی‌معناست، چون اگر گوشی گم شود، کدها هم با آن رفته‌اند. ذخیرهٔ ساده در ایمیل هم یعنی هر کس به ایمیل شما دسترسی پیدا کند، کدها را دارد.

راه میانه این است که کدها را در این ابزار با رمز عبوری بلند و به‌خاطرسپردنی رمز کنید و رشتهٔ رمزشده را در چند جا نگه دارید؛ ایمیل خودتان، یک سرویس یادداشت ابری و یک فایل روی رایانه. هر کدام از این‌ها لو برود، رشتهٔ رمزشده بدون رمز عبور بی‌ارزش است. روزی که لازم شد، از هر دستگاهی این صفحه را باز می‌کنید، رشته را می‌چسبانید و با رمز، کدها را برمی‌گردانید. فقط فراموش نکنید که خود این رمز عبور را هیچ‌جا کنار رشتهٔ رمزشده ننویسید.

چرا رمزنگاری در مرورگر قابل اعتماد است؟

مرورگرهای امروزی رابط رمزنگاری استانداردی دارند که پیاده‌سازی الگوریتم‌هایی مثل AES و PBKDF2 را خود مرورگر انجام می‌دهد، نه کدی که سایت نوشته. این ابزار از همین رابط استفاده می‌کند؛ یعنی محاسبه‌های رمزنگاری با همان کدی انجام می‌شوند که مرورگر برای اتصال امن به سایت‌ها و بانک‌ها به کار می‌برد. اعداد تصادفی نمک و بردار آغازین هم از مولد اعداد تصادفی امن مرورگر می‌آیند. این رابط فقط در صفحه‌هایی با اتصال امن در دسترس است و برای همین، ابزار روی اتصال ناامن کار نمی‌کند.

طول متن رمزشده

متن رمزشده همیشه از متن اصلی بلندتر است؛ چهل‌وچهار بایت ثابت برای نمک، بردار آغازین و برچسب اضافه می‌شود و کدگذاری Base64 هم طول را حدود یک‌سوم بیشتر می‌کند. هر حرف فارسی در کدگذاری متن دو بایت جا می‌گیرد و هر حرف انگلیسی یک بایت؛ پس متن فارسی رشتهٔ رمزشدهٔ بلندتری می‌سازد. جدول زیر طول خروجی را برای چند نمونه نشان می‌دهد.

متن اصلی حجم به بایت طول خروجی با پیشوند
کلمهٔ سلام ۸ ۷۶ نویسه
صد حرف انگلیسی ۱۰۰ ۱۹۶ نویسه
صد حرف فارسی ۲۰۰ ۳۳۲ نویسه
هزار حرف فارسی ۲۰۰۰ ۲۷۳۲ نویسه

این طول برای ایمیل و پیام‌رسان مشکلی ندارد، اما در پیامک جای زیادی می‌گیرد؛ حتی کلمهٔ سلام پس از رمزنگاری بیش از هفتاد نویسه می‌شود. رشتهٔ رمزشده فقط از حروف و اعداد انگلیسی و چند نماد ساخته شده و در هر جایی بدون خراب شدن کپی می‌شود. فقط مراقب باشید هنگام کپی، نویسه‌ای از ابتدا یا انتهای آن جا نماند؛ حتی یک نویسهٔ کم، رمزگشایی را ناموفق می‌کند.

رمزنگاری با هش و Base64 فرق دارد

رمزنگاری، هش یا Base64؟
فقط رمزنگاری هم محرمانگی می‌دهد و هم برگشت‌پذیر است.

سه مفهوم که زیاد با هم اشتباه گرفته می‌شوند. Base64 فقط کدگذاری است؛ داده را به شکلی درمی‌آورد که از کانال‌های متنی عبور کند، اما هر کسی بدون هیچ رمزی می‌تواند آن را برگرداند. متنی که فقط به Base64 تبدیل شده، به هیچ وجه محرمانه نیست. تبدیل Base64 همین کار را انجام می‌دهد. هش تابعی یک‌طرفه است؛ از هر متنی رشتهٔ ثابت‌طولی می‌سازد که به متن اصلی برنمی‌گردد. برای بررسی درستی فایل یا ذخیرهٔ امن رمزهای عبور در سامانه‌ها به کار می‌رود، نه برای پنهان کردن پیامی که باید دوباره خوانده شود. ساخت هش را ببینید.

رمزنگاری تنها گزینه‌ای است که هم محرمانه است و هم برگشت‌پذیر. اگر می‌خواهید متنی را پنهان کنید و بعدا خودتان یا کس دیگری آن را بخواند، رمزنگاری لازم دارید. اشتباه رایج این است که کسی متن را به Base64 تبدیل کند و فکر کند رمز شده؛ چون خروجی نامفهوم به نظر می‌رسد. خروجی این ابزار هم بخش Base64 دارد، اما محتوای آن متن رمزشده است، نه متن اصلی.

خطاهای رایج

رایج‌ترین پیام خطای ابزار این است که رمزگشایی ناموفق بود. سه دلیل دارد. اول، رمز عبور اشتباه؛ رمزها به بزرگی و کوچکی حروف، فاصله‌های اضافه و زبان صفحه‌کلید حساس‌اند. رمزی که با زبان فارسی تایپ شده، با همان کلیدها در زبان انگلیسی، رمز دیگری است. دوم، رشتهٔ رمزشدهٔ ناقص؛ بخشی از ابتدا یا انتهای آن در کپی جا مانده یا برنامه‌ای که از آن عبور کرده، خطی را شکسته یا نویسه‌ای را تغییر داده. سوم، دست‌کاری؛ اگر کسی عمدا یا سهوا متن رمزشده را تغییر داده باشد، برچسب احراز اصالت آن را رد می‌کند.

خطای دیگر، نگه داشتن رمز عبور کنار متن رمزشده است؛ مثلا در همان یادداشت یا همان پوشه. این کار مثل قفل کردن در و آویزان کردن کلید کنار آن است. خطای آخر، اعتماد بیش از حد است؛ رمزنگاری متن از محتوا محافظت می‌کند، اما اگر دستگاه شما آلوده به بدافزار باشد، ممکن است متن را پیش از رمزنگاری یا رمز عبور را هنگام تایپ ببیند. رمزنگاری جای امنیت دستگاه را نمی‌گیرد.

حدود ابزار

این ابزار برای متن‌های کوتاه و متوسط، مثل یادداشت و پیام، طراحی شده و فایل رمزنگاری نمی‌کند. برای رمزنگاری فایل‌ها و پوشه‌ها، نرم‌افزارهای تخصصی یا رمزنگاری داخلی سیستم‌عامل مناسب‌ترند. برای گفت‌وگوی مداوم و امن، پیام‌رسان‌هایی که رمزنگاری سرتاسری دارند، راحت‌ترند، چون کلیدها را خودکار مدیریت می‌کنند. ابزار برای وقتی است که می‌خواهید کنترل کامل رمز و متن را خودتان داشته باشید و به هیچ سرویسی وابسته نباشید.

چند پیشنهاد عملی

متن‌های رمزشدهٔ مهم را با یک توضیح کوتاه و غیرحساس نگه دارید، مثلا کدهای بازیابی ایمیل کاری، تا بعدها بدانید هر رشته چیست؛ رشته‌های رمزشده همه شبیه هم‌اند و بدون برچسب، پیدا کردن رشتهٔ درست سخت است. برای هر موضوع مهم، رمز جداگانه نگذارید که مجبور شوید ده رمز را به خاطر بسپارید؛ یک رمز قوی برای همهٔ یادداشت‌های شخصی کافی است، به شرطی که با رمز هیچ حساب دیگری یکی نباشد. و هر چند ماه یک بار، رمزگشایی یکی از متن‌ها را امتحان کنید تا مطمئن شوید رمز هنوز در حافظه‌تان هست.

ابزارهای مرتبط

اگر می‌خواهید متن را فقط برای انتقال در نشانی وب آماده کنید، رمزگذاری URL را ببینید. ابزارهای دیگر کار با متن در ابزارهای متنی آمده‌اند.

آخرین بازبینی محتوا: · تیم تحریریه ابزار جیبی

سوالات متداول

آیا این رمزنگاری امن است؟
الگوریتم AES-256-GCM استاندارد صنعتی است؛ امنیت نهایی به قدرت رمز عبور شما بستگی دارد.
اگر رمز عبور را فراموش کنم چه می‌شود؟
متن برای همیشه از دست می‌رود. هیچ راه بازیابی، کلید پشتیبان یا دسترسی مدیر وجود ندارد؛ خاصیت رمزنگاری درست همین است.
چرا هر بار خروجی متفاوت است؟
در هر رمزنگاری، نمک و بردار آغازین تازه و تصادفی ساخته می‌شود. همهٔ این خروجی‌های متفاوت با همان رمز عبور به همان متن اصلی برمی‌گردند.
متن رمزشده را با چه ابزاری باز کنم؟
با همین ابزار و همان رمز عبور. خروجی قالب مخصوصی دارد که با پیشوند AJ1 شروع می‌شود و ابزارهای دیگر بدون دانستن این قالب نمی‌توانند آن را باز کنند.
متن یا رمز عبور به سرور فرستاده می‌شود؟
خیر؛ رمزنگاری و رمزگشایی با رابط رمزنگاری خود مرورگر روی دستگاه شما انجام می‌شود و هیچ‌چیز ارسال یا ذخیره نمی‌شود.

این ابزار چقدر برایتان مفید بود؟

اولین نفری باشید که به این ابزار امتیاز می‌دهد.

↑ ↓ جابه‌جاییEnter باز کردنEsc بستن