برای فراهم نمودن امنیت در تبادل اطلاعات، می بایست با بحث رمزنگاری، آشنایی نسبی پیدا کرد.
منظور از امنیت در تبادل اطلاعات، ارسال پیام و یا اطلاعاتی به یک گیرنده مشخص در بستر ارتباطی ناامن (همانند اینترنت) می باشد، به طوری که، پیام یا اطلاعات مذکور در طی مسیر دچار تغییر و یا سرقت توسط مهاجمین نشود.
به تغییر و تبدیل اطلاعات (داده) به قالب و فرمت دیگر، که برای افراد غیر مجاز ناخوانا و غیر قابل فهم باشد، رمزگذاری داده (Data Encryption) گویند. این امر توسط الگوریتمهای رمزنگاری صورت می پذیرد و افراد مجاز با دارا بودن کلید، می توانند فایل و یا اطلاعات رمز شده را رمزگشایی (Decrypt) کنند.
به اطلاعات رمز شده در علم رمزنگاری، Ciphertext و به اطلاعات رمز نشده، Plaintext (متن شفاف) می گویند.
2 نوع اصلی برای رمزگذاری فایلها، وجود دارد:
- رمزگذاری متقارن (symmetric encryption)
- رمزگذاری نامتقارن یا رمزگذاری با کلید عمومی (asymmetric encryption or Public-key encryption)
1.1. رمزگذاری متقارن
این روش به عنوان ساده ترین نوع رمزگذاری و رمزگشایی شناخته می شود. همانطور که در تصویر زیر قابل مشاهده می باشد، در این نوع رمزگذاری، فرستنده و گیرنده، یک کلید برای رمزگذاری و رمزگشایی فایل استفاده می کنند.
1.2. رمزگذاری نامتقارن (رمزگذاری با کلید عمومی)
این روش نسبت به روش قبلی (رمزگذاری متقارن) جدید تر می باشد. در این روش برای رمزگذاری و رمزگشایی فایل، از 2 کلید متفاوت استفاده می شود. یعنی هر شخص دارای یک زوج کلید با نام کلید عمومی و کلید خصوصی می باشد. همانند تصویر زیر، فرستنده، فایل plain text را با کلید عمومی گیرنده، رمز می نماید و برای او ارسال می کند و گیرنده، با کلید خصوصی خود (Secret Key) فایل Cipher text را رمزگشایی می نماید و به فایل Plain text دسترسی پیدا می کند.
امنیت و محرمانگی کلید عمومی، مورد نیاز نیست. این کلید صرفا جهت رمزگذاری فایل به کار می رود و توانایی رمزگشایی فایل را ندارد، به همین دلیل، می توان اطلاعات این کلید، در دسترس عموم قرار گیرد تا دیگران بتوانند با کلید عمومی شما، فایل محرمانه را رمزگذاری و ارسال نمایند. در ادامه، فقط کسانی که کلید خصوصی (Secret Key) را دارا می باشند قادر به رمزگشایی فایل هستند در نتیجه، امنیت و محرمانگی کلید خصوصی (Secret Key) بسیار مهم می باشد.