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.
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"))()
Requires
Members
-
encrypted :Array.<module:type/mpi>
-
Type:
- Array.<module:type/mpi>
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 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 Returns:
Object representation -
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 Returns:
The string representation- Type
- String