[{"data":1,"prerenderedAt":310},["ShallowReactive",2],{"navigation_docs":3,"-ciphers-tap-code":116,"-ciphers-tap-code-surround":305},[4,36],{"title":5,"path":6,"stem":7,"children":8,"icon":35},"Guide","\u002Fguide","1.guide\u002F01.index",[9,11,15,19,23,27,31],{"title":10,"path":6,"stem":7},"Getting Started",{"title":12,"path":13,"stem":14},"Encode and decode","\u002Fguide\u002Ftransform","1.guide\u002F02.transform",{"title":16,"path":17,"stem":18},"Analysis","\u002Fguide\u002Fanalysis","1.guide\u002F03.analysis",{"title":20,"path":21,"stem":22},"CLI","\u002Fguide\u002Fcli","1.guide\u002F04.cli",{"title":24,"path":25,"stem":26},"Agents","\u002Fguide\u002Fagents","1.guide\u002F05.agents",{"title":28,"path":29,"stem":30},"Custom ciphers","\u002Fguide\u002Fcustom","1.guide\u002F06.custom",{"title":32,"path":33,"stem":34},"Playground","\u002Fguide\u002Fplayground","1.guide\u002F07.playground","i-solar-book-2-linear",{"title":37,"path":38,"stem":39,"children":40,"icon":115},"Ciphers","\u002Fciphers","2.ciphers\u002F00.index",[41,43,47,51,55,59,63,67,71,75,79,83,87,91,95,99,103,107,111],{"title":42,"path":38,"stem":39},"Overview",{"title":44,"path":45,"stem":46},"Caesar","\u002Fciphers\u002Fcaesar","2.ciphers\u002F01.caesar",{"title":48,"path":49,"stem":50},"ROT-13","\u002Fciphers\u002Frot13","2.ciphers\u002F02.rot13",{"title":52,"path":53,"stem":54},"ROT-47","\u002Fciphers\u002Frot47","2.ciphers\u002F03.rot47",{"title":56,"path":57,"stem":58},"Atbash","\u002Fciphers\u002Fatbash","2.ciphers\u002F04.atbash",{"title":60,"path":61,"stem":62},"Affine","\u002Fciphers\u002Faffine","2.ciphers\u002F05.affine",{"title":64,"path":65,"stem":66},"Vigenère","\u002Fciphers\u002Fvigenere","2.ciphers\u002F06.vigenere",{"title":68,"path":69,"stem":70},"Trithemius","\u002Fciphers\u002Ftrithemius","2.ciphers\u002F07.trithemius",{"title":72,"path":73,"stem":74},"Alberti","\u002Fciphers\u002Falberti","2.ciphers\u002F08.alberti",{"title":76,"path":77,"stem":78},"Playfair","\u002Fciphers\u002Fplayfair","2.ciphers\u002F09.playfair",{"title":80,"path":81,"stem":82},"Polybius square","\u002Fciphers\u002Fpolybius","2.ciphers\u002F10.polybius",{"title":84,"path":85,"stem":86},"Morse code","\u002Fciphers\u002Fmorse","2.ciphers\u002F11.morse",{"title":88,"path":89,"stem":90},"Bacon's cipher","\u002Fciphers\u002Fbacon","2.ciphers\u002F12.bacon",{"title":92,"path":93,"stem":94},"Tap code","\u002Fciphers\u002Ftap-code","2.ciphers\u002F13.tap-code",{"title":96,"path":97,"stem":98},"ADFGVX","\u002Fciphers\u002Fadfgvx","2.ciphers\u002F14.adfgvx",{"title":100,"path":101,"stem":102},"Bifid","\u002Fciphers\u002Fbifid","2.ciphers\u002F15.bifid",{"title":104,"path":105,"stem":106},"Rail fence","\u002Fciphers\u002Frail-fence","2.ciphers\u002F16.rail-fence",{"title":108,"path":109,"stem":110},"Columnar transposition","\u002Fciphers\u002Fcolumnar","2.ciphers\u002F17.columnar",{"title":112,"path":113,"stem":114},"Enigma M3","\u002Fciphers\u002Fenigma","2.ciphers\u002F18.enigma","i-solar-library-linear",{"id":117,"title":92,"body":118,"description":298,"extension":299,"links":300,"meta":301,"navigation":302,"path":93,"seo":303,"stem":94,"__hash__":304},"docs\u002F2.ciphers\u002F13.tap-code.md",{"type":119,"value":120,"toc":296},"minimark",[121,125,129,289,292],[122,123],"cipher-facts",{"name":124},"tap-code",[126,127,128],"p",{},"The Polybius grid again, but the letter dropped is K, sharing a cell with C. Each letter is a row count and a column count, both 1 to 5, digits separated by spaces. Anything that is not a letter is dropped, spaces and punctuation included, and case doesn't matter.",[130,131,136],"pre",{"className":132,"code":133,"language":134,"meta":135,"style":135},"language-ts shiki shiki-themes github-light github-light poimandres","const tap = create(\"tap-code\");\ntap.encode(\"HELP\").text; \u002F\u002F \"2 3 1 5 3 1 3 5\"\ntap.encode(\"CK\").text; \u002F\u002F \"1 3 1 3\"\ntap.decode(\"1 3\").text; \u002F\u002F \"C\"\ntap.decode(\"2 3 1\"); \u002F\u002F throws, coordinate count must be even\n","ts","",[137,138,139,175,210,237,265],"code",{"__ignoreMap":135},[140,141,144,148,152,155,159,163,167,170,172],"span",{"class":142,"line":143},"line",1,[140,145,147],{"class":146},"s1TYA","const",[140,149,151],{"class":150},"saoiD"," tap",[140,153,154],{"class":146}," =",[140,156,158],{"class":157},"sULi6"," create",[140,160,162],{"class":161},"sKlNE","(",[140,164,166],{"class":165},"scVjq","\"",[140,168,124],{"class":169},"sQ7BG",[140,171,166],{"class":165},[140,173,174],{"class":161},");\n",[140,176,178,182,185,188,190,192,195,197,200,203,206],{"class":142,"line":177},2,[140,179,181],{"class":180},"spVlQ","tap",[140,183,184],{"class":161},".",[140,186,187],{"class":157},"encode",[140,189,162],{"class":161},[140,191,166],{"class":165},[140,193,194],{"class":169},"HELP",[140,196,166],{"class":165},[140,198,199],{"class":161},").",[140,201,202],{"class":180},"text",[140,204,205],{"class":161},"; ",[140,207,209],{"class":208},"sjhu3","\u002F\u002F \"2 3 1 5 3 1 3 5\"\n",[140,211,213,215,217,219,221,223,226,228,230,232,234],{"class":142,"line":212},3,[140,214,181],{"class":180},[140,216,184],{"class":161},[140,218,187],{"class":157},[140,220,162],{"class":161},[140,222,166],{"class":165},[140,224,225],{"class":169},"CK",[140,227,166],{"class":165},[140,229,199],{"class":161},[140,231,202],{"class":180},[140,233,205],{"class":161},[140,235,236],{"class":208},"\u002F\u002F \"1 3 1 3\"\n",[140,238,240,242,244,247,249,251,254,256,258,260,262],{"class":142,"line":239},4,[140,241,181],{"class":180},[140,243,184],{"class":161},[140,245,246],{"class":157},"decode",[140,248,162],{"class":161},[140,250,166],{"class":165},[140,252,253],{"class":169},"1 3",[140,255,166],{"class":165},[140,257,199],{"class":161},[140,259,202],{"class":180},[140,261,205],{"class":161},[140,263,264],{"class":208},"\u002F\u002F \"C\"\n",[140,266,268,270,272,274,276,278,281,283,286],{"class":142,"line":267},5,[140,269,181],{"class":180},[140,271,184],{"class":161},[140,273,246],{"class":157},[140,275,162],{"class":161},[140,277,166],{"class":165},[140,279,280],{"class":169},"2 3 1",[140,282,166],{"class":165},[140,284,285],{"class":161},"); ",[140,287,288],{"class":208},"\u002F\u002F throws, coordinate count must be even\n",[126,290,291],{},"Decoding checks that every coordinate is 1 to 5 and that they come in pairs, and the error names the position of the first bad one. Counting knocks by hand is easy enough to get wrong.",[293,294,295],"style",{},"html pre.shiki code .s1TYA, html code.shiki .s1TYA{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#91B4D5}html pre.shiki code .saoiD, html code.shiki .saoiD{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#E4F0FB}html pre.shiki code .sULi6, html code.shiki .sULi6{--shiki-light:#6F42C1;--shiki-default:#6F42C1;--shiki-dark:#E4F0FBD0}html pre.shiki code .sKlNE, html code.shiki .sKlNE{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#A6ACCD}html pre.shiki code .scVjq, html code.shiki .scVjq{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#A6ACCD}html pre.shiki code .sQ7BG, html code.shiki .sQ7BG{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#5DE4C7}html pre.shiki code .spVlQ, html code.shiki .spVlQ{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#E4F0FB}html pre.shiki code .sjhu3, html code.shiki .sjhu3{--shiki-light:#6A737D;--shiki-light-font-style:inherit;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#767C9DB0;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":135,"searchDepth":177,"depth":177,"links":297},[],"A 5×5 grid tapped as row then column, C and K sharing a cell. Prisoners of war in Vietnam used it through the walls.","md",null,{},true,{"title":92,"description":298},"wpsKgVhggg5HYT02uA-K0C0WwgLCrBIv59508kSf7UA",[306,308],{"title":88,"path":89,"stem":90,"description":307,"children":-1},"Five A or B per letter, the 26-letter variant, no separators. Made to hide in another text's typography.",{"title":96,"path":97,"stem":98,"description":309,"children":-1},"A 6×6 grid of letters and digits, each character written as two of A D F G V X. The fractionation half of the 1918 field cipher.",1788614951661]