9 added 416 characters in body
source | link

Yes, it's a coincidence that the first bytes appear to you as iconsthese symbols. They are part of the GPG packetOpenPGP message format specification and only in some cases have these particular values(RFC 4880) and vary depending on the packet properties.

Let's create a file containing only those bytes and try to read themit as a GPG message:

$ echo "\x85\x02\x0c\x03" > foo.gpg && gpg --list-packets foo.gpg
# off=0 ctb=85 tag=1 hlen=3 plen=524
:pubkey enc packet: version 3, algo 255, keyid 0AFFFFFFFFFFFFFF
    unsupported algorithm 255
  • The first byte (0x85) is the cipher type byte (CTB). See RFC 1991.

    The first byte (0x85 = 0b10000101) is the cipher type byte (CTB) that describes the packet type. We can break it up as follows:
    1: CTB indicator bit
    0: old packet format (see RFC 1991)
    0001: public-key-encrypted packet
    01: packet-length field is 2 bytes long

  • The second and third bytes denote the packet length (0x020c = 524).

    The second and third bytes denote the packet length (0x020c = 524).

  • The fourth byte (0x03) means it's in the version 3 packet format.

As you can see, these bytes are meaningful and not magic number constants that you can remove without losing information. If you cut them off these bytes, you are corrupting the GPG filepacket and it will be harder - but not impossible - torequire some guesswork to reconstruct the packetit.


The bytes are displayedshown as smileys and hearts because you are viewing them encoded in athat's how your (probably DOS) terminal displays non-printable control characters. In character setsets that originatesoriginate from CP437code page 437, likely because you are on a DOS terminal. Here, low bytes outside the printable ASCII range are traditionally represented as icons. Here's the original CP437 on an IBM PC:

enter image description here

(Image source)

Yes, it's a coincidence that the first bytes appear to you as icons. They are part of the GPG packet format specification and only in some cases have these particular values.

Let's create a file containing only those bytes and try to read them as a GPG message:

$ echo "\x85\x02\x0c\x03" > foo.gpg && gpg --list-packets foo.gpg
# off=0 ctb=85 tag=1 hlen=3 plen=524
:pubkey enc packet: version 3, algo 255, keyid 0AFFFFFFFFFFFFFF
    unsupported algorithm 255
  • The first byte (0x85) is the cipher type byte (CTB). See RFC 1991.
  • The second and third bytes denote the packet length (0x020c = 524).
  • The fourth byte (0x03) means it's in the version 3 packet format.

If you cut off these bytes, you are corrupting the GPG file and it will be harder - but not impossible - to reconstruct the packet.


The bytes are displayed as smileys and hearts because you are viewing them encoded in a character set that originates from CP437, likely because you are on a DOS terminal. Here, low bytes outside the printable ASCII range are traditionally represented as icons:

enter image description here

(Image source)

Yes, it's a coincidence that the first bytes appear to you as these symbols. They are part of the OpenPGP message format specification (RFC 4880) and vary depending on the packet properties.

Let's create a file containing only those bytes and try to read it as a GPG message:

$ echo "\x85\x02\x0c\x03" > foo.gpg && gpg --list-packets foo.gpg
# off=0 ctb=85 tag=1 hlen=3 plen=524
:pubkey enc packet: version 3, algo 255, keyid 0AFFFFFFFFFFFFFF
    unsupported algorithm 255
  • The first byte (0x85 = 0b10000101) is the cipher type byte (CTB) that describes the packet type. We can break it up as follows:
    1: CTB indicator bit
    0: old packet format (see RFC 1991)
    0001: public-key-encrypted packet
    01: packet-length field is 2 bytes long

  • The second and third bytes denote the packet length (0x020c = 524).

  • The fourth byte (0x03) means it's in the version 3 packet format.

As you can see, these bytes are meaningful and not magic number constants that you can remove without losing information. If you cut them off, you are corrupting the GPG packet and it will require some guesswork to reconstruct it.


The bytes are shown as smileys and hearts because that's how your (probably DOS) terminal displays non-printable control characters. In character sets that originate from code page 437, low bytes outside the printable ASCII range are traditionally represented as icons. Here's the original CP437 on an IBM PC:

enter image description here

(Image source)

8 added 6 characters in body
source | link

Yes, it's a coincidence that the first bytes appear to you as icons. They are part of the GPG packet format specification and only in some cases have the samethese particular values.

Let's create a file containing only thesethose bytes and try to read them as a GPG message:

$ echo "\x85\x02\x0c\x03" > foo.gpg && gpg --list-packets foo.gpg 
# off=0 ctb=85 tag=1 hlen=3 plen=524
:pubkey enc packet: version 3, algo 255, keyid 0AFFFFFFFFFFFFFF
    unsupported algorithm 255
  • The first byte (0x85) is the cipher type byte (CTB). See RFC 1991.
  • The second and third bytes denote the packet length (0x020c = 524).
  • The fourth byte (0x03) means it's in the version 3 packet format.

If you cut off these bytes, you are corrupting the GPG file and it will be harder - but not impossible - to reconstruct the packet.


The bytes are displayed as smileys and hearts because you are viewing them encoded in a character set that originates from CP437CP437, likely because you are on a DOS terminal. In this character setHere, low bytes outside the printable ASCII range are traditionally represented as icons:

enter image description here

(Image Sourcesource)

Yes, it's a coincidence that the first bytes appear to you as icons. They are part of the GPG packet format specification and only in some cases have the same values.

Let's create a file containing only these bytes and try to read them as a GPG message:

$ echo "\x85\x02\x0c\x03" > foo.gpg && gpg --list-packets foo.gpg 
# off=0 ctb=85 tag=1 hlen=3 plen=524
:pubkey enc packet: version 3, algo 255, keyid 0AFFFFFFFFFFFFFF
    unsupported algorithm 255
  • The first byte (0x85) is the cipher type byte (CTB). See RFC 1991.
  • The second and third bytes denote the packet length (0x020c = 524).
  • The fourth byte (0x03) means it's in the version 3 packet format.

If you cut off these bytes, you are corrupting the GPG file and it will be harder - but not impossible - to reconstruct the packet.


The bytes are displayed as smileys and hearts because you are viewing them encoded in a character set that originates from CP437, likely because you are on a DOS terminal. In this character set, low bytes outside the printable ASCII range are represented as icons:

enter image description here

(Image Source)

Yes, it's a coincidence that the first bytes appear to you as icons. They are part of the GPG packet format specification and only in some cases have these particular values.

Let's create a file containing only those bytes and try to read them as a GPG message:

$ echo "\x85\x02\x0c\x03" > foo.gpg && gpg --list-packets foo.gpg
# off=0 ctb=85 tag=1 hlen=3 plen=524
:pubkey enc packet: version 3, algo 255, keyid 0AFFFFFFFFFFFFFF
    unsupported algorithm 255
  • The first byte (0x85) is the cipher type byte (CTB). See RFC 1991.
  • The second and third bytes denote the packet length (0x020c = 524).
  • The fourth byte (0x03) means it's in the version 3 packet format.

If you cut off these bytes, you are corrupting the GPG file and it will be harder - but not impossible - to reconstruct the packet.


The bytes are displayed as smileys and hearts because you are viewing them encoded in a character set that originates from CP437, likely because you are on a DOS terminal. Here, low bytes outside the printable ASCII range are traditionally represented as icons:

enter image description here

(Image source)

7 added 9 characters in body
source | link

Yes, it's a coincidence that the first bytes appear to you as icons. They are part of the GPG packet format specification and only in some cases have the same values.

Let's create a file containing only these bytes and try to read them as a GPG message:

$ echo "\x85\x02\x0c\x03" > foo.gpg && gpg --list-packets foo.gpg 
# off=0 ctb=85 tag=1 hlen=3 plen=524
:pubkey enc packet: version 3, algo 255, keyid 0AFFFFFFFFFFFFFF
    unsupported algorithm 255
  • The first byte (0x85) is the cipher type byte (CTB). See RFC 1991.
  • The second and third bytes denote the packet length (0x020c = 524).
  • The fourth byte (0x03) means it's ain the version 3 packet format.

If you cut off these bytes, you are corrupting the GPG file and it will be harder - but not impossible - to reconstruct the packet.


The bytes are displayed as smileys and hearts because you are viewing them encoded in a character set that originates from CP437, likely because you are on a DOS terminal. In this character set, low bytes outside the printable ASCII range are represented as icons:

enter image description here

(Image Source)

Yes, it's a coincidence that the first bytes appear to you as icons. They are part of the GPG packet format specification and only in some cases have the same values.

Let's create a file containing only these bytes and try to read them as a GPG message:

$ echo "\x85\x02\x0c\x03" > foo.gpg && gpg --list-packets foo.gpg 
# off=0 ctb=85 tag=1 hlen=3 plen=524
:pubkey enc packet: version 3, algo 255, keyid 0AFFFFFFFFFFFFFF
    unsupported algorithm 255
  • The first byte (0x85) is the cipher type byte (CTB). See RFC 1991.
  • The second and third bytes denote the packet length (0x020c = 524).
  • The fourth byte (0x03) means it's a version 3 packet format.

If you cut off these bytes, you are corrupting the GPG file and it will be harder - but not impossible - to reconstruct the packet.


The bytes are displayed as smileys and hearts because you are viewing them encoded in a character that originates from CP437, likely because you are on a DOS terminal. In this character set, low bytes outside the printable ASCII range are represented as icons:

enter image description here

(Image Source)

Yes, it's a coincidence that the first bytes appear to you as icons. They are part of the GPG packet format specification and only in some cases have the same values.

Let's create a file containing only these bytes and try to read them as a GPG message:

$ echo "\x85\x02\x0c\x03" > foo.gpg && gpg --list-packets foo.gpg 
# off=0 ctb=85 tag=1 hlen=3 plen=524
:pubkey enc packet: version 3, algo 255, keyid 0AFFFFFFFFFFFFFF
    unsupported algorithm 255
  • The first byte (0x85) is the cipher type byte (CTB). See RFC 1991.
  • The second and third bytes denote the packet length (0x020c = 524).
  • The fourth byte (0x03) means it's in the version 3 packet format.

If you cut off these bytes, you are corrupting the GPG file and it will be harder - but not impossible - to reconstruct the packet.


The bytes are displayed as smileys and hearts because you are viewing them encoded in a character set that originates from CP437, likely because you are on a DOS terminal. In this character set, low bytes outside the printable ASCII range are represented as icons:

enter image description here

(Image Source)

6 added 57 characters in body
source | link
5 deleted 113 characters in body
source | link
4 added 418 characters in body
source | link
3 added 418 characters in body
source | link
2 added 418 characters in body
source | link
1
source | link