[{"data":1,"prerenderedAt":575},["ShallowReactive",2],{"navigation_docs":3,"-ciphers":116,"-ciphers-surround":570},[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":37,"body":118,"description":563,"extension":564,"links":565,"meta":566,"navigation":567,"path":38,"seo":568,"stem":39,"__hash__":569},"docs\u002F2.ciphers\u002F00.index.md",{"type":119,"value":120,"toc":557},"minimark",[121,138,490,495,518,522],[122,123,124,125,129,130,133,134,137],"p",{},"Every cipher answers ",[126,127,128],"code",{},"encode"," and ",[126,131,132],{},"decode"," with the same ",[126,135,136],{},"CipherResult",". What changes is the alphabet it works on, the options it needs, and the small decisions that make a puzzle answer reproducible - which letters share a cell, what happens to a doubled pair, whether a space survives. Those decisions are the part nobody documents, so each page here does.",[139,140,141,164],"table",{},[142,143,144],"thead",{},[145,146,147,151,154,157,161],"tr",{},[148,149,150],"th",{},"Cipher",[148,152,153],{},"Family",[148,155,156],{},"Options",[148,158,160],{"align":159},"center","Self-inverse",[148,162,163],{},"Keyspace",[165,166,167,188,204,218,233,255,274,289,309,327,347,362,377,391,408,428,447,465],"tbody",{},[145,168,169,175,178,182,185],{},[170,171,172],"td",{},[173,174,44],"a",{"href":45},[170,176,177],{},"shift",[170,179,180],{},[126,181,177],{},[170,183,184],{"align":159},"✗",[170,186,187],{},"25",[145,189,190,194,196,198,201],{},[170,191,192],{},[173,193,48],{"href":49},[170,195,177],{},[170,197],{},[170,199,200],{"align":159},"✓",[170,202,203],{},"1",[145,205,206,210,212,214,216],{},[170,207,208],{},[173,209,52],{"href":53},[170,211,177],{},[170,213],{},[170,215,200],{"align":159},[170,217,203],{},[145,219,220,224,227,229,231],{},[170,221,222],{},[173,223,56],{"href":57},[170,225,226],{},"reflection",[170,228],{},[170,230,200],{"align":159},[170,232,203],{},[145,234,235,239,242,250,252],{},[170,236,237],{},[173,238,60],{"href":61},[170,240,241],{},"multiplicative",[170,243,244,246,247],{},[126,245,173],{},", ",[126,248,249],{},"b",[170,251,184],{"align":159},[170,253,254],{},"312",[145,256,257,261,264,269,271],{},[170,258,259],{},[173,260,64],{"href":65},[170,262,263],{},"polyalphabetic",[170,265,266],{},[126,267,268],{},"key",[170,270,184],{"align":159},[170,272,273],{},"26^key length",[145,275,276,280,282,284,286],{},[170,277,278],{},[173,279,68],{"href":69},[170,281,263],{},[170,283],{},[170,285,184],{"align":159},[170,287,288],{},"fixed",[145,290,291,295,297,304,306],{},[170,292,293],{},[173,294,72],{"href":73},[170,296,263],{},[170,298,299,246,301],{},[126,300,268],{},[126,302,303],{},"period",[170,305,184],{"align":159},[170,307,308],{},"keyed disk × period",[145,310,311,315,318,322,324],{},[170,312,313],{},[173,314,76],{"href":77},[170,316,317],{},"digraph",[170,319,320],{},[126,321,268],{},[170,323,184],{"align":159},[170,325,326],{},"25!",[145,328,329,334,337,342,344],{},[170,330,331],{},[173,332,333],{"href":81},"Polybius",[170,335,336],{},"fractionation",[170,338,339,341],{},[126,340,268],{}," optional",[170,343,184],{"align":159},[170,345,346],{},"1 or 25!",[145,348,349,354,356,358,360],{},[170,350,351],{},[173,352,353],{"href":85},"Morse",[170,355,336],{},[170,357],{},[170,359,184],{"align":159},[170,361,203],{},[145,363,364,369,371,373,375],{},[170,365,366],{},[173,367,368],{"href":89},"Bacon",[170,370,336],{},[170,372],{},[170,374,184],{"align":159},[170,376,203],{},[145,378,379,383,385,387,389],{},[170,380,381],{},[173,382,92],{"href":93},[170,384,336],{},[170,386],{},[170,388,184],{"align":159},[170,390,203],{},[145,392,393,397,399,403,405],{},[170,394,395],{},[173,396,96],{"href":97},[170,398,336],{},[170,400,401,341],{},[126,402,268],{},[170,404,184],{"align":159},[170,406,407],{},"36! or keyed",[145,409,410,414,416,423,425],{},[170,411,412],{},[173,413,100],{"href":101},[170,415,336],{},[170,417,418,420,421],{},[126,419,268],{}," optional, ",[126,422,303],{},[170,424,184],{"align":159},[170,426,427],{},"25! × period",[145,429,430,434,437,442,444],{},[170,431,432],{},[173,433,104],{"href":105},[170,435,436],{},"transposition",[170,438,439],{},[126,440,441],{},"rails",[170,443,184],{"align":159},[170,445,446],{},"~n",[145,448,449,454,456,460,462],{},[170,450,451],{},[173,452,453],{"href":109},"Columnar",[170,455,436],{},[170,457,458],{},[126,459,268],{},[170,461,184],{"align":159},[170,463,464],{},"n!",[145,466,467,471,474,485,487],{},[170,468,469],{},[173,470,112],{"href":113},[170,472,473],{},"rotor",[170,475,476,246,479,246,482],{},[126,477,478],{},"positions",[126,480,481],{},"rings",[126,483,484],{},"plugboard",[170,486,200],{"align":159},[170,488,489],{},"26^6 × plugboard",[491,492,494],"h2",{"id":493},"conventions-shared-by-all","Conventions shared by all",[496,497,498,506,512,515],"ul",{},[499,500,501,502,505],"li",{},"Latin alphabets are A to Z. Digits, punctuation, emoji and non-Latin letters pass through untouched unless ",[126,503,504],{},"stripNonAlpha"," is set, and they never advance a key.",[499,507,508,511],{},[126,509,510],{},"preserveCase"," is on by default. Lowercase in, lowercase out.",[499,513,514],{},"Playfair, Polybius and Bifid fold J into I. Tap code shares C and K. Bacon uses 26 letters, not the historical 24. Enigma is the Wehrmacht M3 with rotors I, II, III and reflector B.",[499,516,517],{},"Shift 0, one rail, a multiplier sharing a factor with 26 - an option that would make the cipher an identity or break the bijection is an error before the first letter. No silent pass.",[491,519,521],{"id":520},"families","Families",[122,523,524,528,529,532,533,536,537,540,541,544,545,548,549,552,553,556],{},[525,526,527],"strong",{},"Shift"," adds a constant to every letter. ",[525,530,531],{},"Reflection"," mirrors the alphabet. ",[525,534,535],{},"Multiplicative"," multiplies and adds modulo 26. ",[525,538,539],{},"Polyalphabetic"," changes the shift as it goes - by keyword, by position, or by turning a disk. ",[525,542,543],{},"Digraph"," works on pairs. ",[525,546,547],{},"Fractionation"," breaks a letter into coordinates or symbols and, in Bifid and ADFGVX, shuffles the pieces. ",[525,550,551],{},"Transposition"," moves letters without changing them. ",[525,554,555],{},"Rotor"," has one member, and that one has enough settings for the rest.",{"title":558,"searchDepth":559,"depth":559,"links":560},"",2,[561,562],{"id":493,"depth":559,"text":494},{"id":520,"depth":559,"text":521},"Eighteen ciphers in eight families. Each page has the options, the keyspace, the conventions and a vector you can check yourself.","md",null,{"icon":115},{"title":42},{"title":37,"description":563},"0zd64uw7m1Wm1tiONF5fHvpoATd4zxVzeth0BfYWFFY",[571,573],{"title":32,"path":33,"stem":34,"description":572,"children":-1},"The page behind ciphers.agntn.dev\u002Fplayground runs the library in your browser. What it can tell you and what it can't.",{"title":44,"path":45,"stem":46,"description":574,"children":-1},"Shift every letter by N. Default 3, keyspace 25, and the attack is all of them.",1788614951359]