Re: [TLS] Length of a variable-length vector: Could it be an odd multiple?

Benjamin Kaduk <bkaduk@akamai.com> Wed, 20 January 2016 19:02 UTC

Return-Path: <bkaduk@akamai.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D875B1ACD22 for <tls@ietfa.amsl.com>; Wed, 20 Jan 2016 11:02:00 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.702
X-Spam-Level:
X-Spam-Status: No, score=-2.702 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Eq5FigOjBBsb for <tls@ietfa.amsl.com>; Wed, 20 Jan 2016 11:01:58 -0800 (PST)
Received: from prod-mail-xrelay07.akamai.com (prod-mail-xrelay07.akamai.com [23.79.238.175]) by ietfa.amsl.com (Postfix) with ESMTP id B3FD61ACD39 for <tls@ietf.org>; Wed, 20 Jan 2016 11:01:58 -0800 (PST)
Received: from prod-mail-xrelay07.akamai.com (localhost.localdomain [127.0.0.1]) by postfix.imss70 (Postfix) with ESMTP id 73E8B433434; Wed, 20 Jan 2016 19:01:57 +0000 (GMT)
Received: from prod-mail-relay10.akamai.com (prod-mail-relay10.akamai.com [172.27.118.251]) by prod-mail-xrelay07.akamai.com (Postfix) with ESMTP id 5DA8143340B; Wed, 20 Jan 2016 19:01:57 +0000 (GMT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akamai.com; s=a1; t=1453316517; bh=+oYy5Elv6Lgv3QiqeKdPAbh+1JCeR/o2eVh//1dSAgU=; l=1303; h=To:References:From:Date:In-Reply-To:From; b=uzseFoNDyBP3rnBkbmiXp8188ypAMtQxJ2PHtA8r/oiI5Dx3ja2XCmXGvPH1Pcdl6 fEqH3YobaqktyEmMy5X4/h0Gisk3RZWXFGTQyaV2tV3/6vuYMpZowq0zjrvXBhlR+p Fj9u7EJu5rUuxeOmslbFJzG7tSObUE1SNaJOWms0=
Received: from [172.19.0.25] (bos-lpczi.kendall.corp.akamai.com [172.19.0.25]) by prod-mail-relay10.akamai.com (Postfix) with ESMTP id 1D5872026; Wed, 20 Jan 2016 19:01:57 +0000 (GMT)
To: "Hodges, Jeff" <jeff.hodges@paypal.com>, Jong-Shian Wu <js@crypto.tw>, "tls@ietf.org" <tls@ietf.org>
References: <CA+_zv04F0EiLdcbkhyNo9P8dR3BW3JAsDys_WKFXXUW92x=LcQ@mail.gmail.com> <5696B946.3050405@akamai.com> <D2C5128F.5D7C9%jehodges@paypalcorp.com>
From: Benjamin Kaduk <bkaduk@akamai.com>
Message-ID: <569FD9A4.4030600@akamai.com>
Date: Wed, 20 Jan 2016 13:01:56 -0600
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0
MIME-Version: 1.0
In-Reply-To: <D2C5128F.5D7C9%jehodges@paypalcorp.com>
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: 7bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/tls/ObGULwdgbfG6DYfCCdYUR2UtgjE>
Subject: Re: [TLS] Length of a variable-length vector: Could it be an odd multiple?
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tls/>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 20 Jan 2016 19:02:01 -0000

On 01/20/2016 12:47 PM, Hodges, Jeff wrote:
> On 1/13/16, 12:53 PM, "Benjamin Kaduk" <bkaduk@akamai.com>; wrote:
>> On 01/13/2016 02:44 PM, Jong-Shian Wu wrote:
>>> I have a question about the even-vs-odd restrictions on the length of
>>> a valid variable-length vector defined in TLS specification after
>>> reading the section 4.3 of RFC 5246 [1] which states that:
>>> "The length of an encoded vector must be an even multiple of the length
>>> of a single element (for example, a 17-byte vector of uint16 would be
>>> illegal)."
>>>
>> It means "whole-number" as opposed to fractional, i.e., there should not
>> be unused "junk bytes" at the end.
> In case it's helpful, here's a suggested re-write of that quoted sentence
> above..
>
>   The length of an encoded variable-length vector must be an
>   exact multiple of the length of a single element. For example,
>   an encoded 17-byte vector of uint16 would be illegal, and an
>   encoded variable-length vector of four 32 byte elements,
>   having a ceiling of 2^16-1, will be 130 bytes long overall
>   (2 byte length field followed by 128 bytes of data).

Wouldn't the ceiling more properly be 2^16-4 in that case?

-Ben

> ..assuming I'm correctly understanding variable-length vectors :)
>
> HTH,
>
> =JeffH
>
>
>
>
>