![]() |
|
Voynichese is a numeric cipher? - Printable Version +- The Voynich Ninja (https://www.voynich.ninja) +-- Forum: Voynich Research (https://www.voynich.ninja/forum-27.html) +--- Forum: Theories & Solutions (https://www.voynich.ninja/forum-58.html) +--- Thread: Voynichese is a numeric cipher? (/thread-5798.html) |
RE: Voynichese is a numeric cipher? - ololololo - 19-07-2026 (19-07-2026, 03:42 PM)oshfdk Wrote: You are not allowed to view links. Register or Login to view.I used the script to encode a simple phrase in English. Could you time how long approximately it will take you to decode it?It took about 5 minutes to convert numbers into letters. What about anagrams... If WCUO PPKCFBNAA to UFBNAA QANANA TQ AOKCFBNAA book VTOBA TSQAQAOIFBFBDAC QAOKCIB VCKBA QAQAKBKBNANANAB TTFBA FBDA OKCNAC FBNA WASKCA Well... I assume that you added nulls to the text because there are numbers in the words that are out of order. At the moment, I don't know how to solve these anagrams (what is QANANA?). If so, please specify how I should identify the nulls. If there are no nulls, then the algorithm has a problem. RE: Voynichese is a numeric cipher? - ololololo - 19-07-2026 (19-07-2026, 03:58 PM)JoeyB Wrote: You are not allowed to view links. Register or Login to view.fwiw, I think that encoder script from gemini has a bug where every E = oke y.Oh, I didn't notice that... Thanks for the tip! @oshfdk, I'll decode it now!
RE: Voynichese is a numeric cipher? - oshfdk - 19-07-2026 (19-07-2026, 04:04 PM)ololololo Wrote: You are not allowed to view links. Register or Login to view.Well... I assume that you added nulls to the text because there are numbers in the words that are out of order. At the moment, I don't know how to solve these anagrams (what is QANANA?). If so, please specify how I should identify the nulls. If there are no nulls, then the algorithm has a problem. This was the exact output from the encoder and the input is an English sentence, I didn't change any processing, I didn't add any nulls. I'm also more interested in the second example, where the extra /// marks were removed. RE: Voynichese is a numeric cipher? - ololololo - 19-07-2026 (19-07-2026, 03:42 PM)oshfdk Wrote: You are not allowed to view links. Register or Login to view.or an /// chol iin chor o /// qo qo ey iin an in oke y y /// ch o /// chor an in oke y y /// cph y oke y oke y /// ch cph y o ey iin an in oke y y /// che ey in /// chor ch o in y /// ch eor cph y cph y q or an in an in oke y iin /// cph y o ey iin or in /// chol iin chor o /// chol iin ey in y /// cph y cph y ey in ey in oke y oke y oke y in /// ch ch an in y /// an in oke y /// o ey iin oke y iin /// an in oke y /// y /// chol y eor ey iin yI decided to add an in to get rid of the ubiquitous FB, as well as to add nearby numbers (chol iin). Apparently, I understood how the algorithm works: If YUO OOKCFBEAA to VEHA REE TOKCFDEA book VTOBA TSRRPOIHHEC RONIB YUO YMA RRMMEEEB TTHA HE ONEC HDA A WSNA If you Facebook(?) to have REE TOKCFDEA book about Christopher Robin, you may remember that he once had a swan. How long did it take me? A very long time! Plus, there are errors in the algorithm. But I solved the last anagrams easily, so, excluding the algorithm problems and confusing letters, it took me about 4-5 minutes. I'd rather encrypt it manually... (19-07-2026, 04:31 PM)oshfdk Wrote: You are not allowed to view links. Register or Login to view.This was the exact output from the encoder and the input is an English sentence, I didn't change any processing, I didn't add any nulls.I've already understand ![]() (19-07-2026, 04:31 PM)oshfdk Wrote: You are not allowed to view links. Register or Login to view.I'm also more interested in the second example, where the extra /// marks were removed.If you encrypt correctly and align the letters in descending order, rather than in the supernatural order as in the algorithm, there will be no problems. The word boundaries will still be "visible" because they will be where a large number follows a small number, for example. y qo, iin o, iin cph, etc. RE: Voynichese is a numeric cipher? - ololololo - 19-07-2026 Thanks @JoeyB for improving the code ! It should now run without errors and the letters are aligned in order.@oshfdk, you can try to encrypt your phrase again (I don't fully understand what exactly you've encrypted): def letter_to_num(letter): letter = letter.upper() if letter in ['U', 'V']: return 21 if 'A' <= letter <= 'Z': return ord(letter) - ord('A') + 1 return None def num_to_roman_tokens(num): tokens = [] roman_rules = [ (22, 'XXII'), (21, 'XXI'), (20, 'XX'), (19, 'XIX'), (18, 'XVIII'), (17, 'XVII'), (16, 'XVI'), (15, 'XV'), (14, 'XIV'), (13, 'XIII'), (12, 'XII'), (11, 'XI'), (10, 'X'), (9, 'IX'), (8, 'VIII'), (7, 'VII'), (6, 'VI'), (5, 'V'), (4, 'IV'), (3, 'III'), (2, 'II'), (1, 'I') ] for val, sym in roman_rules: while num >= val: tokens.append(sym) num -= val return tokens def encrypt_word(word): numbers = [letter_to_num(l) for l in word if letter_to_num(l) is not None] if not numbers: return word numbers.sort(reverse=True) raw_tokens = [] for num in numbers: raw_tokens.extend(num_to_roman_tokens(num)) separate_last_i = False if len(raw_tokens) >= 2 and raw_tokens[-2] == 'III' and raw_tokens[-1] == 'I': separate_last_i = True raw_tokens.pop() encrypted_tokens = [] is_standalone_xx = len(raw_tokens) == 1 and raw_tokens[0] == 'XX' i = 0 while i < len(raw_tokens): token = raw_tokens[i] if token == 'XV' and i + 1 < len(raw_tokens) and raw_tokens[i+1] == 'XV': encrypted_tokens.append("che") i += 2 continue if token == 'XVI': if i + 1 < len(raw_tokens): next_token = raw_tokens[i+1] if next_token.startswith('XV') or next_token.startswith('X') or next_token.startswith('V'): if next_token == 'XV': encrypted_tokens.append("q") i += 2 continue else: encrypted_tokens.append("qo") i += 1 continue encrypted_tokens.append("s") i += 1 continue if token == 'XXII': encrypted_tokens.append("chol") elif token == 'XXI': encrypted_tokens.append("chor") elif token == 'XIX': encrypted_tokens.append("eor") elif token == 'XVIII': encrypted_tokens.append("oiin") elif token == 'XVII': encrypted_tokens.append("cph") elif token == 'XX': encrypted_tokens.append("sh" if is_standalone_xx else "ch") elif token == 'XV': encrypted_tokens.append("o") elif token == 'XIV': encrypted_tokens.append("oke") elif token == 'XIII': encrypted_tokens.append("daiin") elif token == 'XII': encrypted_tokens.append("dan") elif token == 'XI': encrypted_tokens.append("ey") elif token == 'IX': encrypted_tokens.append("or") elif token == 'VIII': encrypted_tokens.append("aiin") elif token == 'VII': encrypted_tokens.append("ain") elif token == 'VI': encrypted_tokens.append("an") elif token == 'IV': encrypted_tokens.append("ok") elif token == 'X': encrypted_tokens.append("e") elif token == 'V': encrypted_tokens.append("a") elif token == 'III': encrypted_tokens.append("iin") elif token == 'II': encrypted_tokens.append("in") elif token == 'I': current_word_str = "".join(encrypted_tokens) if current_word_str and current_word_str[-1] in ['a', 'o']: encrypted_tokens.append("n") else: encrypted_tokens.append("y") i += 1 encrypted_str = " ".join(encrypted_tokens) if separate_last_i: current_word_str = "".join(encrypted_tokens) last_i_char = "n" if current_word_str and current_word_str[-1] in ['a', 'o'] else "y" encrypted_str += f" {last_i_char}" return encrypted_str def encrypt_text(text): words = text.split() encrypted_words = [encrypt_word(w) for w in words] return " /// ".join(encrypted_words) print(encrypt_text("OO")) print(encrypt_text("PE")) print(encrypt_text("PO")) my_text = "YOUR TEXT" print(encrypt_text(my_text)) RE: Voynichese is a numeric cipher? - JoeyB - 19-07-2026 I think you nearly had it, it was just the bug in the gemini garbling a couple of things. Phrase 1 (with /// marks): IF YOU HAPPEN TO HAVE READ ANOTHER BOOK ABOUT CHRISTOPHER ROBIN YOU MAY REMEMBER THAT HE ONCE HAD A SWAN Phrase 2 (no marks): ONE DAY WHEN HE WAS OUT WALKING HE CAME TO AN OPEN PLACE IN THE MIDDLE OF THE FOREST RE: Voynichese is a numeric cipher? - ololololo - 19-07-2026 (19-07-2026, 04:47 PM)JoeyB Wrote: You are not allowed to view links. Register or Login to view.I think you nearly had it, it was just the bug in the gemini garbling a couple of things.Thanks a lot again! Well, in general, this means that these anagrams are not that difficult to solve. RE: Voynichese is a numeric cipher? - oshfdk - 19-07-2026 4-5 minutes for a single phrase is too long, I think. Is the algorithm fixed now? If so, we can try another phrase. oiin or an a eor or ch aiin a chor oiin qo a oke ok y chor ch o dan dan or a n oiin qo qo oke dan or or a iin ch ch aiin y chor eor eor o oke daiin a iin ch ch oiin daiin a n ch o eor oiin dan a a a n ch dan or aiin ain oke ok y ch aiin a n chol y dan or aiin a chor ch ch eor oiin oke oke daiin or ain y eor a in y chor ch eor eor oke a iin in y ch o oke or eor aiin y oke ok y ch eor oiin s or or Could you take note of how much time each step took? RE: Voynichese is a numeric cipher? - ololololo - 19-07-2026 (19-07-2026, 05:57 PM)oshfdk Wrote: You are not allowed to view links. Register or Login to view.Is the algorithm fixed now?Yes. It arranges the letters correctly on its own. (19-07-2026, 05:57 PM)oshfdk Wrote: You are not allowed to view links. Register or Login to view.oiin or an a eor or ch aiin a chor oiin qo a oke ok y chor ch o dan dan or a n oiin qo qo oke dan or or a iin ch ch aiin y chor eor eor o oke daiin a iin ch ch oiin daiin a n ch o eor oiin dan a a a n ch dan or aiin ain oke ok y ch aiin a n chol y dan or aiin a chor ch ch eor oiin oke oke daiin or ain y eor a in y chor ch eor eor oke a iin in y ch o oke or eor aiin y oke ok y ch eor oiin s or orLet me start by drawing boundaries between words ![]() oiin or an a / eor or / ch aiin a / chor oiin qo a / oke ok y / chor ch o dan dan or a n / oiin qo qo oke dan or or a iin / ch ch aiin y / chor eor eor o oke daiin a iin / ch ch oiin daiin a n / ch o eor oiin dan a a a n / ch dan or aiin ain / oke ok y / ch aiin a n / chol y / dan or aiin a / chor ch ch eor oiin oke oke daiin or ain y / eor a in y / chor ch eor eor oke a iin in y / ch o oke or / eor aiin y / oke ok y / ch eor oiin s or or As you can see, by using y, n, and other letters, you can easily identify the boundaries between words. And now we proceed to decoding! RIFE SI THE VROE NDA VTOKKIEA ROOVKIIEC TTHA VSSONMEC TTRMEA TOSRKEEEA TKIHG NDA THEA WA KIHE VTTSRNNMIGA SEBA VTSSNECBA TONI SHA NDA TSROII 2-3 minutes (it could have been faster if I had remembered the numbers of the letters in the alphabet. I had to look it up). Fire is the over and outlook covering that consumes matter. Streaks, thing and the away hide surrounding base backscene note has and stories. It took me a little less than a minute and a half. I had already guessed some of the words as I deciphered the letters, so it was pretty easy. Total: 3-4 minutes! But actually, I could have done it faster because, again, I looked up the letter numbers. RE: Voynichese is a numeric cipher? - oshfdk - 19-07-2026 (19-07-2026, 06:40 PM)ololololo Wrote: You are not allowed to view links. Register or Login to view.Fire is the over and outlook covering that consumes matter. Streaks, thing and the away hide surrounding base backscene note has and stories. Ok, but how much time will it take to find the correct decoding? This one is mostly wrong. |