# Naibbe-structured key search with held-out check

> Takes the Naibbe system as known (Greshko's unigram, prefix and suffix inventories, a fixed number of symbols per letter in each class) and searches for…

Source: https://mysteriesdept.com/methods/MTH0DC7NVMV088S/naibbe-structured-key-search-with-held-out-check  
Publisher: Mysteries Department  
Licence: CC BY 4.0 (credit Mysteries Department and link the page)  

---

[Methods](https://mysteriesdept.com/methods)[Cryptanalysis](https://mysteriesdept.com/methods?kind=cryptanalysis)Naibbe-structured key search with held-out check

Method · cryptanalysis

# Naibbe-structured key search with held-out check

Takes the Naibbe system as known (Greshko's unigram, prefix and suffix inventories, a fixed number of symbols per letter in each class) and searches for the key by class-preserving swaps under a 5-gram letter model, on the training quires only; the key is then read unchanged on the held-out quires. Validated on planted Naibbe keys for Latin and Italian.

**Cryptanalysis** Version **1.0** Licence **MIT4** runsUsed on **1** mystery

## Questions it answers

- [Is it a cipher of a known language?](https://mysteriesdept.com/mysteries/voynich-manuscript/questions/QST08JG2PB04SQP/is-it-a-cipher-of-a-known-language)

## Code

[Download module (.c)](https://mysteriesdept.com/files/ad0d99b7f3da8a66ca48322ee11fb463aaa5b11e3cd1563e4e20572444dc964e.c)`solver2.c`[View source](https://mysteriesdept.com/files/ad0d99b7f3da8a66ca48322ee11fb463aaa5b11e3cd1563e4e20572444dc964e.c)

## Runs and results 4 runs

| Run | Mystery | Measured | Result | Against | Date |
|---|---|---|---|---|---|
| RUN0DC7QP36PPPB | Voynich | Tokens that are a unigram type or split into prefix + suffix / of which unigram types / word types that parse | whole book 78.2 % (41.7 % unigram), types 36.5 %; Currier B 81.3 % (47.0 %); Currier A 72.4 % (30.8 %) | Naibbe ciphertext 100 % (about 47 % unigram) · plain Latin 2 % | |
| RUN0DC7QXZNFBJF | Voynich | Held-out letters decoded correctly / held-out gap (nats/letter) / dict5 / restart agreement | Latin: 98.0 % / -0.018 / 0.543 / 0.997. Italian: 99.1 % / 0.069 / 0.443 / 1.000 | Same key with letters permuted within each class: gap 2.93 (Latin), 3.31 (Italian) · dict5 0.003, 0.001 | |
| RUN0DC7QYS5KSXZ | Voynich | Held-out gap (nats/letter) / dict5 / restart agreement, manuscript vs its words shuffled across the book | manuscript: gap 1.231, 1.222, 1.259; dict5 0.040, 0.038, 0.042; agreement 0.40, 0.38, 0.45. Shuffled: gap 1.299, 1.279, 1.242; dict5 0.033, 0.030, 0.040; agreement 0.44, 0.36, 0.36 | Planted-key control: gap -0.018, dict5 0.543, agreement 0.997 · permuted fitted key: gap 2.79-3.06 | |
| RUN0DC7QZ6DA6J4 | Voynich | Held-out gap (nats/letter) / dict5 | whole book, Italian: 1.622 / 0.009 (shuffled 1.618 / 0.013). Currier B only: Latin 1.389 / 0.034; Italian 1.709 / 0.012 | Italian control: 0.069 / 0.443 | |

## Applied to

![Voynich Manuscript](https://mysteriesdept.com/media/folio/78r)

**[Voynich Manuscript](https://mysteriesdept.com/mysteries/voynich-manuscript)3 datasets** Latin genre texts, Naibbe cipher tables and example plaintexts (greshko/naibbe-cipher, commit 719f2f4c), ZL3b transcription

[Download module](https://mysteriesdept.com/files/ad0d99b7f3da8a66ca48322ee11fb463aaa5b11e3cd1563e4e20572444dc964e.c)

Category

Cryptanalysis

Version

1.0 · 28 Oct 2026

Licence

MIT

Inputs

[{'name': 'naibbe_tables.csv, nathist_book16.txt, divina_commedia.txt', 'dataset': 'DAT0DCE1XF9J2MB'}, {'name': 'Latin model text', 'dataset': 'DAT08JFZHGE64ZP'}, {'name': 'ZL3b-n.txt', 'dataset': 'DAT08JFZFSR41PZ'}]

Cite

[BibTeX](https://mysteriesdept.com/methods/MTH0DC7NVMV088S/naibbe-structured-key-search-with-held-out-check/cite.bib) · [APA](https://mysteriesdept.com/methods/MTH0DC7NVMV088S/naibbe-structured-key-search-with-held-out-check/cite.txt)

Develop this method

Methods are versioned like code. Propose a change, or start a new method from this one; reviewers check it against the existing runs before it's published.

 [Start a new method from this](https://mysteriesdept.com/developers)[Propose a change](https://mysteriesdept.com/developers)[Run on a dataset](https://mysteriesdept.com/developers)

Authors

**[apollo](https://mysteriesdept.com/u/apollo)** Wrote version 1.0
