[{"data":1,"prerenderedAt":315},["ShallowReactive",2],{"navigation_docs":3,"-ciphers-adfgvx":116,"-ciphers-adfgvx-surround":310},[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":96,"body":118,"description":303,"extension":304,"links":305,"meta":306,"navigation":307,"path":97,"seo":308,"stem":98,"__hash__":309},"docs\u002F2.ciphers\u002F14.adfgvx.md",{"type":119,"value":120,"toc":301},"minimark",[121,125,137,289,297],[122,123],"cipher-facts",{"name":124},"adfgvx",[126,127,128,129,132,133,136],"p",{},"The German field cipher of 1918 had two steps. First a 6×6 substitution that turns every letter or digit into a pair from ",[130,131,96],"code",{},", six letters picked because they sound nothing alike in Morse. Then a columnar transposition with a second key. This implementation is the first step only. The grid holds A to Z and 0 to 9, ",[130,134,135],{},"key"," reorders it with the keyword first, duplicates removed. Anything that is not a letter or a digit is dropped.",[138,139,144],"pre",{"className":140,"code":141,"language":142,"meta":143,"style":143},"language-ts shiki shiki-themes github-light github-light poimandres","const adfgvx = create(\"adfgvx\");\nadfgvx.encode(\"ATTACK AT 1200\").text; \u002F\u002F \"AAGDGDAAAFDVAAGDVGVVVFVF\"\nadfgvx.encode(\"ATTACK AT 1200\", { key: \"PRIVACY\" }).text; \u002F\u002F \"AVGGGGAVAXFFAVGGVGVVVFVF\"\nadfgvx.decode(\"AAGDGDAAAFDVAAGDVGVVVFVF\").text; \u002F\u002F \"ATTACKAT1200\"\n","ts","",[130,145,146,182,216,261],{"__ignoreMap":143},[147,148,151,155,159,162,166,170,174,177,179],"span",{"class":149,"line":150},"line",1,[147,152,154],{"class":153},"s1TYA","const",[147,156,158],{"class":157},"saoiD"," adfgvx",[147,160,161],{"class":153}," =",[147,163,165],{"class":164},"sULi6"," create",[147,167,169],{"class":168},"sKlNE","(",[147,171,173],{"class":172},"scVjq","\"",[147,175,124],{"class":176},"sQ7BG",[147,178,173],{"class":172},[147,180,181],{"class":168},");\n",[147,183,185,188,191,194,196,198,201,203,206,209,212],{"class":149,"line":184},2,[147,186,124],{"class":187},"spVlQ",[147,189,190],{"class":168},".",[147,192,193],{"class":164},"encode",[147,195,169],{"class":168},[147,197,173],{"class":172},[147,199,200],{"class":176},"ATTACK AT 1200",[147,202,173],{"class":172},[147,204,205],{"class":168},").",[147,207,208],{"class":187},"text",[147,210,211],{"class":168},"; ",[147,213,215],{"class":214},"sjhu3","\u002F\u002F \"AAGDGDAAAFDVAAGDVGVVVFVF\"\n",[147,217,219,221,223,225,227,229,231,233,236,240,243,246,249,251,254,256,258],{"class":149,"line":218},3,[147,220,124],{"class":187},[147,222,190],{"class":168},[147,224,193],{"class":164},[147,226,169],{"class":168},[147,228,173],{"class":172},[147,230,200],{"class":176},[147,232,173],{"class":172},[147,234,235],{"class":168},", {",[147,237,239],{"class":238},"snHMy"," key",[147,241,242],{"class":168},":",[147,244,245],{"class":172}," \"",[147,247,248],{"class":176},"PRIVACY",[147,250,173],{"class":172},[147,252,253],{"class":168}," }).",[147,255,208],{"class":187},[147,257,211],{"class":168},[147,259,260],{"class":214},"\u002F\u002F \"AVGGGGAVAXFFAVGGVGVVVFVF\"\n",[147,262,264,266,268,271,273,275,278,280,282,284,286],{"class":149,"line":263},4,[147,265,124],{"class":187},[147,267,190],{"class":168},[147,269,270],{"class":164},"decode",[147,272,169],{"class":168},[147,274,173],{"class":172},[147,276,277],{"class":176},"AAGDGDAAAFDVAAGDVGVVVFVF",[147,279,173],{"class":172},[147,281,205],{"class":168},[147,283,208],{"class":187},[147,285,211],{"class":168},[147,287,288],{"class":214},"\u002F\u002F \"ATTACKAT1200\"\n",[126,290,291,292,296],{},"Want the full cipher? Pipe the output through ",[293,294,295],"a",{"href":109},"columnar"," with the transposition key. Reverse the order to decode.",[298,299,300],"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 pre.shiki code .snHMy, html code.shiki .snHMy{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#ADD7FF}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":143,"searchDepth":184,"depth":184,"links":302},[],"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.","md",null,{},true,{"title":96,"description":303},"f25B1GRhXInU6rIcrxw_TlPaP235PKpwM_pfkhFjgaw",[311,313],{"title":92,"path":93,"stem":94,"description":312,"children":-1},"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.",{"title":100,"path":101,"stem":102,"description":314,"children":-1},"Polybius coordinates written in two rows, read across by period, turned back into letters. Fractionation and transposition in one.",1788614951661]