# Crack attempt on Herbal A under the fitted period-cipher setting

> The period-cipher family's settings are taken from the T39 fit; the key and the sign boundaries are not. A planted Latin control laid into Herbal A's…

Source: https://mysteriesdept.com/methods/MTH0DCB86QKWF8P/crack-attempt-on-herbal-a-under-the-fitted-period-cipher  
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)Crack attempt on Herbal A under the fitted period-cipher setting

Method · cryptanalysis

# Crack attempt on Herbal A under the fitted period-cipher setting

The period-cipher family's settings are taken from the T39 fit; the key and the sign boundaries are not. A planted Latin control laid into Herbal A's pages must be read on held-out pages before the same pipeline is run on the manuscript. Rung A: true sign boundaries. Rung B: boundaries learned.

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

## Questions it answers

- [Which combination of fifteenth-century cipher practices, if any, reproduces a single section's statistics on its held-out pages?](https://mysteriesdept.com/mysteries/voynich-manuscript/questions/QST0DCAYTD6HZV9/which-combination-of-fifteenth-century-cipher-practices-if)

## Code Python

[Download module (.py)](https://mysteriesdept.com/files/a5118859025671a6153d8149dd40c4249a339a7250e58278d16698517e9c6560.py)`crack_period.py`[View source](https://mysteriesdept.com/files/a5118859025671a6153d8149dd40c4249a339a7250e58278d16698517e9c6560.py)

## Runs and results 3 runs

| Run | Mystery | Measured | Result | Against | Date |
|---|---|---|---|---|---|
| RUN0DCBBPFSJ189 | Voynich | Held-out key accuracy by use / character similarity to the true plaintext / dictionary coverage (true plaintext's) | 300k iterations: 0.627 / 0.634 / 0.294 (0.697); 1.5M iterations: 0.706 / 0.728 / 0.336 (0.697) | Protocol bar: 70 % of the plaintext's dictionary coverage (0.49) or 50 % word accuracy | |
| RUN0DCBBTB9HD1M | Voynich | Held-out key accuracy by use / character similarity / dictionary coverage (true plaintext's) | V 450, signs up to 6 glyphs: 0.114 / 0.062 / 0.232 (0.697); V 200, signs up to 3 glyphs: 0.228 / 0.082 / 0.271 (0.697) | Rung A (true boundaries): 0.706 / 0.728 / 0.336 | |
| RUN0DCBGWKQ4KGM | Voynich | Held-out element-trigram score (nats per element; Latin's own -2.418) / dictionary coverage of the decoded held-out text | Herbal A -2.563 / 0.296; shuffled -2.824 / 0.216 | Planted control under the same rung-B pipeline: -2.767 / 0.271 (true plaintext 0.697) | |

## 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

## References

1. [Lasry, G. 2024. Deciphering Historical Syllabic Ciphers. Proceedings of the 7th International Conference on Historical Cryptology (HistoCrypt 2024).](https://mysteriesdept.com/sources/SRC08JJBY3003EZ/deciphering-historical-syllabic-ciphers)

[Download module](https://mysteriesdept.com/files/a5118859025671a6153d8149dd40c4249a339a7250e58278d16698517e9c6560.py)

Category

Cryptanalysis

Version

1.0 · 28 Oct 2026

Licence

MIT

Language

Python

Inputs

[{'name': 'nathist_book16.txt (planted control)', 'dataset': 'DAT0DCE1XF9J2MB'}, {'name': 'herbal training and held-out pages', 'dataset': 'DAT0DCAYSJYM0D5'}, {'name': 'section plaintexts (element model)', 'dataset': 'DAT08JFZHGE64ZP'}, {'name': 'repository modules framework/elem_solver.py, useg.py, fragment_solver.py, harness.py; inductive/texts.py at mysteriesdept commit d1097e42'}]

Cite

[BibTeX](https://mysteriesdept.com/methods/MTH0DCB86QKWF8P/crack-attempt-on-herbal-a-under-the-fitted-period-cipher/cite.bib) · [APA](https://mysteriesdept.com/methods/MTH0DCB86QKWF8P/crack-attempt-on-herbal-a-under-the-fitted-period-cipher/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
