Skip to content

Instantly share code, notes, and snippets.

@atoponce
Last active May 23, 2024 16:56
Show Gist options
  • Save atoponce/88271fe9c412ea922993fad461c7f1e7 to your computer and use it in GitHub Desktop.
Save atoponce/88271fe9c412ea922993fad461c7f1e7 to your computer and use it in GitHub Desktop.
Chaocipher analysis
> const Chaocipher = require('./chaocipher.js')
undefined
> const left = "HXUCZVAMDSLKPEFJRIGTWOBNYQ"
undefined
> const right = "PTLNBQDEOYSFAVZKGJRIHWXUMC"
undefined
> const pt = "WELLDONEISBETTERTHANWELLSAID"
undefined
> const cipher = new Chaocipher(left, right)
undefined
> const ct = cipher.output(pt, 1)
HXUCZVAMDSLKPEFJRIGTWOBNYQ PTLNBQDEOYSFAVZKGJRIHWXUMC
ONYQHXUCZVAMDBSLKPEFJRIGTW XUCPTLNBQDEOYMSFAVZKGJRIHW
ADBSLKPEFJRIGMTWONYQHXUCZV OYSFAVZKGJRIHMWXUCPTLNBQDE
HUCZVADBSLKPEXFJRIGMTWONYQ NBDEOYSFAVZKGQJRIHMWXUCPTL
QUCZVADBSLKPEHXFJRIGMTWONY NBEOYSFAVZKGQDJRIHMWXUCPTL
HFJRIGMTWONYQXUCZVADBSLKPE JRHMWXUCPTLNBIEOYSFAVZKGQD
CVADBSLKPEHFJZRIGMTWONYQXU YSAVZKGQDJRHMFWXUCPTLNBIEO
NQXUCVADBSLKPYEHFJZRIGMTWO BIOYSAVZKGQDJERHMFWXUCPTLN
YHFJZRIGMTWONEQXUCVADBSLKP RHFWXUCPTLNBIMOYSAVZKGQDJE
NQXUCVADBSLKPEYHFJZRIGMTWO MOSAVZKGQDJERYHFWXUCPTLNBI
XCVADBSLKPEYHUFJZRIGMTWONQ AVKGQDJERYHFWZXUCPTLNBIMOS
TONQXCVADBSLKWPEYHUFJZRIGM IMSAVKGQDJERYOHFWZXUCPTLNB
SKWPEYHUFJZRILGMTONQXCVADB RYHFWZXUCPTLNOBIMSAVKGQDJE
ZILGMTONQXCVARDBSKWPEYHUFJ LNBIMSAVKGQDJOERYHFWZXUCPT
JILGMTONQXCVAZRDBSKWPEYHUF LNIMSAVKGQDJOBERYHFWZXUCPT
RBSKWPEYHUFJIDLGMTONQXCVAZ RYFWZXUCPTLNIHMSAVKGQDJOBE
RSKWPEYHUFJIDBLGMTONQXCVAZ YFZXUCPTLNIHMWSAVKGQDJOBER
HFJIDBLGMTONQUXCVAZRSKWPEY LNHMWSAVKGQDJIOBERYFZXUCPT
JDBLGMTONQUXCIVAZRSKWPEYHF MWAVKGQDJIOBESRYFZXUCPTLNH
BGMTONQUXCIVALZRSKWPEYHFJD VKQDJIOBESRYFGZXUCPTLNHMWA
YFJDBGMTONQUXHCIVALZRSKWPE HMAVKQDJIOBESWRYFGZXUCPTLN
HIVALZRSKWPEYCFJDBGMTONQUX RYGZXUCPTLNHMFAVKQDJIOBESW
QXHIVALZRSKWPUEYCFJDBGMTON SWYGZXUCPTLNHRMFAVKQDJIOBE
KPUEYCFJDBGMTWONQXHIVALZRS NHMFAVKQDJIOBRESWYGZXUCPTL
SPUEYCFJDBGMTKWONQXHIVALZR NHFAVKQDJIOBRMESWYGZXUCPTL
OQXHIVALZRSPUNEYCFJDBGMTKW WYZXUCPTLNHFAGVKQDJIOBRMES
UEYCFJDBGMTKWNOQXHIVALZRSP GVQDJIOBRMESWKYZXUCPTLNHFA
JBGMTKWNOQXHIDVALZRSPUEYCF OBMESWKYZXUCPRTLNHFAGVQDJI
undefined
> assert(ct === "OAHQHCNYNXTSZJRRHJBYHQKSOUJY")
undefined
> const Chaocipher = require('./chaocipher.js')
undefined
> const left = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
undefined
> const right = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
undefined
> const pt = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
undefined
> const cipher = new Chaocipher(left, right)
undefined
> const ct = cipher.output(pt, 1)
ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ
ACDEFGHIJKLMNBOPQRSTUVWXYZ BCEFGHIJKLMNODPQRSTUVWXYZA
ZCDEFGHIJKLMNABOPQRSTUVWXY BCFGHIJKLMNODEPQRSTUVWXYZA
YCDEFGHIJKLMNZABOPQRSTUVWX BCGHIJKLMNODEFPQRSTUVWXYZA
XCDEFGHIJKLMNYZABOPQRSTUVW BCHIJKLMNODEFGPQRSTUVWXYZA
WCDEFGHIJKLMNXYZABOPQRSTUV BCIJKLMNODEFGHPQRSTUVWXYZA
VCDEFGHIJKLMNWXYZABOPQRSTU BCJKLMNODEFGHIPQRSTUVWXYZA
UCDEFGHIJKLMNVWXYZABOPQRST BCKLMNODEFGHIJPQRSTUVWXYZA
TCDEFGHIJKLMNUVWXYZABOPQRS BCLMNODEFGHIJKPQRSTUVWXYZA
SCDEFGHIJKLMNTUVWXYZABOPQR BCMNODEFGHIJKLPQRSTUVWXYZA
RCDEFGHIJKLMNSTUVWXYZABOPQ BCNODEFGHIJKLMPQRSTUVWXYZA
QCDEFGHIJKLMNRSTUVWXYZABOP BCODEFGHIJKLMNPQRSTUVWXYZA
PCDEFGHIJKLMNQRSTUVWXYZABO BCDEFGHIJKLMNOPQRSTUVWXYZA
OCDEFGHIJKLMNPQRSTUVWXYZAB BCEFGHIJKLMNODPQRSTUVWXYZA
BCDEFGHIJKLMNOPQRSTUVWXYZA BCFGHIJKLMNODEPQRSTUVWXYZA
ACDEFGHIJKLMNBOPQRSTUVWXYZ BCGHIJKLMNODEFPQRSTUVWXYZA
ZCDEFGHIJKLMNABOPQRSTUVWXY BCHIJKLMNODEFGPQRSTUVWXYZA
YCDEFGHIJKLMNZABOPQRSTUVWX BCIJKLMNODEFGHPQRSTUVWXYZA
XCDEFGHIJKLMNYZABOPQRSTUVW BCJKLMNODEFGHIPQRSTUVWXYZA
WCDEFGHIJKLMNXYZABOPQRSTUV BCKLMNODEFGHIJPQRSTUVWXYZA
VCDEFGHIJKLMNWXYZABOPQRSTU BCLMNODEFGHIJKPQRSTUVWXYZA
UCDEFGHIJKLMNVWXYZABOPQRST BCMNODEFGHIJKLPQRSTUVWXYZA
TCDEFGHIJKLMNUVWXYZABOPQRS BCNODEFGHIJKLMPQRSTUVWXYZA
SCDEFGHIJKLMNTUVWXYZABOPQR BCODEFGHIJKLMNPQRSTUVWXYZA
RCDEFGHIJKLMNSTUVWXYZABOPQ BCDEFGHIJKLMNOPQRSTUVWXYZA
QCDEFGHIJKLMNRSTUVWXYZABOP BCEFGHIJKLMNODPQRSTUVWXYZA
PCDEFGHIJKLMNQRSTUVWXYZABO BCFGHIJKLMNODEPQRSTUVWXYZA
OCDEFGHIJKLMNPQRSTUVWXYZAB BCGHIJKLMNODEFPQRSTUVWXYZA
BCDEFGHIJKLMNOPQRSTUVWXYZA BCHIJKLMNODEFGPQRSTUVWXYZA
ACDEFGHIJKLMNBOPQRSTUVWXYZ BCIJKLMNODEFGHPQRSTUVWXYZA
ZCDEFGHIJKLMNABOPQRSTUVWXY BCJKLMNODEFGHIPQRSTUVWXYZA
YCDEFGHIJKLMNZABOPQRSTUVWX BCKLMNODEFGHIJPQRSTUVWXYZA
XCDEFGHIJKLMNYZABOPQRSTUVW BCLMNODEFGHIJKPQRSTUVWXYZA
WCDEFGHIJKLMNXYZABOPQRSTUV BCMNODEFGHIJKLPQRSTUVWXYZA
VCDEFGHIJKLMNWXYZABOPQRSTU BCNODEFGHIJKLMPQRSTUVWXYZA
UCDEFGHIJKLMNVWXYZABOPQRST BCODEFGHIJKLMNPQRSTUVWXYZA
TCDEFGHIJKLMNUVWXYZABOPQRS BCDEFGHIJKLMNOPQRSTUVWXYZA
SCDEFGHIJKLMNTUVWXYZABOPQR BCEFGHIJKLMNODPQRSTUVWXYZA
RCDEFGHIJKLMNSTUVWXYZABOPQ BCFGHIJKLMNODEPQRSTUVWXYZA
QCDEFGHIJKLMNRSTUVWXYZABOP BCGHIJKLMNODEFPQRSTUVWXYZA
PCDEFGHIJKLMNQRSTUVWXYZABO BCHIJKLMNODEFGPQRSTUVWXYZA
OCDEFGHIJKLMNPQRSTUVWXYZAB BCIJKLMNODEFGHPQRSTUVWXYZA
BCDEFGHIJKLMNOPQRSTUVWXYZA BCJKLMNODEFGHIPQRSTUVWXYZA
ACDEFGHIJKLMNBOPQRSTUVWXYZ BCKLMNODEFGHIJPQRSTUVWXYZA
ZCDEFGHIJKLMNABOPQRSTUVWXY BCLMNODEFGHIJKPQRSTUVWXYZA
YCDEFGHIJKLMNZABOPQRSTUVWX BCMNODEFGHIJKLPQRSTUVWXYZA
XCDEFGHIJKLMNYZABOPQRSTUVW BCNODEFGHIJKLMPQRSTUVWXYZA
WCDEFGHIJKLMNXYZABOPQRSTUV BCODEFGHIJKLMNPQRSTUVWXYZA
VCDEFGHIJKLMNWXYZABOPQRSTU BCDEFGHIJKLMNOPQRSTUVWXYZA
UCDEFGHIJKLMNVWXYZABOPQRST BCEFGHIJKLMNODPQRSTUVWXYZA
undefined
> console.log(ct)
AZYXWVUTSRQPOBAZYXWVUTSRQPOBAZYXWVUTSRQPOBAZYXWVUT
undefined
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment