The Multibase Data Format
draft-multiformats-multibase-01

Document Type Active Internet-Draft (individual)
Last updated 2018-12-31
Stream (None)
Intended RFC status (None)
Formats plain text xml pdf html bibtex
Stream Stream state (No stream defined)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date
Responsible AD (None)
Send notices to (None)
Network Working Group                                           J. Benet
Internet-Draft                                             Protocol Labs
Intended status: Standards Track                               M. Sporny
Expires: July 4, 2019                                     Digital Bazaar
                                                       December 31, 2018

                       The Multibase Data Format
                    draft-multiformats-multibase-01

Abstract

   Raw binary data is often encoded using a mechanism that enables the
   data to be included in human-readable text-based formats.  This
   mechanism is often referred to as "base-encoding the data".  Base-
   encoding is often used when expressing binary data in hyperlinks,
   cryptographic keys in web pages, or security tokens in application
   software.  There are a variety of base-encodings, such as base32,
   base58, and base64.  It is not always possible to differentiate one
   base-encoding from another.  The purpose of this specification is to
   provide a mechanism to be able to deterministically identify the
   base-encoding for a particular string of data.

Feedback

   This specification is a joint work product of Protocol Labs [1], the
   W3C Digital Verification Community Group [2], and the W3C Credentials
   Community Group [3].  Feedback related to this specification should
   logged in the issue tracker [4] or be sent to public-
   credentials@w3.org [5].  .

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on July 4, 2019.

Benet & Sporny            Expires July 4, 2019                  [Page 1]
Internet-Draft          The Multibase Data Format          December 2018

Copyright Notice

   Copyright (c) 2018 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  The Multibase Format  . . . . . . . . . . . . . . . . . . . .   3
     2.1.  A Multibase Example . . . . . . . . . . . . . . . . . . .   3
   3.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   3
     3.1.  Normative References  . . . . . . . . . . . . . . . . . .   3
     3.2.  URIs  . . . . . . . . . . . . . . . . . . . . . . . . . .   3
   Appendix A.  Security Considerations  . . . . . . . . . . . . . .   4
   Appendix B.  Test Values  . . . . . . . . . . . . . . . . . . . .   4
     B.1.  Hexadecimal upper-case encoding . . . . . . . . . . . . .   4
     B.2.  Base-32 upper-case encoding, no padding . . . . . . . . .   4
     B.3.  Base-58 Bitcoin encoding  . . . . . . . . . . . . . . . .   4
     B.4.  Base-64 with padding and MIME-encoding  . . . . . . . . .   4
   Appendix C.  Acknowledgements . . . . . . . . . . . . . . . . . .   4
   Appendix D.  IANA Considerations  . . . . . . . . . . . . . . . .   5
     D.1.  The Multibase Algorithms Registry . . . . . . . . . . . .   5
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   7

1.  Introduction

   This specification describes a forward-compatible data model for
   expressing raw binary data in a variety of base-encoding formats such
   as base32, base58. and base64.

   When text is encoded as bytes, we can usually use a one-size-fits-all
   encoding (UTF-8) because we're always encoding to the same set of 256
   bytes.  When that doesn't work, usually for historical or performance
   reasons, we can usually infer the encoding from the context.

   However, when bytes are encoded as text (using a base encoding), the
   choice of base encoding is often restricted by the context.  Worse,
   these restrictions can change based on where the data appears in the
   text.  In some cases, we can only use [a-z0-9].  In others, we can
   use a larger set of characters but need a compact encoding.  This has
   lead to a large set of "base encodings", one for every use-case.

Benet & Sporny            Expires July 4, 2019                  [Page 2]
Internet-Draft          The Multibase Data Format          December 2018
Show full document text