Specification sheet · version 0
Concept: J.C. Sobrepere · Filosofía Sobreperiana · k8alphabet.org
What it is
A .k8 file holds a message written in the K8 nodal alphabet.
It does not hold letters. It holds the routes through the cube: the four nodes pressed to form each character. Letters appear only when a reading table is applied, and that table travels inside the file itself.
Three principles
1 · The route is stored, not the letter. A character is four nodes in order. The letter is a later interpretation. This lets the same message be read in one language or another, and it leaves room for things a letter cannot carry.
2 · The file stands on its own.
Like a PDF, which carries its typefaces inside so it looks the same on any computer, a .k8 carries its projection angle and its reading table. Whoever receives it needs to ask nobody for anything.
3 · The table is the language. The shapes are geometry and they are the same for everyone. What changes between English and Spanish is only which shape corresponds to which letter. Reading an English message with the Spanish table gives gibberish, and that is correct.
The parts of the file
The file is a short piece of text, readable in any editor. Seven fields:
| Field | What it is | Required? |
|---|---|---|
k8/0 |
First line. Marks the format and the version. | Yes |
familia |
How many classes the alphabet uses. Always 26 for now. |
Yes |
orbital |
Three numbers: the angle the cube is seen from. The typeface of the message. | Yes |
tabla |
26 letters in a row. Says which shape is which letter. | Yes |
idioma |
Informative label: en, es. |
Yes |
rotor |
Reserved. Empty in version 0. | No |
mensaje |
The routes, packed. | Yes |
A free nota field is allowed, for signing or dating. It does not affect reading.
About orbital
These are the three coordinates of the direction the cube is projected from onto the paper. Changing them does not change what the message says: it changes how it looks. It is the exact equivalent of changing typeface.
Working value: -0.302 / 0.456 / -0.837.
About tabla
The 26 classes have a fixed mathematical order, always the same. So the table does not need to be a list of pairs: 26 letters in a row is enough, one per class, in that order.
english NMUWCZFHOTKXSBDAEIJYPQVRGL
spanish NPLGMXBDSOFKCQIAERZHYJÑTVU
Letters are not assigned by frequency alone. The assignment is optimised so that two frequent letters never land on two similar shapes, which is a different and worse failure than having similar shapes somewhere in the alphabet. Against a naive frequency assignment, confusion risk drops 23% in English and 28% in Spanish.
Spanish has 27 letters and there are only 26 classes: Ñ takes a class and W is written as V with a dot underneath. That is the only patch in the system and it is in plain sight. English needs none.
How the message is stored
Nodes are shown as 1 to 8 on the pad and stored as 0 to 7, so each one fits in three binary digits. A character is four nodes, that is twelve binary digits. Two characters take three bytes.
The tables on this sheet use pad numbering, 1 to 8. To store, subtract one from each node.
So that it can be pasted anywhere, those bytes are written in base32: capital letters only and the digits 2 to 7. Nothing an email or a social network can spoil.
A 100-character message takes 150 bytes raw and about 240 characters once written out. The whole file, header and table included, comes to around 400 bytes.
Spaces and line breaks
A valid character always has its four nodes distinct: you cannot pass through the same place twice. That leaves every combination with a repeated node free, and that is where the commands go:
| Combination | Meaning |
|---|---|
| 1-1-1-2 | Word space |
| 1-1-1-3 | Line break |
| 1-1-1-4 | End of message |
Nothing has to be invented: the commands live in the gap the alphabet's own rule leaves empty.
The rotor's gap
The rotor field is reserved and empty. One day it will hold the starting position of the cube's turn, so that the same letter does not always come out as the same route. A version 0 reader that finds that field filled in must warn that it cannot read it, rather than read it wrong.
A complete example
The message HELLO CLAUDE, with the English table.
The routes, node by node:
2568 1425 1845 1845 1574 1112 1258 1845 3214 4327 2475 1425
H E L L O space C L A U D E
Raw, that is 20 bytes:
32F0CC1DC1DC1330010671DC44368E2F40CC0030
And the whole file, as it stands:
k8/0
familia: 26
orbital: -0.302 0.4559 -0.8372
tabla: NMUWCZFHOTKXSBDAEIJYPQVRGL
idioma: en
rotor:
mensaje: GLYMYHOB3QJTAAIGOHOEINUOF5AMYABQ
Look at the two Ls. They come out as the same route, 1845 and 1845, so they are drawn identically. That makes the message easy to break by counting repetitions, and it is exactly what the rotor will come to fix.
The link to paste into an email
The same content, on a single 85-character line:
https://k8alphabet.org/#0.NMUWCZFHOTKXSBDAEIJYPQVRGL.GLYMYHOB3QJTAAIGOHOEINUOF5AMYABQ
On opening it, the page puts itself into reading mode and shows the message.
What comes after the hash is not sent to the server: it stays in the browser of whoever opens the link. The site translates the message without ever seeing it, and you store nothing belonging to anyone.
The price of that: not seeing the message, the server cannot generate the preview card social networks display either. To post on social media there are two ways: upload the tape as an image (always works, on any network), or use a variant of the link without the hash, which does reach the server. The first is the one I recommend.
What the file does not carry, and why
- It does not carry the original text. If it did, the message could be read without decoding it and the point would be gone.
- It carries no sender and no recipient. Email already does that.
- It is not really encrypted. With the table inside, anyone who knows what this is can read it. Version 0 is an alphabet, not a safe.
- It has no digits and no punctuation. The alphabet has 26 classes and we are not going to invent more.
Still to be decided
- The optional table. A file without a table would be legible as shape and illegible as language: a mute message. It still strikes me as the most interesting variant, but it complicates the reader and stays out of version 0.
- The rotor. Reserved, with no decision on how it works.
- Digits. Today they cannot be written. If they are ever needed, the 38-class family has room to spare.