"Seeking truth, the wise only find its profound absence."
UnsolvedWhat it is: 9 messages made of eye-shaped glyphs found in East and West parallel worlds. 5 messages in the East, 4 in the West. Each eye glyph has one of 5 orientations. They only appear with mods disabled.
Critical fact: This is NOT an in-game interaction puzzle. The entire Noita codebase was decompiled using Ghidra (NSA reverse-engineering tool). No trigger, no interaction, no spell, no boss mechanic exists for the eyes. They are a pure standalone cryptography puzzle you could solve on paper.
Message structure: Eyes are arranged in rows of up to 39 glyphs. Every second row is offset. The total glyph count in each message is divisible by 3. By grouping into triangular triplets (trigrams), each trigram encodes a base-5 number (000 to 444), giving a range of 0-124 in decimal.
The breakthrough: Out of 36 possible reading orders for trigrams, exactly ONE produces an unbroken range of values from 0-82. The probability of this occurring by random chance is approximately 5.8 x 10^-185 (picking the same grain of sand from all sand on Earth, 11 times in a row). This is the accepted "orthodox" reading order.
Dev confirmation: The developers have confirmed the eye messages contain a real message. This is not a troll.
Full Ghidra decompilation of Noita's code confirms there is no interaction, trigger, spell, or boss mechanic tied to the eyes. Every single function has been assigned. If it isn't in the LUA, it's not there.
No in-game trigger exists. Period. The Ghidra decompilation is exhaustive. Redirecting effort toward in-game experiments is wasted time. This is a pencil-and-paper cryptography problem.
The orthodox trigram reading order produces values 0-82 with no gaps, out of a possible 0-124 range. Toboter's script tested ~86,000 reading orders and found no other with comparable statistical significance.
Recent theory: eyes aren't encoded triplets but directions for reading a wheel/disc cipher. Eye looking left = read wheel center-to-left. Straight eyes indicate special operations (rotation?). Produced 891 bits from East 1 message. Reddit thread
The same trigram never appears twice in a row in any message. In a deck cipher, this is automatic: each plaintext letter shuffles the deck, so the top card always changes. The no-doubles property constrains the cipher to mechanisms where the state transition is never the identity.
Gap patterns between repeated characters match across messages at different positions. These isomorphs can form when the same word/phrase occurs at different locations. Indicates the cipher key is consistent across all messages.
Splitting ciphertext into odd- and even-positioned trigram values and comparing frequency distributions shows no significant difference (Monte Carlo p=0.539, 13k trials). With only ~6 samples per bin across 83 symbols, the apparent variation is noise.
Trigram values repeat at a gap of exactly 4 at nearly double the expected rate (z=4.04, p<0.001), suggesting a structural cycle of period 4 in the cipher.
Flat frequency distribution proves it's not a simple substitution cipher. Each ciphertext character depends on something beyond just the plaintext character. The cipher has hidden internal states far exceeding 83, with the state space likely being S₈₃ (all permutations of 83 symbols).
Alphabet chaining on isomorphs produces conflicts (commutativity conflicts, order conflicts, arrow overlaps) that are impossible in cyclic-group ciphers (CTAK). This rules out all classical ciphertext-autokey mechanisms, including Alberti, and requires a non-commutative group.
All ciphers producing isomorphs form a strict hierarchy: CTAK < GCTAK < GAK < Perfectly Isomorphic. CTAK (cyclic) is ruled out by chaining conflicts. GCTAK is ruled out because 83 is prime (the only group of order 83 is cyclic). The cipher must be at least GAK-class.
Because 83 is prime, only 6 transitive permutation groups act on 83 symbols. Cyclic and dihedral were ruled out by Lymm. The remaining groups (AGL subgroups and A₈₃) have not been definitively ruled out because the actual cipher mechanism is unknown. S₈₃ is the consensus expectation: both S₈₃ and A₈₃ contain ~10¹²³ permutations and are equally intractable.
Pyry's original demonstration used an autokey Alberti cipher to show how isomorphs could arise. However, alphabet chaining reveals chaining conflicts in the eye data that are impossible for any cyclic-group cipher (including Alberti). The Alberti model was an important stepping stone but is now ruled out.
Flat character distribution across all messages eliminates any form of monoalphabetic substitution. Period analysis confirms it's not periodic either. The cipher is significantly more complex.
Found a new pattern in the eye messages? Report it here.
The leading candidate: a deck of 83 cards where each plaintext letter triggers a specific shuffle. The top card after shuffling is the ciphertext output. Equivalent to a Group Autokey cipher with the symmetric group S₈₃. Evidence suggests the shuffles have relatively simple structure (few swaps from a shared base permutation), which constrains the key space.
First character differs across all 9 messages (numbering). Shared sections near the start suggest a common header or repeated phrase. The plaintext likely follows a structured format, possibly instructions or a narrative with variations.
Shared sections after differing first characters suggest the deck shuffles for each plaintext letter are "not too far apart" from each other (a few swaps from a shared base permutation). If confirmed, this dramatically reduces the search space from arbitrary S₈₃ permutations to a tractable family of structurally simple shuffles.
Have a cipher theory or decryption approach? Share it.
Key documents, tools, and channels maintained by the solving community.
Ghidra guide proving no in-game eye triggers exist.
Curated list of community-built tools and resources for the eye puzzle.
Web tool to find eye message spawn locations in your world seed.
Interactive cipher disk for rotating and aligning the earthquake circle rings.
Interactive visualization of gap differences between eye message isomorphs.
Frequency grouping analysis tool for eye message symbols.
Visual comparison tool for differences between eye messages.
Interactive web-based analysis tool for eye message data.
Any proposed theory must explain ALL of the following observations. These are the community's litmus test for viable cipher candidates.
The frequency of each symbol across messages is approximately uniform, eliminating simple substitution ciphers.
The orthodox reading order uses exactly 83 consecutive values with no gaps from the 125 possible. No other reading order achieves this.
Identical character sequences appear at the same positions across different messages, implying shared plaintext with the same key/cipher.
Gap patterns between repeated characters are consistent across messages. This constrains the cipher to specific classes of polyalphabetic systems.
Despite different first characters (message numbering), subsequent shared sections still align. The cipher's state must reset or be independent of the first character.
Some isomorphs share the same pattern structure but use different actual symbol values, implying position-dependent encoding.
The first character in each message is unique (message number), but the second character can be the same across messages. The cipher must allow this.
The same trigram never appears twice consecutively in any message, though identical trigrams can appear at adjacent positions in different messages.
All isomorphs that aren't part of shared sections have different trigram sequences and never share the same trigram value at the same relative position.
Comments powered by giscus. Uses GitHub Discussions.