code: function PublicKeyEncryptedSessionKey() {
    this.tag = enums.packet.publicKeyEncryptedSessionKey;
    this.version = 3;
  
    this.publicKeyId = new type_keyid();
    this.publicKeyAlgorithm = null;
  
    this.sessionKey = null;
    this.sessionKeyAlgorithm = null;
  
    /** @type {Array<module:type/mpi>} */
    this.encrypted = [];
  }
docs: Public-Key Encrypted Session Key Packets (Tag 1)
  
  {@link https://tools.ietf.org/html/rfc4880#section-5.1|RFC4880 5.1}:
  A Public-Key Encrypted Session Key packet holds the session key
  used to encrypt a message. Zero or more Public-Key Encrypted Session Key
  packets and/or Symmetric-Key Encrypted Session Key packets 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.
  @memberof module:packet
  @constructor