Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var alphabet = "kryptosabcdefghijlmnquvwxz".toUpperCase();
- var kK1 = "palimpsest".toUpperCase();
- var kK2 = "abscissa".toUpperCase();
- //var kK3 = ["KRYPTOS","0362514"];
- var cK1 = "EMUFPHZLRFAXYUSDJKZLDKRNSHGNFIVJ"+
- "YQTQUXQBQVYUVLLTREVJYQTMKYRDMFD";
- var cK2 = "VFPJUDEEHZWETZYVGWHKKQETGFQJNCE"+
- "GGWHKKDQMCPFQZDQMMIAGPFXHQRLG"+ //HKK?DQ
- "TIMVMZJANQLVKQEDAGDVFRPJUNGEUNA"+
- "QZGZLECGYUXUEENJTBJLBQCRTBJDFHRR"+
- "YIZETKZEMVDUFKSJHKFWHKUWQLSZFTI"+
- "HHDDDUVHDWKBFUFPWNTDFIYCUQZERE"+ //DDDUVH?DW
- "EVLDKFEZMOQQJLTTUGSYQPFEUNLAVIDX"+
- "FLGGTEZFKZBSFDQVGOGIPUFXHHDRKF"+ //GGTEZ?FK
- "FHQNTGPUAECNUVPDJMQCLQUMUNEDFQ"+
- "ELZZVRRGKFFVOEEXBDMVPNFQXEZLGRE"+
- "DNQFMPNZGLFLPMRJQYALMGNUVPDXVKP"+
- "DQUMEBEDMHDAFMJGZNUPLGEWJLLAETG"; //GESW -> XLAYERTWO
- var cK3 = "ENDYAHROHNLSRHEOCPTEOIBIDYSHNAIA"+
- "CHTNREYULDSLLSLLNOHSNOSMRWXMNE"+
- "TPRNGATIHNRARPESLNNELEBLPIIACAE"+
- "WMTWNDITEENRAHCTENEUDRETNHAEOE"+
- "TFOLSEDTIWENHAEIOYTEYQHEENCTAYCR"+
- "EIFTBRSPAMHHEWENATAMATEGYEERLB"+
- "TEEFOASFIOTUETUAEOTOARMAEERTNRTI"+
- "BSEDDNIAAHTTMSTEWPIEROAGRIEWFEB"+
- "AECTDDHILCEIHSITEGOEAOSDDRYDLORIT"+
- "RKLMLEHAGTDHARDPNEOHMGFMFEUHE"+
- "ECDMRIPFEIMEHNLSSTTRTVDOHW"; //DOHW?
- document.getElementById("table").innerHTML = solvePolyAlphaSub(cK1,kK1,alphabet) + "</br></br>" + solvePolyAlphaSub(cK2,kK2,alphabet) + "</br></br>" + solveColTrans(cK3,"0362514");
- function solveColTrans(cipher,keyword) {
- var rowLen = keyword.length;
- var colLen = cipher.length/rowLen;
- var result = "";
- for(var row = 0;row<colLen;row++) {
- for(var colPos = 0;colPos<rowLen;colPos++)
- result += cipher.charAt(parseInt(keyword.charAt(colPos))*colLen+row);
- result += "</br>";
- }
- return result;
- }
- function solvePolyAlphaSub(cipher,key,alphabet) {
- var arrTable = new Array(key.length);
- var pos = 0;
- var solution = "";
- // build table
- for(var x = 0; x < key.length;x++)
- arrTable[x] = ((pos = alphabet.indexOf(key[x]))==0?alphabet:alphabet.substring(pos,26)+alphabet.substring(0,pos));
- //solve
- for(var x = 0; x < cipher.length; x++){
- solution += alphabet[(arrTable[x%arrTable.length]).indexOf(cipher[x])];
- }
- return solution;
- }
- /* // test stuff
- for(var x = 0; x<arrTable.length;x++) {
- arrTable[x] = "";
- for(var y = 0; y < 30;y++) {
- arrTable[x] += alphabet[(x+y)%26];
- }
- }
- arrTable[13] += "L";
- for(var x = 0; x < 26; x++)
- document.getElementById("table").innerHTML += arrTable[x] + "</br>";*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement