RE: security fixes (KDF, MDC->MAC)?

Trevor Perrin <> Fri, 27 September 2002 19:28 UTC

Received: from ( []) by (8.9.1a/8.9.1a) with ESMTP id PAA07465 for <>; Fri, 27 Sep 2002 15:28:38 -0400 (EDT)
Received: (from majordomo@localhost) by (8.11.6/8.11.3) id g8RJNKm25723 for ietf-openpgp-bks; Fri, 27 Sep 2002 12:23:20 -0700 (PDT)
Received: from ( []) by (8.11.6/8.11.3) with SMTP id g8RJNJv25717 for <>; Fri, 27 Sep 2002 12:23:19 -0700 (PDT)
Received: from ( by (Sigaba Gateway v3.5) with SMTP; Fri, 27 Sep 2002 12:16:20 -0700
Received: from ( []) by (8.12.2/8.12.2) with ESMTP id g8RJNGE3008148; Fri, 27 Sep 2002 12:23:16 -0700
Received: by with Internet Mail Service (5.5.2653.19) id <TM7RD0SB>; Fri, 27 Sep 2002 12:23:15 -0700
Message-id: <>
From: Trevor Perrin <>
To: Trevor Perrin <>, "''" <>, "''" <>
Subject: RE: security fixes (KDF, MDC->MAC)?
Date: Fri, 27 Sep 2002 12:23:04 -0700
MIME-Version: 1.0
X-mailer: Internet Mail Service (5.5.2653.19)
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Precedence: bulk
List-Archive: <>
List-Unsubscribe: <>
List-ID: <>
Content-Transfer-Encoding: 7bit

Fixed a typo-

>-----Original Message-----
>From: []
>[...]    Unlike the Symmetrically Encrypted Data Packet, no
>   special CFB resynchronization is done after encrypting this prefix
>   data.
>doesn't this prevent converting packet 18 to 9 ?

It doesn't completely prevent the JKS attack.  The attacker can still copy
the first two blocks of ciphertext from a packet 18 to 9, and the check
bytes will decrypt appropriately, but the remainder of the second block will
be scrambled.

So this will probably leave a malformed packet header, but there's a chance
the header might still work, depending on how strict the parsing code is
(for example, what if the packet tag gets randomly set to 11 for Literal
Data, but the length is wrong?).  The attacker can flip bits in the
remainder of the second block and keep submitting guesses to a decryption
oracle, until he stumbles on a packet header that makes the attack work.  

The attacker may also learn information from observing the oracle which lets
him reconstruct the keystream bytes that the ciphertext is being XOR'd with.
For example, if the oracle says "Error: packet tag 62 not supported", the
attacker can reconstruct the keystream bits that correspond to the packet
tag, and thus gain the ability to control its value.