- Main Page
- Modules
- Data Structures
- Files
- Related Pages

- Data Structures
- Data Fields

# pgpPktPubkey_s Struct Reference

5.1. More...

`#include <rpmpgp.h>`

## Data Fields
byte | version
byte | keyid [8]
byte | algo

## Detailed Description

5.1.

Public-Key Encrypted Session Key Packets (Tag 1)

A Public-Key Encrypted Session Key packet holds the session key used to encrypt a message. Zero or more Encrypted Session Key packets (either Public-Key or Symmetric-Key) may precede a Symmetrically Encrypted Data Packet, which holds an encrypted message. The message is encrypted with the session key, and the session key is itself encrypted and stored in the Encrypted Session Key packet(s). The Symmetrically Encrypted Data Packet is preceded by one Public-Key Encrypted Session Key packet for each OpenPGP key to which the message is encrypted. The recipient of the message finds a session key that is encrypted to their public key, decrypts the session key, and then uses the session key to decrypt the message.

The body of this packet consists of:

- A one-octet number giving the version number of the packet type. The currently defined value for packet version is 3. An implementation should accept, but not generate a version of 2, which is equivalent to V3 in all other respects.
- An eight-octet number that gives the key ID of the public key that the session key is encrypted to.
- A one-octet number giving the public key algorithm used.
- A string of octets that is the encrypted session key. This string takes up the remainder of the packet, and its contents are dependent on the public key algorithm used.

Algorithm Specific Fields for RSA encryption

- multiprecision integer (MPI) of RSA encrypted value m**e mod n.

Algorithm Specific Fields for Elgamal encryption:

- MPI of Elgamal (Diffie-Hellman) value g**k mod p.
- MPI of Elgamal (Diffie-Hellman) value m * y**k mod p.

Definition at line 106 of file rpmpgp.h.

## Field Documentation

byte pgpPktPubkey_s::version

version number (generate 3, accept 2).

Definition at line 107 of file rpmpgp.h.

byte pgpPktPubkey_s::keyid[8]

key ID of the public key for session key.

Definition at line 108 of file rpmpgp.h.

byte pgpPktPubkey_s::algo

public key algorithm used.

Definition at line 109 of file rpmpgp.h.

The documentation for this struct was generated from the following file:

- rpmio/rpmpgp.h