⠀
The Chromarithmograph System — February 20, 2026.
A project revolving around code, art, and numbers.
I learnt about 256 Farben (though I had already seen it) at a late stage in the development of a project with a similar artistic direction.
This seemingly "random" arrangement of colors is quite different, I call it chromarithmograph (that is, chroma, arithmetic, -graph). The chromarithmograph is a new method of encrypting numerical information utilizing colors, in such a way that the presence of the encoded information would not be evident to an unsuspecting person. Their design allows them to be used as aesthetically appealing decorations without sacrificing the secret message and its decodability. Here are more examples:
The colors of this sweater are already very rich and visually interesting, wouldn't amplifying its meaning be nice? I designed the algorithm such that these two principles remain true:
1. The exact size and position of the colors should not interfere with the decryption, only their order.
2. The order of the colors should not be definite. It should allow different color permutations to converge on the same results, and vice versa.
The purpose of these propositions is that the results outputed by the program remain as varied and visually interesting as possible, with a degree of flexibility and redundancy included. This mimics written language in the sense that one may want to express the same character in different ways, to emphasize or shorten it, maybe even to increase the difficulty of its decryption. It is also useful in the artistic sense, for making encryption patterns seem more ordinary, or to purposely corrupt them to generate glitch art.
Explanation (Click here to skip to a simple version of the explanation)
Terminology:
Color Palette: The range of colors used to generate the image.
Separator: First color of the palette, it does not hold numerical value and only serves to indicate the start of a new piece of information.
Color Palette Index: Number used to identify a color, with the separator always using 0.
Color Size: Size of our palette, not including the separator.
Encryption Key: The original order of the image's color palette which is needed to correctly decrypt it.
Index Number: First color after a separator, its purpose is to multiply.
Number: Any number after the separator, its purpose is to be summed.
The program starts by numbering the color palette, utilizing the first color as the separator and assigning each subsequent color a number starting from 1. To translate an input number into a list of color palette indexes, the program follows this procedure:
Let 28 be our input number and our color palette size be 7 for this example.
The index number is decided by dividing the input number into the color size, getting the floor of our result, and then summing one to it.
Index Number = ⌊(Input Number/Color Size)⌋ + 1
Example: Index Number = ⌊(28/6)⌋ + 1 = 5
The following color is decided by subtracting 1 from the index number, multiplying the result by the color size, and subtracting this result from the input number.
Number = Input Number - (Index Number - 1) * Color Size
Example: Number = 28 - (5 - 1) * 6 = 4
If the result is equal or greater than the Index Number, the program sums 1 to it. It then joins these results, adds a separator, and colors them according to the color palette to complete the image.
[Index Number, Number, Separator]
Example: [5, 4, 0]
A simplified version of this explanation:
We have a color palette which is numbered from 0 to the last color. The 0th color is used to separate and indicate whenever a new number starts. To convert a number to its corresponding colors, we indicate our starting point. Our starting point is a multiple of the size of our palette (excluding the separator).
If we're working with a palette that has 7 colors (6, exclusing the separator) we can start from 0, 6, 12, 18, 24, and 30 (We cannot convert the number 36 normally because of avoiding the repetition of colors).
After indicating our starting point, if the desired number has not yet been reached, we add a color indicating the amount to be summed. We utilize the order of the colors for this, if the color to be summed is equal to the starting point, we utilize the next color.
The entire process can be summarized as that of making every combination of 2 colors, as they are ordered in the color palette, and then assigning a number starting from 0 to every combination.
Chromarithmography is still in development, some of the currently missing features are:
-The program can't generate numbers higher than n²-1 where n is the color palette size.
-You need to input the EXACT hex values of an image in order to decode it correctly, there is no automatic detection.
-Images are generated and read from top to bottom and left to right, with no way of changing their orientation.
-The program lacks a GUI.
Here are some demonstrations of chromarithmography and its various uses.
A simple, easily replicable pattern with minimal colors. Perfect for gifts.
This mockup of a Project Guntebger version of Steganographia features a hidden message on its cover reading: "STEGANOGRAPHY: That is: THE SURE ART OF DISCLOSING THE INTENTION OF ONE’S MIND TO THOSE WHO ARE ABSENT THROUGH SECRET WRITING; BY THAT MOST REVEREND AND FAMOU SMAN, Johannes Trithemius, Abbot of Sponheim, & Most Perfect Master of Natural Magic. PREFIXED TO THIS WORK IS ITS KEY, OR a true introduction, composed by the Author himself; HERETOFORE MUCH DESIRED BY MANY, though seen by very few: But now brought into the public domain for the sake of Students of secret Philosophy. With the Privilege & consent of his superiors".
Chromarithmography is useful because of its compact nature and rich design variation, imagine having to fit all that text on the cover!
Referencing another Richter artwork, the Cologne Cathedral Window. This artwork makes use of chromarithmography by incorporating an encrypted portion of Matthew 5 onto it. It is also based on a Project I've been making.
Miscellaneous Examples
Minimalist mockup album cover utilizing random numbers as a chromarithmographic pattern. The Japanese text reads "Electronic Story".
The Trial by Franz Kafka completely encrypted utilizing chromarithmography. Long texts like these can be confidentially transfered between parties without raising suspicion, 1. By confusing them as avant-garde art. 2. By the inability of external parties to gain access to the color palette information and thus, decrypt the message.
Complete version of the previously mentioned Matthew 5 stained glass window.
Result: A long text file that most people would dismiss as random code, which can only be decrypted with the correct color palette.
Chromarithmography opens up new possibilities. Programmers can now indulge in the creation of their own aesthetic messagery, artists can extend the meaning of their works and designs, and everyone can engage in the ceturies-old art of steganography. I hope to see what creative patterns and color palettes you create with this tool, have fun!
MAIN
ART
GAMES
LINKS
BLOG
MUSIC


