Module: packet/public_key_encrypted_session_key

packet/public_key_encrypted_session_key

Public-Key Encrypted Session Key Packets (Tag 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.

new (require("packet/public_key_encrypted_session_key"))()

Source:
Source:

Requires

Members

encrypted :Array.<module:type/mpi>

Type:
Source:

Methods

decrypt(key) → {String}

Decrypts the session key (only for public key encrypted session key packets (tag 1)
Parameters:
Name Type Description
key module:packet/secret_key Private key with secMPIs unlocked
Source:
Returns:
The unencrypted session key
Type
String

read(input, position, len) → {module:packet/public_key_encrypted_session_key}

Parsing function for a publickey encrypted session key packet (tag 1).
Parameters:
Name Type Description
input String Payload of a tag 1 packet
position Integer Position to start reading from the input string
len Integer Length of the packet or the remaining length of input at position
Source:
Returns:
Object representation
Type
module:packet/public_key_encrypted_session_key

write(publicKeyId, publicMPIs, pubalgo, symmalgo, sessionkey) → {String}

Create a string representation of a tag 1 packet
Parameters:
Name Type Description
publicKeyId String The public key id corresponding to publicMPIs key as string
publicMPIs Array.<module:type/mpi> Multiprecision integer objects describing the public key
pubalgo Integer The corresponding public key algorithm // See RFC4880 9.1
symmalgo Integer The symmetric cipher algorithm used to encrypt the data within an encrypteddatapacket or encryptedintegrity- protecteddatapacket following this packet //See RFC4880 9.2
sessionkey String A string of randombytes representing the session key
Source:
Returns:
The string representation
Type
String