<!--
SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
SPDX-License-Identifier: CC-BY-SA-4.0
-->

# ASCII Armor

The native format of OpenPGP data is binary.

However, in many use cases it is customary to use OpenPGP data in a non-binary encoding called "ASCII Armor." For example, ASCII Armored OpenPGP data is often used in email, for encrypted messages or for signatures.

OpenPGP's ASCII Armor mechanism consists of:

- A [header line](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-10.html#name-armor-header-line)
- [Headers](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-10.html#name-armor-headers) that can contain additional metadata
- The [Base64 encoded](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-10.html#name-base64-conversions) OpenPGP data
  - An optional checksum for this data
- A ["tail line"](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-10.html#name-armor-tail-line) (footer) that matches the header line

## The Cleartext Signature Framework

```{admonition} TODO
:class: warning

Explain/discuss, [link](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-10.html#name-cleartext-signature-framewo)

  - Linebreak normalization?
  - Dash escaping
```


## Advanced topics

### CRC (and its deprecation in crypto-refresh)

See https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-10.html#name-optional-checksum
