[{"data":1,"prerenderedAt":366},["ShallowReactive",2],{"navigation_docs":3,"-ciphers-caesar":116,"-ciphers-caesar-surround":361},[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":44,"body":118,"description":355,"extension":356,"links":357,"meta":358,"navigation":186,"path":45,"seo":359,"stem":46,"__hash__":360},"docs\u002F2.ciphers\u002F01.caesar.md",{"type":119,"value":120,"toc":353},"minimark",[121,125,134,329,344,349],[122,123],"cipher-facts",{"name":124},"caesar",[126,127,128,129,133],"p",{},"Every letter moves ",[130,131,132],"code",{},"shift"," places down the alphabet and wraps from Z back to A. Default is 3, the one Suetonius says Caesar used. A shift is an integer from 1 to 25. Zero is the identity and 26 is zero again, both rejected.",[135,136,141],"pre",{"className":137,"code":138,"language":139,"meta":140,"style":140},"language-ts shiki shiki-themes github-light github-light poimandres","import { create } from \"@agntn\u002Fciphers\";\n\nconst caesar = create(\"caesar\");\ncaesar.encode(\"ATTACK AT DAWN\").text; \u002F\u002F \"DWWDFN DW GDZQ\"\ncaesar.encode(\"Hello, World!\", { shift: 7 }).text; \u002F\u002F \"Olssv, Dvysk!\"\ncaesar.decode(\"DWWDFN DW GDZQ\", { shift: 3 }).text; \u002F\u002F \"ATTACK AT DAWN\"\n","ts","",[130,142,143,181,188,217,251,292],{"__ignoreMap":140},[144,145,148,152,156,160,163,167,171,175,178],"span",{"class":146,"line":147},"line",1,[144,149,151],{"class":150},"sP0CR","import",[144,153,155],{"class":154},"sKlNE"," {",[144,157,159],{"class":158},"snHMy"," create",[144,161,162],{"class":154}," }",[144,164,166],{"class":165},"stCPd"," from",[144,168,170],{"class":169},"scVjq"," \"",[144,172,174],{"class":173},"sQ7BG","@agntn\u002Fciphers",[144,176,177],{"class":169},"\"",[144,179,180],{"class":154},";\n",[144,182,184],{"class":146,"line":183},2,[144,185,187],{"emptyLinePlaceholder":186},true,"\n",[144,189,191,195,199,202,205,208,210,212,214],{"class":146,"line":190},3,[144,192,194],{"class":193},"s1TYA","const",[144,196,198],{"class":197},"saoiD"," caesar",[144,200,201],{"class":193}," =",[144,203,159],{"class":204},"sULi6",[144,206,207],{"class":154},"(",[144,209,177],{"class":169},[144,211,124],{"class":173},[144,213,177],{"class":169},[144,215,216],{"class":154},");\n",[144,218,220,223,226,229,231,233,236,238,241,244,247],{"class":146,"line":219},4,[144,221,124],{"class":222},"spVlQ",[144,224,225],{"class":154},".",[144,227,228],{"class":204},"encode",[144,230,207],{"class":154},[144,232,177],{"class":169},[144,234,235],{"class":173},"ATTACK AT DAWN",[144,237,177],{"class":169},[144,239,240],{"class":154},").",[144,242,243],{"class":222},"text",[144,245,246],{"class":154},"; ",[144,248,250],{"class":249},"sjhu3","\u002F\u002F \"DWWDFN DW GDZQ\"\n",[144,252,254,256,258,260,262,264,267,269,272,275,278,282,285,287,289],{"class":146,"line":253},5,[144,255,124],{"class":222},[144,257,225],{"class":154},[144,259,228],{"class":204},[144,261,207],{"class":154},[144,263,177],{"class":169},[144,265,266],{"class":173},"Hello, World!",[144,268,177],{"class":169},[144,270,271],{"class":154},", {",[144,273,274],{"class":158}," shift",[144,276,277],{"class":154},":",[144,279,281],{"class":280},"siHFe"," 7",[144,283,284],{"class":154}," }).",[144,286,243],{"class":222},[144,288,246],{"class":154},[144,290,291],{"class":249},"\u002F\u002F \"Olssv, Dvysk!\"\n",[144,293,295,297,299,302,304,306,309,311,313,315,317,320,322,324,326],{"class":146,"line":294},6,[144,296,124],{"class":222},[144,298,225],{"class":154},[144,300,301],{"class":204},"decode",[144,303,207],{"class":154},[144,305,177],{"class":169},[144,307,308],{"class":173},"DWWDFN DW GDZQ",[144,310,177],{"class":169},[144,312,271],{"class":154},[144,314,274],{"class":158},[144,316,277],{"class":154},[144,318,319],{"class":280}," 3",[144,321,284],{"class":154},[144,323,243],{"class":222},[144,325,246],{"class":154},[144,327,328],{"class":249},"\u002F\u002F \"ATTACK AT DAWN\"\n",[126,330,331,332,336,337,340,341,225],{},"Case survives, punctuation and spaces stay put. Decode with the wrong shift and you get another Caesar, which is why ",[333,334,335],"a",{"href":17},"brute force"," exists: ",[130,338,339],{},"ciphers brute \"KHOOR ZRUOG\""," prints all 25, and shift 3 reads ",[130,342,343],{},"HELLO WORLD",[126,345,346,348],{},[333,347,48],{"href":49}," is this with the shift nailed to 13.",[350,351,352],"style",{},"html pre.shiki code .sP0CR, html code.shiki .sP0CR{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#5DE4C7}html pre.shiki code .sKlNE, html code.shiki .sKlNE{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#A6ACCD}html pre.shiki code .snHMy, html code.shiki .snHMy{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#ADD7FF}html pre.shiki code .stCPd, html code.shiki .stCPd{--shiki-light:#D73A49;--shiki-default:#D73A49;--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 .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 .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 .siHFe, html code.shiki .siHFe{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#5DE4C7}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":140,"searchDepth":183,"depth":183,"links":354},[],"Shift every letter by N. Default 3, keyspace 25, and the attack is all of them.","md",null,{},{"title":44,"description":355},"3HNjAkOEcxtiwvER-Mt0y-G6T1mykqh6uwQLNkTaizo",[362,364],{"title":42,"path":38,"stem":39,"description":363,"children":-1},"Eighteen ciphers in eight families. Each page has the options, the keyspace, the conventions and a vector you can check yourself.",{"title":48,"path":49,"stem":50,"description":365,"children":-1},"A Caesar with shift 13, so it is its own inverse. Encode twice and you are back.",1788614951661]