From 5e456bd08d774ec5419b63e2e30108ffb8e4ace3 Mon Sep 17 00:00:00 2001 From: Neil Smith Date: Mon, 2 Apr 2018 11:27:16 +0100 Subject: [PATCH] Added files for spreadsheet use --- .../caesar_break_spreadsheet_summary.svg | 461 ++++++++++++++++++ blog-images/caesar_spreadsheet_summary | Bin 0 -> 10300 bytes blog-images/caesar_spreadsheet_summary.svg | 291 +++++++++++ caesar-cipher.ods | Bin 0 -> 28860 bytes 4 files changed, 752 insertions(+) create mode 100644 blog-images/caesar_break_spreadsheet_summary.svg create mode 100644 blog-images/caesar_spreadsheet_summary create mode 100644 blog-images/caesar_spreadsheet_summary.svg create mode 100644 caesar-cipher.ods diff --git a/blog-images/caesar_break_spreadsheet_summary.svg b/blog-images/caesar_break_spreadsheet_summary.svg new file mode 100644 index 0000000..64d3a0c --- /dev/null +++ b/blog-images/caesar_break_spreadsheet_summary.svg @@ -0,0 +1,461 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + Ciphertext + + + + Best key + + + + Plaintext + + + + Shift + + + + Alphabet and counts + + + + Shifted plaintext + + + + Alphabet + + + + Plaintext probability + + + + Alphabet + + + + Plaintext counts + + + + Total probability + + + + Best shift + + + + Deciphered plaintext + Dashboard + + + + + diff --git a/blog-images/caesar_spreadsheet_summary b/blog-images/caesar_spreadsheet_summary new file mode 100644 index 0000000000000000000000000000000000000000..19a197bf1a5c36e0acf6f93c4abfaf7f05734495 GIT binary patch literal 10300 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 + + + + + image/svg+xml + + + + + + + + + + + + + + + Original + + + + Key + + + + Plain and cipher text + + + + Shift + + + + Alphabet + + + + Shifted plaintext + + + + Encipher and decipher + Dashboard + + + + + diff --git a/caesar-cipher.ods b/caesar-cipher.ods new file mode 100644 index 0000000000000000000000000000000000000000..d7cfe16c64c3dc6eb9e9f723656e7ee95b4dbc13 GIT binary patch literal 28860 zcmd41bx>U2wk?di1oz+)++BjZySuv++#P~L(BQ#cf;$9)yGwA_;P7?#@7-JXeRbZc zdR6a_ld8RYX0zv7bB#IXn5$Q{k}M}u`G=;&nbVCHD*Zg1}3#^~zgVs32aYGrQjru4s! z>7^~OgN*?O2E1?qW2#xX+nYETTidxZx&4>P=;UA-rKBK_?(WIS z$?fg!+uIv(()ag>J%|G^FmzjKF<~{Ym9v~E@2pnrz*2jY&(AO`#rFYYblYwvi5V>J z^35^bRPMDsFH+fs4TqPSZ!R_63Pl)4V!Vl<4{r>LkH;6wFE6XVJ&7C@mJxGq(4|JA zXkuAh?^^eI>Nz9LMSrJVYQ2$Uc$c~`zS9rUj@6es5t`DvDA3Xs91F(RyLeRR>Ke^W z;?}f}6=xTg>+16~>fCpdStnPqunr6^55g4sHOp@8GExxM=QCR-G`_<}b;nDjk0OwO1dqgMtU;>btN3AL^&UR+u(ZKUS1Zy6+vy&FGEbfR{r1 z-R!sZk141jq(whX3Mg>Oe&0Isj~|k*qXd6OA>ES+BXJ|dn+LK&)4|Hc=tzW?V3iT# z^to`9eJbK%8#R74jPr_xgAH@{Ako(FsNhQ>Hc(J2$FkmruF#84_-qkxQX##Zsq}bi zz8QTh&_@0HM*Ll>p5#+T7i@gqg*dB%GsBO`1YVehhBU-@L|2rTI4ED^pJdAA76yr- zh3KgQVezVX>Ql3MQkB_1lD;s$)}?^sq0@)NJ-Ga0FLWhxg~WI1C3BI+vQ{EAN@V(L z9n_Sr^h7#p^$-#?%qCXsb857RmO)N&LJ3pmn?Ee9h|jAE`w`BA{vdS7dqNlv6Fhya zNOYv&mIBRS%cV4>myh+=XbuLfE$r{H1MCqwfuc4-+!bD{ldf2G3PmaU7VJAj5v{Z= zTGOvQx%2u`tQOsRj`MP(inQq*h*|o}efph4AFzA#(LNEWOOSXhr1*42l7m?%NqgIq zRNjks77<3dV3i*_MNK^|q_#jUB+8m-I5(T$KM^@FKJ)6Ek28r729NnxdLh46-6ef3 zEf@HQSO3uK9k*mnO_FF?9YeJnL#3X@pGkFeFd=`*_$!YS{(Qp24Ie4;!_K>i zBKFM{MDA&Sd|W}$MJT&q@+E_C7<3_`*IXh7L&>NQskCe2<_(s0?niesJ$i#-faoDON19Vr;NMB|In(? zTPl1JcpogeZqLBk^Q7c9Y`?tq09()bqd z(7*7$je^O8mD0`3mx198c_CXD+y=8FXTtjhkuy+lQF(sbRvLnmG?D6#6HB_Z7{Z(^ z!fnC z)`?b#Y?^r}8G`TK{Is~sS6lzU{?Hn!eH!bw7g_^5y5>gad+0NA1+LHs7qw8%^;WEO zo^|&%-HlnM3Y!|2o)?V%P45=foN||0+`Sld+ILIM_gfCnPe(j&ghAq%S&eTvwq0t< z>dv2#WmL~ZUtQPj1;hkK=*`crX7q+vs3J18@)tvvXg_zXxaaVh8pn&YwOyc7pZS#CW zIntOCW^)?>jr~A*s&HmXxs-ayPcq^_0%&cFuQrTwSc&Dg@Sj!68cSTJuIhbbHhUU+ z)6u?-(ey(5s*>a0p+b}#Y@Sdll@OJ{ErLNMLMRk_QfV=AYK=a&-Caj!vZ`Tf*)xb$ zOU>b!D~{6)){@2TH542?(*88U53Af5g!)`Ag~8~FQ6G|GD&T@9%9aH2nNeLC68cC| z>PYt`7q@p!pm59$d{k)pVyk^{bLXN2JxI;m`U@L;IfWiZmd$~YdiB0+gyC9wj>h}m zU7W@e+bK0ijnoz;@$rf*v~<}CU&5k6xuFVUpbA!$HlbzZoSL^a{0}k#?LS?^-4GU9 zt(GF$unhq&LLIW{#B9UeJftdLNDH%Mapr>}+!hkx6^#i+gBL%-s*~4*)S~1@V+PUV zH%x$S%Z-6gnOOhqG3Qj%?fNlCPm%5{W1K>-^q~fl$tQS`g1Oe92+JCe+9zt0geG$h z5_RaORh9H5xU`vsz>7i8r)_X?*x{&D0{-bp3Cz(Y7?NXaH4TG#=iFg;|Fn@Yv!)(a zeGB_NHrAdGS8xeLCw}yjiM`zM*7820%CX76?6N<xk09r>{Yn9=u%B&OXYGJ7YAyV9@a3m4iOj#m#>uwq9Ro2 zz7jc?{I#N>;G;;A4uSHIdwvnKNlull$!ceIAZ77nN6$ZNio@8GCl_xElC)ZtP1-7< zGtHa)eRQ~Cz)$$phcd(zzMCSXeir3MmLo+y^KU=@@EzPDhvO* zHrA`>j}_5$^7V~+`mNq}A$rWsGkH@@s6eCmGNj??tw zMh=P!*^q8i1(#Q+*E?5Z`@h{1Ma>BB9fVVybOE;W8^NImxI1C>;)-570nwr47V%bJ zzJ2N~9?Qj%t1C=XV-=MO#e_yM2A|~kF88zi#700pls@D()Czs%sjOg8Jm8P)l*SAC zO>z93PBRh>KO5QTgpQI0lXtb0v@xc!gv)k(xR7`zjvX{By7|s=v{FW03!#h-EQcj; z5c{N*b&JHUiS>}1zGh4)3NAH0WoPodWp405bzlA@gv-n zFfAyuBsEgZHHh^Pzm6|_hD@pKT_M=v%8gt3qY>~|b;^}APQm_qPzqpsOnAyed zBt__~WQ^1E3L{n1^|SZp7Mb@pM1A-7!MpV3OhFGSj!{F1sG~p=S84-eq0wZQS?FOa zbkO0(%*!);U;|PVY}M z*k#fg&BbL;VpDNQyQUbzF+7@;iiKBaZu(0C4`#XT25nBQ)R2!;ZtI^&^MWi0r047I ze$tOe(bvnDE2y%zuq8~_NzadsoJd(Emy;LRlQPKjo_w2bei;^7nY*WHyHIm`vcVfM z3Ob4*6~|Cif6mGcZEbH=>(H07OON&#CL6S_rabm&Qg1mx@KWT#aigE<8w%f}9%T0U*4~$$?6c)GdWW|vEoL4LlMLI) zhEQBNGvR!M*r;OYCa>|$DwWu;N!q3Imd-7rXdbFabQ`#z1izZ!{>~|-z~H?*Pbr~O z6$*yRSusfZNjaP+6KNW89&-_(M^SU`tFl&R^R5~>SwXvY#lG8G`q$fWPNJo7S~PL0 zY3Ry@PcrEA7jhsm*r#Wc;>n_lL&a4Yh^rZSNKRUKIZTdZwMC)nAi`L)=*VDg4k?(* z`Sf?6U^OI@sjRO3{m?_L&J?eL`BSyH(%z}>Is_dzKkd}^Xi6@8$jw=jj{lzV^R4%c z(c2?+)Ma&zk24(1>5{+x8bb>?Z}SnVHK_O8n|Hvb;#EImh_P0!3vc&0Yq8_ErXh@_ zXr>zo5%BQNt6m-pHrmkPUpn4!Z^W{Enjyto89INN<4thQLpt+j;z4?m>J+n~cV{h_ z{s?c6S2@1?rK7)XbxL;D%gpx|NYgm{A|F*;Y+M97E%u=;}@ryZnt%sMm6NFB&BCR>slpLWTE~IovWRfRy`b2%gH^>2^Qk zi<88ByRZL9<*ut8c<;vBagVt9nTcWN<7P7pG42tYZqqw@#o2uRdZEp;#B?_YdVvpH z!ZVz0WBWiq0lB!AB}&`PpRoL!KhyrK^A$RWs}?1Wp`VPaR{RN7yf~*)ZTVW}-IYCi zeWu$<2TDmdn$t^SO|o$BKC2_LvdtTvspe0Q$Ce^{jt`(ExXrfglu(FqW>KX{ro0x-dQEHF z*RqgHQbq>FpB%sW#LjbkVAFVO-iOfRE5Xu_c?Hgd0bkWGJW_Cee(X|L`TiYkFW`g4 zSUYBtun(3UrXmB;gIC^c+?8O%vsaceL;GWr%r>w<=X^cf2g+lb_?cnT|&c@Jp)1uTfpR z6C}Mk7Rj|2b;2?^uB{y(otNZ^GfC%d{&g>3dCzSr8Fz02L`95gO{TgMSqoEdO7+H) zNH(hHxa%cRFh9O5+7sHasPeTw&Rp~i%eHDw@*e%;K0~KlkdIssROUoh+g-5@oxJwP zA2tnjbM{A+QvznQ$$ovgs zAf0p;hlS)yn*|h+U?}9HLvah%lzAThCx$rJ8FL-3O>vzUSj*&uCj7- z61p}!Je(+&K|@*EUwofvvOS&sZ=G^0Iu6b6>O|N$+-U$!*o=RH347NuTVHW>TkETiRk!5$mYH~TVdRCvrBm5zY4_@REaEo1z)Nz-pufKP#aovE5ifPeX~e}n)-)X~Ah+S1(xbTa44%4BS6 zYHnu^_^+c2)Bo8M|6h2zx*5BM`Jhhe;4S#S|D&PCu0Y5yZ_4=0f(FJ|31clHJg*8le-hp_210) zuM+6w;%Mn&?)pCx0S5;MI+_K*_uv0ON3-T`#*AL}c5z8Ujv>q+2Jih5b}hm}LM5W0 z#g3;wsibQhWApqCYvbUomme8s3J?*iKq7iQ_w>J*nD9uKfwpW^z|Tphh?Wk_Bp`MF zmVDom?j-6lC~BcV{VNfnKMSD=mF|}QP^YQT^b>X5{2Vhi(R`(dq(Etjgh102k34Ll z@=uzwZrAH0KY8$#=C~DgGduWS9_?ZIy!pYKt!;HS-=SdDmiV}(3ZST(6(2U01o*z1 z#s0**d%*Rs)g5w1`17SemM*l7>+^8+ci9ns#7Xp3Np!v8JO*FsXzO;rSTcgXlpoWq zj&^nFk})-qV2aB40^+|+nA}}?eC-w@-0^=0irSCkxS(3=4aOWu(4tY{z5H}`YZWNI z`7L`ui3+pcP}rA{CGpJo5l=i`Mt+4#-%#E4beu|nO3Ccf7PIxW-mwx z91P420u1b*s`*!-0}rNM-M-kFy8>Z9)3bM6BLbgn)S{`JPo7NN~aNvhj4=b#)(^va^2S}vTs_z;#2+w`ehTVSMh^% z(JD#RCYal9gPmCNPL;4#a!0AzGEGwE`Vq3muI$689VbSly0|gtZIkq2KnK6D#XtVh3h%pv+W3$*__ zY|gSfF?-LcJ=)1{woiIRqrWc{QolLI$9>r39Jud%MdRHgCJx}cj272FK(B}X!7q_C z;XrHc%3sXRrH-T&qo2v=p8d0`8u`et;vp9;{u}9eQ?w7wt;>M58Z7?EPfjVV2LmMo zS+;Gr!u_yuClS0!Hy(kN#CO8Eg&4%Y6lP=kOcdpLXj# zUecQ}S#LB?z!vMmqg}aFC4jKQ>*Q*+BML@BUwJFg=R3YHY4TUyFjM|~H zuw$ar_2wJc|CDXAp=m0ZBV$R3rJ^%+Gu|sbid_ubIkD8e)i%)#>i9NpYF9FQrE`%@ zfY81V^JVF}4yWXVAoc2cKd}v4Vk7?j7aRoDXVw`AG#ySb4a6lBPBC zL$nU=f=5FdF+mBAa#VqRr)f)QZkQh9^%9??l2W;Mf*^Tu6_Z=&LF+g?p~BFT?v!1% zKVRg>UTQ=;G1$L;8lL_H<14Oh$JHX~w{TiS zzfqoo1(I^R#cbY^r$P8$nqMD@9 zAw&q@v4-n=L*)ALmhOhroxl8mhW|Ji_8z)_~uPf0;JPS7m z|APEp+w3OM*`NTjv2k=#Rs+$;MH;WzbE_X!pN3?{@UL{<1-L4U3VMaM=%bXZC`p-d zeM73W?TP!YGAA^&+#Guj853ctj#7g(&@!sM;<6$cmhn}7RBqaFqP#@@WX%!r0GvaO zja^_Fgein3`8p2>DpQB~V4h#DdJ4h5q_1Xs&`9?o*;RZV`;)(;L^l^!SwRHl_k|Bh(86w$s zJfEly#$0M#d4A8YxEt9~`uE31-p6P(a`3068qaMms|%^C&iYXXG!fSH4u`nwGOios z6{cDmEq}h9ho}}ty!LOUKsj?f3iwqxty$k#Obgg@6bZDO&bX}fxO-DGB-<3C-zY3I zL0Jj(Bw}=*H5%%DaJrCzL9N3utK@TDg<)tQUONL{QSCX>#(w?&81%h#*7xd~T}V~` zi$o?9Be}Q`q?6^&xygrfgV!ww)F}h~X#Y<3?qe}mL&5|60{8WhQM9FDq>v`UTM8dq)nJqsSHYcL^}z0-m3neR(#YwE111u1`Bi zxHibalGi^{2m&@O`Jzf#1TGJS~`BCNi>UHx~d|Z zXY%;1r544GD4UmKS>bg)^v_-3yn|2gUGP1T99-MZwF~rFOutudo4U%`Qs?I1@AP?b zl}ug`Cn00SNq6%f>nY|H$WD9{bUP6Q#&Q18o-8LYHx3krj{M0WGLt#ON!AG`7uY&6 zAndB4t;!31y=ARy$rWS%29>3E>ciEXKbPz(%(}z9FNrPQg6TmKGTy-VNR$$$pYn4( zg-EtCiPvH|FXH=2=g?yUrS0AR_I;}6^ZEpIB^Ryn?{fP zf7E}OK6qDT{8Tme!lkB@9^;qL$XMp1vfROa!N#+xX>g(00zR;*y!;Ye*2(pPqr+)v z;}PJ!+;#Yxuu{BxKbY|7$D-wL$bR6-QH}rAaGpT_an*GEVuC2M{Gx}Yd?UO?iH3Ok zt99&+It7Kmmi~gLBu^=W<2>Gb)YeGeXqNpWT?vWK`$oBa>+0#VWp;CW?j1$s-ey5< zbZrwiDMNB+i)ml)7sZq0zV@YIdJ2{W)=$WQ)8TsRE-x@X2q#9L>M)`4kIBN6HdX( zxf-`IazB@wYLXy!VT)T#QDZ!Hbjqr=M7ny{&ei*d<$v=qWZ)GzFiE*{=cd8!e9q{0 zE0*Xo?cGG!ZP}$>}eoFCGLu^5rntadmX0#~)U#Tc)~#TchInMtz0bkIcH{dNdP{ zB_IF7K)_$mmnLLKJsY5kY#0{Y#`)!}Z+gW)q>7qKeKyD0LJ+5QFyM_~#Ha*+;O85% zJkm^Xyi;BL#_h15eL5wjn7&g8rSr~MKhWa-Asx2F4hCkhLmZFCcS*`uJ)E?Uu9iz_ zu?%s)Q82T7Ia_BXOFXeZ`ZPB}l?IbV3uc3RLeYMCIs3zHBr0if;pvIyQRK!es?XFV zGMmk>YaSvhCb=4_iI>~oV0NC9nX`%ws#PP=iTaDeO<<1?O*%fGS?2bn3wB69BlM{i z9L{rmTc(UL?h14NXy=Y>o-0u<^1@P(%byV2DqAdSXI9Bbnhp%1t*7$txh9pc zt?5xK?u-`D^4Tqo4Ja+*f@AFublDykQW9<4s~p8BG^GD}whd}Y*9iGOIGLssG^7Ng4eA#PwXY~EWh{EG~cKjII91X9dZoJ-{X{71I4|8^Ks%y?L zqChut+@MZ^0^j$&G`I@?^iKDVNx{o1y8Ofw>oWoycBUB&y*6oXpaXwr-#2a?6`zlUGv@oHHKG9Np#s@ z6D-GMD3c0boqaU#iL|iz%<>;bIy2)x<9Vt!ej0NdFJ91iylPr4zQY3dvg`GHJ1Kyz z>Y&EI+sh&W_OkZI4%Qatu5OGjW)|bg;|_o?5uq3SVdfJ{pP8VcU1&ys+T`_cglj=F zU1y?ibj2rYC>NC<=gs}8mSEeAZ_GL~CLD>W|Iw?)Zu*IGRLZL9h>o|N@n`WW@5)j$ z9dRbnl}$)-9&MYa11*nXS{MTtlHFuO0gYGY4ZmUsS?@fzvlP-$V>}%E$2bw|yIo&= zo{1fJ3r%IWlkW*%?nwk<)_Kdm*CQA=t8_**lOzUxj)RvQ4Rs44Y*UaOWJ|kI=IPBp z+Zi_MoDC`9H@c*YpIq9AL@L=c*y^l3*9+P7O||kqH}!U(9lY8kPch17Jy$$#=lk-0 z@Wwd#j<-|O=pknJd7{wrDdC{;npj=31_)o{z10jf;Hy9g;72F_=dS`l_*~81+^iie z|M@bYvzc7L{lUMx+a!9iLK}L0c`(x%k%;IZA|9gPx*m%}W+Fj}0_oT=KzOK3Thl>5 ztZKFVPB@6d(35vP=Ph{APy@WnD+o)G&n`>t2)WAQji~YT=CR*gSK%F8vHtJ

DP0@6HPjZKJ85K&vc9{0F8QsIp;EO#x7_J= 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