PGP চার ধরনের কী ব্যবহার করে: এককালীন সেশন সিমেট্রিক কী, পাবলিক কী, প্রাইভেট কী, এবং পাসফ्रेज-ভিত্তিক সিমেট্রিক কী।
সেশন কী জেনারেশন - প্রতিটি সেশন কী একটি একক মেসেজের সাথে সম্পর্কিত এবং শুধুমাত্র সেই মেসেজটি এনক্রিপ্ট ও ডিক্রিপ্ট করার জন্য ব্যবহৃত হয়। মনে রাখবেন মেসেজ এনক্রিপশন/ডিক্রিপশন একটি সিমেট্রিক এনক্রিপশন অ্যালগরিদম দিয়ে সম্পন্ন হয়। যেহেতু 128-বিট কী প্রয়োজন, CAST-128 ব্যবহার করে যাদুকর 128-বিট সংখ্যা তৈরি করা হয়।
র্যান্ডম নম্বর জেনারেটরের ইনপুট অন্তর্ভুক্ত করে 128-বিট কী (ব্যবহারকারীর কীস্ট্রোক ইনপুট থেকে প্রাপ্ত একটি যাদুকর সংখ্যা) এবং দুটি 64-বিট ব্লক যা প্লেইনটেক্সট হিসেবে বিবেচিত হয়। CFB মোড ব্যবহার করে দুটি 64-বিট সাইফার টেক্সট ব্লক তৈরি করা হয় এবং সেগুলো जोড়া দেওয়া হয় 128-বিট সেশন কী গঠন করতে। ব্যবহৃত অ্যালগরিদম ANSI X12.17-এ নির্দিষ্ট করা ভিত্তিক।
কী আইডেন্টিফায়ার - একজন ব্যবহারকারীর একাধিক পাবলিক/প্রাইভেট কী জোড়া থাকতে পারে। প্রতিটির একটি ID প্রয়োজন। প্রতিটি পাবলিক কীর সাথে সম্পর্কিত কী ID এর লিস্ট সিগনিফিকেন্ট 64 বিট। অর্থাৎ, পাবলিক কী KUa-র কী ID হলো (KUa mod 264)। এটি যথেষ্ট দৈর্ঘ্যের যাতে ডুপ্লিকেট কী ID-এর সম্ভাবনা খুব কম।
একটি কী ID PGP ডিজিটাল সিগনেচারের জন্যও ব্যবহৃত হয় কারণ প্রেরক একাধিক প্রাইভেট কীর যেকোনো একটি ব্যবহার করে মেসেজ ডাইজেস্ট এনক্রিপ্ট করতে পারে এবং প্রাপককে জানতে হবে কোনটি ব্যবহার করা হয়েছে।
কী রিংস - কী ID গুলো PGP-এর সার্ভিসের জন্য গুরুত্বপূর্ণ। দেখা যায় যে যেকোনো PGP মেসেজে দুটি কী ID থাকে যা গোপনীয়তা এবং প্রমাণীকরণ উভয়কেই সমর্থন করে।
এই কীগুলো দক্ষতার সাথে ব্যবহার করার জন্য সিস্টেম্যাটিকভাবে সংরক্ষণ ও সংগঠিত রাখা প্রয়োজন। PGP-তে ব্যবহৃত ডিজাইন হলো প্রতিটি নোডে ডেটা স্ট্রাকচারের একটি সেট প্রদান করা: একটি সেই নোডের মালিকানাধীন পাবলিক/প্রাইভেট কী জোড়াগুলো সংরক্ষণ করার জন্য এবং অন্যটি এই নোডে পরিচিত অন্য ব্যবহারকারীদের পাবলিক কী সংরক্ষণ করার জন্য।
রিংকে একটি টেবিল হিসেবে দেখা যায় যেখানে প্রতিটি সারি এই ব্যবহারকারীর মালিকানাধীন পাবলিক/প্রাইভেট কী জোড়ার একটি নির্দেশ করে। প্রতিটি সারি شامل করে:
টাইমস্ট্যাম্প - এই কী জোড়া তৈরি হওয়ার তারিখ/সময়।
কী ID - এই এন্ট্রির পাবলিক কীর কম গুরুত্বপূর্ণ 64 বিট।
পাবলিক কী - জোড়ার পাবলিক-কী অংশ।
প্রাইভেট কী - জোড়ার প্রাইভেট-কী অংশ।
ব্যবহারকারী ID - সাধারণত ব্যবহারকারীর ইমেইল ঠিকানা।
প্রাইভেট কী রিং ব্যবহারকারী ID, কী ID বা উভয় দ্বারা ইন্ডেক্স করা যেতে পারে। কিন্তু সুরক্ষার জন্য কী মান রিং-এ সংরক্ষণ করা হয় না, বরং এর একটি এনক্রিপ্টেড ভার্সন থাকে যা ডিক্রিপ্ট করার জন্য একটি পাস প্রসেস প্রয়োজন।