[{"data":1,"prerenderedAt":420},["ShallowReactive",2],{"navigation_docs":3,"-ciphers-enigma":116,"-ciphers-enigma-surround":417},[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":112,"body":118,"description":410,"extension":411,"links":412,"meta":413,"navigation":414,"path":113,"seo":415,"stem":114,"__hash__":416},"docs\u002F2.ciphers\u002F18.enigma.md",{"type":119,"value":120,"toc":408},"minimark",[121,125,154,397,404],[122,123],"cipher-facts",{"name":124},"enigma",[126,127,128,129,133,134,137,138,141,142,145,146,149,150,153],"p",{},"One fixed machine: rotors I, II and III in that order from left to right, reflector B, double step of the middle rotor included. Three settings are yours. ",[130,131,132],"code",{},"positions"," is the three letters in the windows at the start, ",[130,135,136],{},"rings"," the ring settings, both default ",[130,139,140],{},"AAA",". ",[130,143,144],{},"plugboard"," is up to thirteen letter pairs separated by spaces. Enigma is reciprocal, so ",[130,147,148],{},"decode"," is ",[130,151,152],{},"encode"," with the same settings. Only A to Z go through the machine and step the rotors, anything else passes through untouched.",[155,156,161],"pre",{"className":157,"code":158,"language":159,"meta":160,"style":160},"language-ts shiki shiki-themes github-light github-light poimandres","const enigma = create(\"enigma\");\nenigma.encode(\"AAAAA\").text; \u002F\u002F \"BDZGO\", the standard test vector\nenigma.encode(\"AAA\", { positions: \"ADU\" }).text; \u002F\u002F \"EQI\", a double-step vector\nconst settings = { positions: \"MCK\", rings: \"BDF\", plugboard: \"AV BS CG DL FU HZ IN KM OW RX\" };\nenigma.encode(\"SECRETMESSAGE\", settings).text; \u002F\u002F \"KILYLYNVKOEPS\"\nenigma.decode(\"KILYLYNVKOEPS\", settings).text; \u002F\u002F \"SECRETMESSAGE\"\n","ts","",[130,162,163,199,232,277,333,366],{"__ignoreMap":160},[164,165,168,172,176,179,183,187,191,194,196],"span",{"class":166,"line":167},"line",1,[164,169,171],{"class":170},"s1TYA","const",[164,173,175],{"class":174},"saoiD"," enigma",[164,177,178],{"class":170}," =",[164,180,182],{"class":181},"sULi6"," create",[164,184,186],{"class":185},"sKlNE","(",[164,188,190],{"class":189},"scVjq","\"",[164,192,124],{"class":193},"sQ7BG",[164,195,190],{"class":189},[164,197,198],{"class":185},");\n",[164,200,202,205,208,210,212,214,217,219,222,225,228],{"class":166,"line":201},2,[164,203,124],{"class":204},"spVlQ",[164,206,207],{"class":185},".",[164,209,152],{"class":181},[164,211,186],{"class":185},[164,213,190],{"class":189},[164,215,216],{"class":193},"AAAAA",[164,218,190],{"class":189},[164,220,221],{"class":185},").",[164,223,224],{"class":204},"text",[164,226,227],{"class":185},"; ",[164,229,231],{"class":230},"sjhu3","\u002F\u002F \"BDZGO\", the standard test vector\n",[164,233,235,237,239,241,243,245,247,249,252,256,259,262,265,267,270,272,274],{"class":166,"line":234},3,[164,236,124],{"class":204},[164,238,207],{"class":185},[164,240,152],{"class":181},[164,242,186],{"class":185},[164,244,190],{"class":189},[164,246,140],{"class":193},[164,248,190],{"class":189},[164,250,251],{"class":185},", {",[164,253,255],{"class":254},"snHMy"," positions",[164,257,258],{"class":185},":",[164,260,261],{"class":189}," \"",[164,263,264],{"class":193},"ADU",[164,266,190],{"class":189},[164,268,269],{"class":185}," }).",[164,271,224],{"class":204},[164,273,227],{"class":185},[164,275,276],{"class":230},"\u002F\u002F \"EQI\", a double-step vector\n",[164,278,280,282,285,287,290,292,294,296,299,301,304,307,309,311,314,316,318,321,323,325,328,330],{"class":166,"line":279},4,[164,281,171],{"class":170},[164,283,284],{"class":174}," settings",[164,286,178],{"class":170},[164,288,289],{"class":185}," {",[164,291,255],{"class":254},[164,293,258],{"class":185},[164,295,261],{"class":189},[164,297,298],{"class":193},"MCK",[164,300,190],{"class":189},[164,302,303],{"class":185},",",[164,305,306],{"class":254}," rings",[164,308,258],{"class":185},[164,310,261],{"class":189},[164,312,313],{"class":193},"BDF",[164,315,190],{"class":189},[164,317,303],{"class":185},[164,319,320],{"class":254}," plugboard",[164,322,258],{"class":185},[164,324,261],{"class":189},[164,326,327],{"class":193},"AV BS CG DL FU HZ IN KM OW RX",[164,329,190],{"class":189},[164,331,332],{"class":185}," };\n",[164,334,336,338,340,342,344,346,349,351,354,357,359,361,363],{"class":166,"line":335},5,[164,337,124],{"class":204},[164,339,207],{"class":185},[164,341,152],{"class":181},[164,343,186],{"class":185},[164,345,190],{"class":189},[164,347,348],{"class":193},"SECRETMESSAGE",[164,350,190],{"class":189},[164,352,353],{"class":185},", ",[164,355,356],{"class":204},"settings",[164,358,221],{"class":185},[164,360,224],{"class":204},[164,362,227],{"class":185},[164,364,365],{"class":230},"\u002F\u002F \"KILYLYNVKOEPS\"\n",[164,367,369,371,373,375,377,379,382,384,386,388,390,392,394],{"class":166,"line":368},6,[164,370,124],{"class":204},[164,372,207],{"class":185},[164,374,148],{"class":181},[164,376,186],{"class":185},[164,378,190],{"class":189},[164,380,381],{"class":193},"KILYLYNVKOEPS",[164,383,190],{"class":189},[164,385,353],{"class":185},[164,387,356],{"class":204},[164,389,221],{"class":185},[164,391,224],{"class":204},[164,393,227],{"class":185},[164,395,396],{"class":230},"\u002F\u002F \"SECRETMESSAGE\"\n",[126,398,399,400,403],{},"A letter in two plugboard pairs, a position that isn't three letters, a ring setting with a digit - each is an ",[130,401,402],{},"InvalidOptionError"," before the machine turns. And the machine never maps a letter to itself. That was its famous flaw, and it's the reason a known plaintext could be slid along a ciphertext at Bletchley.",[405,406,407],"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":160,"searchDepth":201,"depth":201,"links":409},[],"The Wehrmacht machine with rotors I, II, III and reflector B. Rotor positions, ring settings, a plugboard. Reciprocal, so one setting works both ways.","md",null,{},true,{"title":112,"description":410},"yAS8Op6Jn7jm_fSw92Q6cQaQC86EMfIP4UeY_5YJ5rM",[418,412],{"title":108,"path":109,"stem":110,"description":419,"children":-1},"The text fills rows under a keyword, columns are read out in the keyword's alphabetical order. Whitespace survives the round trip.",1788614951661]