According to an answer and comments in a [earlier question](https://security.stackexchange.com/q/200862/49340) of mine, when one uses gpg2 to *symmetrically* encrypt a message, gpg2 randomly generates a one-time encryption key for that message, as well as some random salt, and uses this key and salt to encrypt the message. Furthermore, the passpharse and the resulting encrypted message comprise all the information that gpg2 needs in order to decode the message.

I am still unclear on some of this.

First, could someone walk me through how gpg2 uses the passphrase to decrypt a message symmetrically encrypted under that passphrase?

I imagine that the passphrase is used to decrypt the one-time randomly-generated encryption key *K* that was used to encrypt the main message, and then this *K* is used to decrypt the rest of the encrypted content to produce the original message.

If this is true, it means that, however strong the one-time encryption key may be, this strength is irrelevant; the only cryptographic strength that matters here is the strength of the passphrase. Is this correct?

Second, what is the point of using a salt here, if the symmetric encryption key is a one-time randomly generated one, used to encrypt only one message? In other words, what kind of attack could be mounted against a one-time random encryption key that a salt would thwart?