Using bi-graphs or tri-graphs can offer a high degree of privacy. Use bi-graphs for brevity. Tri-graphs are usually used when a code table needs to be long.
Sending messages like this can be further secured by using Vernam Cipher (one-time-pad). See the STASI “TAPIR” with its indicator for sending code (“84”). In this example, we will send a tri-graph message encrypted with a one-time-pad (OTP) for optimal privacy.
Your message: protest meeting success, being watched at this location, do not contact
Or: XBC XIO GGG EEE QQQ
Header + Your message: YKX XBC XIO GGG EEE QQQ
Encoded with the STASI (Ministerium für Staatssicherheit) code table “TAPIR”
YKX XBC XIO GGG EEE QQQ =
___plain text ____________78617 78377 50528 37726 48357 57578 31118 36868 6883
key 13698 93797 05536 49550 66877 17941 11148 70355 75933 94896
____cipher text___________81205 61064 55054 76276 04124 64419 42256 06113 3376
Notice the Modulo 10 system of addition (one adds without carrying over)
You and your corespondent both have the one-time-pad key, and you both have the same code table (TAPIR in this case) and the Tri-graph table. In this message, we did not indicate that it would be code. But one could do that easily by inserting “84” after the header (prior to encryption). In this case, both corespondents already knew that the tri-graph code table would be used. The benefit of this system is that the message is not going to be broken by computational attack or compromise of the table, and that the string of numbers in the ciphertext (in the message one will send) is guaranteed to remain unter vier Augen as long as safe practices are used. The header (YKX) indicates which key to employ, and successive headers should not be sequential.