FontCode: a new way of steganography through the shape of letters
Fig.1. An insignificant change in the glyph (the form of a specific letter) encodes digital information at the expense of a two-dimensional matrix of options for an outline.Each point in the two-dimensional grid generates a corresponding unique glyph.
Specialists in steganography have come up with a new way to hide encryption in an open channel. In this case - in clear text. According to the inventors, in addition to natural use in intelligence, this technology can be used for covertly introducing metadata, such as watermarks.
The main innovation is coding by a slight change in the shape of the glyph. Each point in the two-dimensional grid generates a corresponding unique glyph, and the systematic change of each glyph allows you to embed a long digital sequence in analog text.
The second part of the technology is the recognition of distorted glyphs. The authors of the research presented glyph recognition as a problem of image classification. Having obtained an image with a series of distorted glyphs, the goal is to classify each input glyph of this letter as one of a list by codebook. For this purpose, a convolutional neural network (CNN) was trained on each letter in a specific font.
To recognize the distorted glyph of each letter using CNN, the image is first pre-processed with data preparation for training the neural network, as well as to reduce the dimension of the training data. The area of ​​each letter is clipped by the frame set by the optical character recognition system. Then, the image region is binarized using the classical Otsu algorithm. This step helps to eliminate the effect caused by different lighting conditions and background colors. Finally, the size of the image area changes to a square of 200 × 200 pixels. Such black and white images 200 × 200 are served for training in the neural network. A trained neural network is able to recognize images directly synthesized or obtained from digital cameras, that is, when a user navigates a smartphone’s camera to text with hidden ciphering, just as he directs a camera to a QR code. Accordingly, the training data for CNN consisted of synthetic images and real photographs. This synthetic data was created by a photorealistic visualizer with various exposure settings.
The coding scheme provides for the division of text into blocks of five characters. Each block is assigned a number from 0 to 255 in ASCII, which is embedded in the glyphs by changing their shape. Decoding performs the inverse procedure when numbers are extracted from glyphs.
When choosing glyphs for shorthand embedding of numbers, a coding scheme is used with an estimate of maximum likelihood and error correction based on the Chinese theorem on residues 1,700 years ago. This guarantees the restoration of the original message with a limit on the error rate not exceeding the established one.
In a sense, the FontCode technique is similar to bar codes and QR codes, because there are strips of different thickness or black and white squares that encode digital information. Here, roughly the same digital information is encoded by a form of glyphs.
In addition to the steganographic embedding of the secret message in the plaintext, FontCode also allows the use of encryption. In this case, the sender and the recipient must first agree on the secret key to decrypt the message. Encryption can be easily transmitted in clear form - via the Internet or as a paper printout. A person sees plain text, and a computer with an OCR system and a specially trained neural network recognizes a hidden message in this text.
The scientific work with the description of the technology FontCode prepared for the conference SIGGRAPH , which will be held in August 2018 in the Canadian Vancouver.