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 keymodule: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 inputString Payload of a tag 1 packet positionInteger Position to start reading from the input string lenInteger 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 publicKeyIdString The public key id corresponding to publicMPIs key as string publicMPIsArray.<module:type/mpi> Multiprecision integer objects describing the public key pubalgoInteger The corresponding public key algorithm // See RFC4880 9.1 symmalgoInteger The symmetric cipher algorithm used to encrypt the data within an encrypteddatapacket or encryptedintegrity- protecteddatapacket following this packet //See RFC4880 9.2 sessionkeyString A string of randombytes representing the session key Returns:
The string representation- Type
- String