پی جی پی مخفف عبارت Pretty Good Privacy به معنای حریم خصوصی کامل است و در واقع یک نرم افزار رمزنگاری شده است که به منظور حفظ حریم خصوصی، امنیت و تأیید هویت برای سیستمهای ارتباطی آنلاین طراحی شده است. فیل زیمرمن طراح اولین برنامه پی جی پی است و به گفته وی، به دلیل افزایش تقاضای اجتماعی برای حریم خصوصی، این برنامه آزادانه در دسترس عموم قرار گرفته است.
از زمان ظهور این برنامه در سال ۱۹۹۱، نسخههای بسیاری از این نرم افزار ایجاد شد. در سال ۱۹۹۷، فیل زیمرمن پیشنهاد ایجاد یک استاندارد منبع باز پی جی پی (PGP) را به کارگروه ویژه مهندسی اینترنت (IETF) ارائه داد. این پیشنهاد پذیرفته شد و منجر به ایجاد پروتکل پی جی پی باز(Open PGP) شد که فرمتهای استاندارد برای کلیدها و پیامهای رمزنگاری را تعریف میکند.
اگرچه در ابتدا فقط برای ایمن سازی پیامها و پیوستهای ایمیلها مورد استفاده قرار میگرفت، اما امروزه برای طیف گستردهای از جمله امضاهای دیجیتالی، رمزگذاری کامل دیسک و محافظت از شبکه اعمال میشود.
پی جی پی در ابتدا متعلق به شرکت PGP بود که بعدا به مالکیت شرکت Network Associates درآمد. در سال ۲۰۱۰، شرکت سیمانتیک، پی جی پی را با مبلغ ۳۰۰ میلیون دلار خریداری کرد و این اصطلاح اکنون بیانگر علامت تجاری است که برای محصولات سازگار با پی جی پی باز استفاده میشود.
پی جی پی (PGP)، جزء اولین نرم افزارهایی است که به طور گسترده به منظور کاربرد پیاده سازی رمزنگاری کلید عمومی در دسترس است. یک نوع رمزنگاری ترکیبی است که از رمزنگاری متقارن و نامتقارن برای دستیابی به سطح بالایی از امنیت استفاده میکند.
در یک فرآیند اساسی رمزگذاری متن، یک متن ساده (دادههایی که به روشنی قابل درک است) به متن رمزنگاری (دادههای غیرقابل خواندن) تبدیل میشود. اما قبل از اینکه فرآیند رمزگذاری صورت بگیرد، بیشتر سیستمهای پی جی پی فرآیند فشرده سازی دادهها را انجام میدهند. با فشرده سازی پروندههای متون ساده قبل از انتقال آنها، پی جی پی هم فضای اضافی دیسک را افزایش میدهد، هم زمان انتقال را کاهش میدهد و از همه مهمتر، امنیت را نیز بهبود میبخشد.
پس از فشرده سازی فایل، روند واقعی رمزگذاری شروع میشود. در این مرحله، فایل اولیه فشرده شده با یک کلید یکبار مصرف رمزگذاری میشود، که به عنوان کلید جلسه شناخته میشود. این کلید به طور تصادفی از طریق استفاده از رمزنگاری متقارن تولید میشود و هر دورهی ارتباطی پی جی پی دارای یک کلید منحصر به فرد است.
در مرحله بعد، کلید جلسه شماره (۱)، خود با استفاده از رمزگذاری نامتقارن رمزگذاری میشود: گیرنده در نظر گرفته شده (مثلا باب) کلید عمومیشماره (۲) خود را برای فرستنده پیام (آلیس) فراهم میکند تا بتواند کلید جلسه را رمزگذاری کند. این مرحله به آلیس اجازه میدهد بدون در نظر گرفتن شرایط امنیتی، کلید جلسه را با باب از طریق اینترنت به اشتراک بگذارد.
رمزگذاری نامتقارن کلید جلسه، معمولا با استفاده از الگوریتم RSA انجام میشود. بسیاری از سیستمهای رمزگذاری دیگر از RSA استفاده میکنند، از جمله پروتکل امنیت لایهای انتقالی (TLS) که بخش اعظمی از امنیت فضای اینترنت را تضمین میکند.
پس از انتقال متن رمزی پیام و کلید جلسه رمزگذاری شده، باب میتواند از کلید خصوصی شماره (۳) خود، برای رمزگشایی کلید جلسه استفاده کند، که سپس برای رمزگشایی متن رمزنگاری شده و بازخوانی متن اصلی استفاده میشود.
گذشته از فرآیند اساسی رمزگذاری و رمزگشایی، پی جی پی همچنین از امضاهای دیجیتالی پشتیبانی میکند که حداقل دارای سه عملکرد به شرح ذیل هستند:
یکی از رایج ترین کاربردهای پی جی پی، فراهم نمودن امنیت ایمیل است. ایمیلی که با پی جی پی محافظت میشود، به رشتهای از کاراکترهای غیرقابل خواندن (متن رمزنگاری) تبدیل میشود و فقط با کلید رمزگشایی مربوطه، قابل رمزگشایی است. مکانیسمهای کار تقریبا برای تأمین پیامهای متنی یکسان هستند و همچنین برخی از برنامههای نرم افزاری نیز وجود دارند که این امکان را فراهم میکنند که پی جی پی قبل از سایر برنامهها اجرا شود و به طور موثری سیستم رمزنگاری را به سرویسهای پیام رسانی غیر ایمن، اضافه کند.
اگرچه پی جی پی بیشتر برای تأمین امنیت ارتباطات اینترنتی مورد استفاده قرار میگیرد، اما میتوان از آن برای رمزگذاری دستگاههای شخصی نیز استفاده کرد. به عنوان مثال ممکن است برای پارتیشن بندی دیسک رایانه یا دستگاه تلفن همراه اعمال شود. با رمزگذاری هارد، کاربر باید هر بار که سیستم راه اندازی میشود، رمز عبور خود را ارائه دهد.
پی جی پی به لطف استفاده ترکیبی از رمزگذاری متقارن و نامتقارن، به کاربران این امکان را میدهد تا اطلاعات و کلیدهای رمزنگاری شده را از طریق اینترنت به اشتراک بگذارند. همچنین به عنوان یک سیستم ترکیبی، از امنیت رمزنگاری نامتقارن و همچنین سرعت رمزگذاری متقارن بهره میبرد. علاوه بر امنیت و سرعت، امضاهای دیجیتال از صحت اطلاعات و اصالت فرستنده، اطمینان حاصل میکنند.
پروتکل پی جی پی باز، به یک محیط رقابتی استاندارد اجازه ظهور میدهد و امروزه راه حلهای پی جی پی، توسط چندین شرکت و سازمان ارائه شده است. هنوز همه برنامههای پی جی پی که مطابق با استانداردهای OpenPGP هستند با یکدیگر سازگار هستند. این بدان معنی است که فایلها و کلیدهای ایجاد شده در یک برنامه، ممکن است بدون مشکل در یک برنامه دیگر استفاده شوند.
در مورد معایب آن، قابل ذکر است که سیستمهای پی جی پی، برای استفاده و درک خیلی ساده نیستند، مخصوصا برای کاربرانی که دانش فنی کمی دارند. همچنین، طولانی بودن کلیدهای عمومی به نظر بسیاری از کاربران، ناخوشایند است.
در سال 2018، آسیب پذیری عمدهای به نام EFAIL توسط بنیاد مرزی الکترونیکی(EFF) منتشر شد. EFAIL این امکان را برای مهاجمین فراهم کرد تا از محتوای HTML فعال در ایمیلهای رمزگذاری شده سوء استفاده کنند تا به نسخههای اولیه متن پیامها دسترسی پیدا کنند.
با این حال، برخی از نگرانیهای توصیف شده توسط EFAIL از اواخر دهه 1990 توسط جامعه پی جی پی شناخته شده بود و در حقیقت، این آسیب پذیریها مربوط به الزامات مختلف خود مشتریان ایمیل است و ربطی به پی جی پی ندارد. بنابراین علی رغم وجود هشدارها و اظهار نظرهای گاها نادرست، از محبوبیت آن نکاسته و همچنان امنیت خود را حفظ کرده است.