Re: [Last-Call] Last Call: <draft-faltstrom-base45-09.txt> (The Base45 Data Encoding) to Informational RFC

Carsten Bormann <cabo@tzi.org> Fri, 04 February 2022 10:10 UTC

Return-Path: <cabo@tzi.org>
X-Original-To: last-call@ietfa.amsl.com
Delivered-To: last-call@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 356093A0AAD for <last-call@ietfa.amsl.com>; Fri, 4 Feb 2022 02:10:21 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 wKVBbPtdzdiE for <last-call@ietfa.amsl.com>; Fri, 4 Feb 2022 02:10:17 -0800 (PST)
Received: from gabriel-smtp.zfn.uni-bremen.de (gabriel-smtp.zfn.uni-bremen.de [IPv6:2001:638:708:32::15]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CFBAB3A13F2 for <last-call@ietf.org>; Fri, 4 Feb 2022 02:10:15 -0800 (PST)
Received: from [192.168.217.118] (p5089ad4f.dip0.t-ipconnect.de [80.137.173.79]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by gabriel-smtp.zfn.uni-bremen.de (Postfix) with ESMTPSA id 4JqrrM0SP3zDCbp; Fri, 4 Feb 2022 11:10:11 +0100 (CET)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.7\))
From: Carsten Bormann <cabo@tzi.org>
In-Reply-To: <12DC3F4EBFD1F6553B88D518@PSB>
Date: Fri, 04 Feb 2022 11:10:10 +0100
Cc: last-call@ietf.org
X-Mao-Original-Outgoing-Id: 665662210.6422859-f751a6dddc1125aa80e0663d3e8f65dc
Content-Transfer-Encoding: quoted-printable
Message-Id: <487EAAC3-02B7-4F2D-B1F6-BF6CF2419577@tzi.org>
References: <164384794146.23223.12886017281778909695@ietfa.amsl.com> <A7FF29DB-6414-46DD-9F14-8CA6727997F4@vigilsec.com> <0bca01d81940$ee7165c0$cb543140$@olddog.co.uk> <YfxTXNs2G8P/p/D4@straasha.imrryr.org> <01A019E4-2285-40B4-BF2C-D92C2558DEBB@tzi.org> <12DC3F4EBFD1F6553B88D518@PSB>
To: John C Klensin <john-ietf@jck.com>
X-Mailer: Apple Mail (2.3608.120.23.2.7)
Archived-At: <https://mailarchive.ietf.org/arch/msg/last-call/8r_MgXb8XlSYKquieR7IJV8MoZE>
Subject: Re: [Last-Call] Last Call: <draft-faltstrom-base45-09.txt> (The Base45 Data Encoding) to Informational RFC
X-BeenThere: last-call@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IETF Last Calls <last-call.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/last-call>, <mailto:last-call-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/last-call/>
List-Post: <mailto:last-call@ietf.org>
List-Help: <mailto:last-call-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/last-call>, <mailto:last-call-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 04 Feb 2022 10:10:22 -0000

>> What I got back was apparently telling me that QR-Codes do
>> offer 45 different characters, so hence base-45. This is, of
>> course, equivalent to saying that ASCII offers 95 graphic
>> characters, so with that argument base-64 should have been
>> base-95 all along.
> 
> That ASCII example is interesting because the Base-64 design,
> IIR, carefully considered and eliminated characters that were
> not in ISO 646-BV and then settled on upper and lower case
> letters and the digits and then, to get to 64, added "+" and "/"
> (and "=" for padding).  Almost any of the other 30 graphics
> would have raised issues.

Which is exactly what not has been done for base45 — this just uses the entire character set offered by QR-Codes in character mode.

>> Instead of trying to fix this document, another specification
>> could be written that defines a base-41 (or base-40 +
>> overflow) variant that could present fewer of the
>> interoperability concerns base-45 does.
> 
> Well... One can probably make a case for almost any encoding of
> this general type.  

Well, this happened for base64, which was revisited for in-URL usage, and yielded base64url.  I’m essentially asking for a base45url, except that this is easier to do with a base41/base40-with-overflow approach.

> every
> new ASCII-compatible encoding we introduce is a new problem for
> universal interoperability, a problem that gets more serious if
> one cannot easily tell them apart by simple examination of the
> strings.  

What we’d probably do for the base41/40 encoding is describe in more detail how that is embedded in various environments.  Triggering use case could be the URI generated from a standard smartphone camera QR-Code reader (base45 is used with “HC0” for EDGC, but that isn’t even registered, maybe because the URI mapping is broken with % and space in the character set).

But again, I’m writing this because I believe this base45 should be published despite its flaws (so I can refer to it as “legacy base45” later… :-).

Grüße, Carsten