(* Content-type: application/vnd.wolfram.mathematica *)

(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)

(* CreatedBy='Wolfram 15.0' *)

(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[       154,          7]
NotebookDataLength[     22748,        577]
NotebookOptionsPosition[     18681,        500]
NotebookOutlinePosition[     20688,        545]
CellTagsIndexPosition[     20645,        542]
WindowTitle->NicodemusSolve
WindowFrame->Normal*)

(* Beginning of Notebook Content *)
Notebook[{
Cell[BoxData[GridBox[{
   {GridBox[{
      {
       ItemBox[Cell[BoxData[
         RowBox[{
          TemplateBox[{12},
           "Spacer1"], Cell[
          "WOLFRAM INSTITUTE/ PUZZLES SYMBOL", "PacletNameCell",
           TextAlignment->Center,ExpressionUUID->
           "48ee1290-71c4-41e0-ab2d-0098940d6302"], 
          TemplateBox[{8},
           "Spacer1"]}]],
         TextAlignment->Center,ExpressionUUID->
         "542974a8-95b9-478a-87aa-0f3f1427b9b7"],
        Background->LightDarkSwitched[
          RGBColor[0.490196, 0.576471, 0.690196]],
        ItemSize->Full], ""}
     },
     GridBoxAlignment->{"Rows" -> {{Center}}},
     GridBoxItemSize->{"Columns" -> {Full, 
         Scaled[0.02]}, "Rows" -> {{2.5}}}], Cell[TextData[{
     Cell[BoxData[
      TagBox[
       ActionMenuBox[
        FrameBox[Cell[TextData[{
          "See Also",
          " ",
          Cell[BoxData[
           GraphicsBox[
            {GrayLevel[0.66667], Thickness[0.13], 
             LineBox[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]},
            AspectRatio->1,
            ImageSize->20,
            PlotRange->{{-3, 4}, {-1, 1}}]],ExpressionUUID->
           "1c1fc14f-8669-4ff8-8ca4-8917040fb4ae"]
         }],ExpressionUUID->"a37a65d8-d70b-4b37-bc3b-e9aed9a8e287"],
         StripOnInput->False],{
        StyleBox[
          "\"NicodemusCipher\"", "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/NicodemusCipher"], 
         StyleBox[
          "\"VigenereSolve\"", "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/VigenereSolve"], 
         StyleBox[
          "\"ColumnarTranspositionSolve\"", "SeeAlsoRelated", StripOnInput -> 
           False] :> Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/ColumnarTranspositionSolve"]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"SeeAlso"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "22c37975-d3ef-4002-bddf-f204e3445954"],
     "\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\
\[ThickSpace]",
     Cell[BoxData[
      TagBox[
       ActionMenuBox[
        FrameBox[Cell[TextData[{
          "Related Guides",
          " ",
          Cell[BoxData[
           GraphicsBox[
            {GrayLevel[0.66667], Thickness[0.13], 
             LineBox[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]},
            AspectRatio->1,
            ImageSize->20,
            PlotRange->{{-3, 4}, {-1, 1}}]],ExpressionUUID->
           "1725313e-0945-445d-b81c-4a5b51d5208b"]
         }],ExpressionUUID->"4ae2e6d6-8a5f-4ee5-b004-80fb37770c9b"],
         StripOnInput->False],{
        "\"Search\"" :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/guide/Search"]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"MoreAbout"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "04b6eb69-824a-44e8-98ea-0f355f285fea"],
     "\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\
\[ThickSpace]",
     Cell[BoxData[
      TagBox[
       ActionMenuBox[
        FrameBox[Cell[TextData[{
          "URL",
          " ",
          Cell[BoxData[
           GraphicsBox[
            {GrayLevel[0.66667], Thickness[0.13], 
             LineBox[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]},
            AspectRatio->1,
            ImageSize->20,
            PlotRange->{{-3, 4}, {-1, 1}}]],ExpressionUUID->
           "6bc51c06-7b6f-4e83-b864-d61277a20b66"]
         }],ExpressionUUID->"7cece59a-0e73-4827-9df3-5337277b207f"],
         StripOnInput->False],{
        "\"WolframInstitute/Puzzles/ref/NicodemusSolve\"" :> None, 
         "\"Copy Wolfram Documentation Center URL\"" :> 
         CopyToClipboard["WolframInstitute/Puzzles/ref/NicodemusSolve"], 
         Delimiter, "\"Copy web URL\"" :> 
         Module[{DocumentationSearch`Private`nb$}, 
           DocumentationSearch`Private`nb$ = 
            NotebookPut[
             Notebook[{
               Cell[BoxData[
                 MakeBoxes[
                  Hyperlink[
                   "http://reference.wolfram.com/language/WolframInstitute/\
Puzzles/ref/NicodemusSolve.html"], StandardForm]], "Input", TextClipboardType -> 
                 "PlainText"]}, Visible -> False]]; 
           SelectionMove[DocumentationSearch`Private`nb$, All, Notebook]; 
           FrontEndTokenExecute[DocumentationSearch`Private`nb$, "Copy"]; 
           NotebookClose[DocumentationSearch`Private`nb$]; Null], 
         "\"Go to web URL\"" :> 
         FrontEndExecute[{
           NotebookLocate[{
             URL[If[TrueQ[False], 
                 "http://reference.wolfram.com/system-modeler/", 
                 "http://reference.wolfram.com/language/"] <> 
               "WolframInstitute/Puzzles/ref/NicodemusSolve" <> ".html"], 
              None}]}]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"URLMenu"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "958c445d-e266-42c7-9f87-3382361557ff"]
    }], "AnchorBar",
     CacheGraphics->False,ExpressionUUID->
     "9b418a14-3215-4c75-bcdc-701806b9ce51"]}
  }]], "AnchorBarGrid",
 CellID->1,ExpressionUUID->"9b8d2b41-e7be-4a77-82ac-16af185448fa"],

Cell["WolframInstitute`Puzzles`", "ContextNameCell",ExpressionUUID->"49220407-153e-40ef-8f3f-d53b0894c042"],

Cell[CellGroupData[{

Cell[BoxData[GridBox[{
   {Cell[TextData[{
     Cell[
     "NicodemusSolve", "ObjectName",ExpressionUUID->
      "febab112-b603-4a3f-99f7-0771a756389c"],
     Cell[BoxData[
      TemplateBox[{8},
       "Spacer1"]],ExpressionUUID->"e9e8486a-c781-4732-a868-514068aa12f0"],
     Cell[BoxData[
     ""], "ObjectNameTranslation",ExpressionUUID->
      "3cb27eb1-e6fc-4ec2-9459-384518c9fc0a"]
    }],ExpressionUUID->"51407c6e-6cf0-4ae7-b1bf-8cd801a44ece"], 
    "\[SpanFromLeft]"}
  }]], "ObjectNameGrid",ExpressionUUID->"1ae1f3b4-2450-4a36-9e2f-\
d12c82666bfe"],

Cell[BoxData[GridBox[{
   {"", Cell[TextData[{
     Cell[BoxData[
      RowBox[{
       TemplateBox[{
         Cell[
          TextData["NicodemusSolve"]], 
         "paclet:WolframInstitute/Puzzles/ref/NicodemusSolve", 
         "WolframInstitute/Puzzles Package Symbol"},
        "PackageLink",
        BaseStyle->"InlineFormula"], "[", 
       StyleBox["text", "TI"], "]"}]], "InlineFormula",
      FontFamily->"Source Sans Pro",
      FontSize->0.9 Inherited,ExpressionUUID->
      "594c2ed3-cfef-4d09-8bfb-cc1a988d466c"],
     "\[LineSeparator]",
     "recovers a ",
     Cell[BoxData[
      TemplateBox[{
        Cell[
         TextData["NicodemusCipher"]], 
        "paclet:WolframInstitute/Puzzles/ref/NicodemusCipher", 
        "WolframInstitute/Puzzles Package Symbol"},
       "PackageLink",
       BaseStyle->"InlineFormula"]], "InlineFormula",
      FontFamily->"Source Sans Pro",ExpressionUUID->
      "bb2f1e81-b377-4248-b2a7-37b43320c92b"],
     " from ciphertext alone, giving an Association with the best ",
     Cell[BoxData["\"\<Plaintext\>\""], "InlineFormula",
      FontFamily->"Source Sans Pro",
      FontSize->0.9 Inherited,ExpressionUUID->
      "7cbbf67e-c8ae-48be-a3ca-4838fadc98c1"],
     ", ",
     Cell[BoxData["\"\<Key\>\""], "InlineFormula",
      FontFamily->"Source Sans Pro",
      FontSize->0.9 Inherited,ExpressionUUID->
      "16491400-7352-4139-90bb-72e292727ade"],
     ", ",
     Cell[BoxData["\"\<Period\>\""], "InlineFormula",
      FontFamily->"Source Sans Pro",
      FontSize->0.9 Inherited,ExpressionUUID->
      "04d4e045-b1ec-4bc2-b7d1-fa3ef546bf96"],
     " and ",
     Cell[BoxData["\"\<Score\>\""], "InlineFormula",
      FontFamily->"Source Sans Pro",
      FontSize->0.9 Inherited,ExpressionUUID->
      "61eba009-a30a-4a09-a838-e09170086133"],
     "."
    }],ExpressionUUID->"aeee04d5-7366-4640-8634-6b561bff2c3f"]}
  }]], "Usage",ExpressionUUID->"a9b8cd21-bb23-4d4b-9e22-b05e3e7983ae"]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[Cell[BoxData[Cell[TextData[{
  Cell[BoxData[
   DynamicBox[ToBoxes[
     If[CurrentValue[
        EvaluationCell[], "CellGroupOpen"] =!= Closed, 
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], 
      Rotate[
       Style[
        Graphics[{
          Thickness[0.18], 
          RGBColor[0.8509803921568627, 0.396078431372549, 0], 
          Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
         PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
        0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]],
    ImageSizeCache->{
     13.600000000000001`, {-0.1685058593749993, 13.768505859375}}]],
   ExpressionUUID->"ac088c10-400c-465a-b1dd-0ab5ee220ef0"],
  Cell[BoxData[
   TemplateBox[{1},
    "Spacer1"]],ExpressionUUID->"11ae401c-d1f6-4162-be07-bea3a358d6a7"],
  "Details and Options"
 }], "NotesFrameText",ExpressionUUID->
  "f7f76cd0-608a-45f6-8dc2-67987182bdf6"]],ExpressionUUID->"7848e94e-8435-\
4653-ac35-7413eae96a7c"]], "NotesSection",
 ShowGroupOpener->"Thumbnail",
 WholeCellGroupOpener->True,
 CellGroupingRules->{"SectionGrouping", 50},
 CacheGraphics->False,
 CellID->26739562,ExpressionUUID->"6ab83b81-3192-4813-8b9c-d9dc1464060d"],

Cell["\<\
The solve is deterministic. For each key length it brute-forces the column \
read order (which the keyword ranking sets), un-transposes the block \
take-off, fits every column's Vigenere shift by letter-frequency chi-square, \
and then polishes the few best orders by coordinate-ascent on quadgram \
fitness.\
\>", "Notes",ExpressionUUID->"7ef333fa-8c43-4f1a-9ec2-439c6e69b1d5"],

Cell[TextData[{
 "The option ",
 Cell[BoxData["\<\"Period\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "f75b0b32-2a92-4a38-9bde-29d62f3aaf00"],
 " (Automatic tries 2 up to ",
 Cell[BoxData["\<\"MaxPeriod\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "70bc5fc1-7882-4516-b828-b0ae57943ffd"],
 ") sets the key length, and ",
 Cell[BoxData["\<\"MaxPeriod\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "9a93f97a-017c-497d-84f0-620c2a504e2a"],
 " (default 7) bounds the search - its cost grows as the factorial of the \
period, so keep it small."
}], "Notes",ExpressionUUID->"aa430e7e-27c5-47af-b72d-cdd326a1b694"],

Cell[TextData[{
 Cell[BoxData["\<\"Polish\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "5f5f801c-a261-41ff-9b3e-ec24e56b3175"],
 " sets how many of the strongest orders are refined on quadgrams."
}], "Notes",ExpressionUUID->"403d41e1-2914-439e-b736-4a637a97d086"],

Cell["\<\
A couple of blocks of ciphertext (the period times ten or more letters) gives \
each column enough letters for the shift fit to lock in.\
\>", "Notes",ExpressionUUID->"faec3570-0d7f-4efd-8d49-7778a487fde5"]
}, Closed]],

Cell["", "PageDelimiter",ExpressionUUID->"1dd072c2-e373-4b59-ba40-97a6db9af14e"],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[
     MatchQ[
      CurrentValue[
       EvaluationNotebook[], {
       TaggingRules, "Openers", "PrimaryExamplesSection"}, Open], 
      Alternatives[True, Open]], 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]],
   ImageSizeCache->{
    13.600000000000001`, {4.251494140625001, 9.348505859375}}]],
  ExpressionUUID->"2e71e5ab-6710-4e5a-83e9-fa70156bc414"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"7e4ec095-4f4f-4696-8c07-05ad3916e06e"],
 "Examples",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(1)", "ExampleCount",ExpressionUUID->
  "1b0e125e-46c4-497a-a1dd-4b45e148dbf2"]
}], "PrimaryExamplesSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->587736311,ExpressionUUID->"2eb958c0-f51c-4782-95d2-103fd47bcc8a"],

Cell[BoxData[
 RowBox[{"Needs", "[", "\"\<WolframInstitute`Puzzles`\>\"", "]"}]], "Input", \
"ExampleInitialization",
 CellLabel->"In[1]:=",
 CellID->1969679695,ExpressionUUID->"503b22d3-4b50-4561-9658-3c5c15b02ae0"],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[CurrentValue[
       EvaluationCell[], "CellGroupOpen"] =!= Closed, 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]]]],ExpressionUUID->
  "f5d8d3b9-cebb-4ae1-a376-d9714451f8a1"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"63178dd7-f286-42b7-ae95-1625ce2af38a"],
 "Basic Examples",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(1)", "ExampleCount",ExpressionUUID->
  "d673ca6d-e56c-44c5-bd65-a660164fffa4"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1806886424,ExpressionUUID->"b343ca9f-00b7-4f1e-b39b-cc627abd1b64"],

Cell["Recover a Nicodemus cipher with no key, given the period:", \
"ExampleText",ExpressionUUID->"d655fd3d-ed96-4b91-a32e-18f4926af85b"],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{
  "pt", " ", "=", 
   " ", "\"\<\
THENEEDLELIESHIDDENWITHINTHEOLDSTONEBARNBESIDETHEALPINEROADWHERETHEWHITESMITHO\
NCELIVEDANDWORKEDFORMANYQUIETYEARS\>\""}], ";"}], "\n", 
 RowBox[{
  RowBox[{"NicodemusSolve", "[", 
   RowBox[{
    RowBox[{"NicodemusCipher", "[", 
     RowBox[{"pt", ",", " ", "\"\<PORTAL\>\""}], "]"}], ",", " ", 
    RowBox[{"\"\<Period\>\"", " ", "->", " ", "6"}]}], "]"}], 
  "[", "\"\<Key\>\"", "]"}]}], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"4dc15ab6-01b7-4fde-92d2-c558568c878c"],

Cell[BoxData["\<\"PORTAL\"\>"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"aa63c047-6a93-4252-8696-293ae604eb66"]
}, Open  ]]
}, Open  ]]
}, Open  ]],

Cell[BoxData[GridBox[{
   {
    DynamicBox[FEPrivate`ImportImage[
      FrontEnd`FileName[{"Documentation", "FooterIcons"}, 
       "RelatedFunction.png"]],
     ImageSizeCache->{50., {26.47265625, 33.52734375}}], GridBox[{
      {
       StyleBox[
        RowBox[{"See", " ", "Also"}], "SeeAlsoSection"]},
      {Cell[TextData[{
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["NicodemusCipher"]], 
           "paclet:WolframInstitute/Puzzles/ref/NicodemusCipher", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "cdfba457-bc3c-4a1a-a588-2f497a4f6219"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["VigenereSolve"]], 
           "paclet:WolframInstitute/Puzzles/ref/VigenereSolve", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "f17d7d4c-b766-4e8e-b856-41d52ceb40be"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["ColumnarTranspositionSolve"]], 
           "paclet:WolframInstitute/Puzzles/ref/ColumnarTranspositionSolve", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "af7c5fab-ae4b-4d50-8064-0feea270a490"]
       }], "SeeAlso",ExpressionUUID->"5b5a0c1d-d92e-4524-b7b6-08c33a3f1d6b"]}
     }]}
  }]], "SeeAlsoSection",ExpressionUUID->"470b9e61-ff01-4291-a03a-\
dc9642f12e6f"],

Cell[BoxData[GridBox[{
   {
    DynamicBox[FEPrivate`ImportImage[
      FrontEnd`FileName[{"Documentation", "FooterIcons"}, "RelatedGuide.png"]],
     ImageSizeCache->{50., {26.47265625, 33.52734375}}], GridBox[{
      {
       StyleBox[
        RowBox[{"Related", " ", "Guides"}], "MoreAboutSection"]},
      {
       RowBox[{"\[FilledVerySmallSquare]", Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["Search"]], 
           "paclet:WolframInstitute/Puzzles/guide/Search"},
          "RefLinkPlain",
          BaseStyle->{"MoreAbout"}]], "MoreAbout",ExpressionUUID->
         "bd01aede-2844-45de-9dde-276e789436c9"]}]}
     }]}
  }]], "MoreAboutSection",ExpressionUUID->"37812024-5dfd-488a-b30b-\
4a1f5169cdc0"],

Cell[" ", "FooterCell",ExpressionUUID->"5d38c9f1-8756-4e7c-8027-0c42334a359c"]
},
Saveable->False,
ScreenStyleEnvironment->"Working",
WindowSize->{900, 830},
WindowMargins->{{0, Automatic}, {Automatic, 0}},
WindowTitle->"NicodemusSolve",
TaggingRules->{
 "ModificationHighlight" -> False, "ColorType" -> "", "LinkTrails" -> "", 
  "ExampleCounter" -> 1, 
  "Openers" -> {
   "PrimaryExamplesSection" -> Open, "ExampleSection" -> {"0" -> Open}, 
    "AllOptsTable" -> Closed}, "NewStyles" -> True, 
  "CitationPopupData" -> $Failed, "ShowCitation" -> False, "HasOptions" -> 
  True, "RootCaptions" -> "", "HeaderCoreAreaLink" -> {}, 
  "Metadata" -> {
   "built" -> "{2026, 8, 27, 0, 11, 44.039688}", 
    "history" -> {"XX", "", "", ""}, "context" -> "WolframInstitute`Puzzles`",
     "keywords" -> {}, "specialkeywords" -> {}, 
    "tutorialcollectionlinks" -> {}, "index" -> True, "label" -> 
    "Wolfram Institute/ Puzzles Symbol", "language" -> "en", "paclet" -> 
    "WolframInstitute/Puzzles", "status" -> "None", "summary" -> 
    "PackageLink[NicodemusSolve,paclet : \
WolframInstitute/Puzzles/ref/NicodemusSolve, WolframInstitute/Puzzles Package \
Symbol][text] recovers a PackageLink[NicodemusCipher, paclet : \
WolframInstitute/Puzzles/ref/NicodemusCipher, WolframInstitute/Puzzles \
Package Symbol] from ciphertext alone, giving an Association with the best \
Plaintext, Key, Period and Score.", "synonyms" -> {}, "tabletags" -> {}, 
    "title" -> "NicodemusSolve", "titlemodifier" -> "", "metadescription" -> 
    "", "windowtitle" -> "NicodemusSolve", "type" -> "Symbol", "uri" -> 
    "WolframInstitute/Puzzles/ref/NicodemusSolve", "WorkflowDockedCell" -> 
    ""}, "SearchTextTranslated" -> ""},
CellContext->CellGroup,
FrontEndVersion->"15.0 for Mac OS X ARM (64-bit) (May 19, 2026)",
StyleDefinitions->FrontEnd`FileName[{"Wolfram"}, "Reference.nb"],
ExpressionUUID->"90b53ae7-d511-4cdd-8b40-31941e789899"
]
(* End of Notebook Content *)

(* Internal cache information *)
(*CellTagsOutline
CellTagsIndex->{}
*)
(*CellTagsIndex
CellTagsIndex->{}
*)
(*NotebookFileOutline
Notebook[{
Cell[582, 21, 5444, 135, 70, "AnchorBarGrid",ExpressionUUID->"9b8d2b41-e7be-4a77-82ac-16af185448fa",
 CellID->1],
Cell[6029, 158, 107, 0, 70, "ContextNameCell",ExpressionUUID->"49220407-153e-40ef-8f3f-d53b0894c042"],
Cell[CellGroupData[{
Cell[6161, 162, 557, 14, 70, "ObjectNameGrid",ExpressionUUID->"1ae1f3b4-2450-4a36-9e2f-d12c82666bfe"],
Cell[6721, 178, 1944, 49, 70, "Usage",ExpressionUUID->"a9b8cd21-bb23-4d4b-9e22-b05e3e7983ae"]
}, Open  ]],
Cell[CellGroupData[{
Cell[8702, 232, 1442, 34, 70, "NotesSection",ExpressionUUID->"6ab83b81-3192-4813-8b9c-d9dc1464060d",
 CellGroupingRules->{"SectionGrouping", 50},
 CellID->26739562],
Cell[10147, 268, 388, 6, 70, "Notes",ExpressionUUID->"7ef333fa-8c43-4f1a-9ec2-439c6e69b1d5"],
Cell[10538, 276, 778, 18, 70, "Notes",ExpressionUUID->"aa430e7e-27c5-47af-b72d-cdd326a1b694"],
Cell[11319, 296, 320, 6, 70, "Notes",ExpressionUUID->"403d41e1-2914-439e-b736-4a637a97d086"],
Cell[11642, 304, 216, 3, 70, "Notes",ExpressionUUID->"faec3570-0d7f-4efd-8d49-7778a487fde5"]
}, Closed]],
Cell[11873, 310, 80, 0, 70, "PageDelimiter",ExpressionUUID->"1dd072c2-e373-4b59-ba40-97a6db9af14e"],
Cell[CellGroupData[{
Cell[11978, 314, 1400, 37, 70, "PrimaryExamplesSection",ExpressionUUID->"2eb958c0-f51c-4782-95d2-103fd47bcc8a",
 CellID->587736311],
Cell[13381, 353, 216, 4, 70, "Input",ExpressionUUID->"503b22d3-4b50-4561-9658-3c5c15b02ae0",
 CellID->1969679695],
Cell[CellGroupData[{
Cell[13622, 361, 1236, 31, 70, "ExampleSection",ExpressionUUID->"b343ca9f-00b7-4f1e-b39b-cc627abd1b64",
 CellID->1806886424],
Cell[14861, 394, 137, 1, 70, "ExampleText",ExpressionUUID->"d655fd3d-ed96-4b91-a32e-18f4926af85b"],
Cell[CellGroupData[{
Cell[15023, 399, 596, 15, 70, "Input",ExpressionUUID->"4dc15ab6-01b7-4fde-92d2-c558568c878c"],
Cell[15622, 416, 120, 1, 70, "Output",ExpressionUUID->"aa63c047-6a93-4252-8696-293ae604eb66"]
}, Open  ]]
}, Open  ]]
}, Open  ]],
Cell[15781, 422, 2072, 53, 70, "SeeAlsoSection",ExpressionUUID->"470b9e61-ff01-4291-a03a-dc9642f12e6f"],
Cell[17856, 477, 740, 19, 70, "MoreAboutSection",ExpressionUUID->"37812024-5dfd-488a-b30b-4a1f5169cdc0"],
Cell[18599, 498, 78, 0, 70, "FooterCell",ExpressionUUID->"5d38c9f1-8756-4e7c-8027-0c42334a359c"]
}
]
*)

(* End of internal cache information *)

