Advertisement
Guest User

k1+k2!k3

a guest
Nov 25th, 2014
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var alphabet = "kryptosabcdefghijlmnquvwxz".toUpperCase();
  2. var kK1 = "palimpsest".toUpperCase();
  3. var kK2 = "abscissa".toUpperCase();
  4. //var kK3 = ["KRYPTOS","0362514"];
  5.  
  6. var cK1 = "EMUFPHZLRFAXYUSDJKZLDKRNSHGNFIVJ"+
  7.           "YQTQUXQBQVYUVLLTREVJYQTMKYRDMFD";
  8.  
  9. var cK2 = "VFPJUDEEHZWETZYVGWHKKQETGFQJNCE"+
  10.           "GGWHKKDQMCPFQZDQMMIAGPFXHQRLG"+ //HKK?DQ
  11.           "TIMVMZJANQLVKQEDAGDVFRPJUNGEUNA"+
  12.           "QZGZLECGYUXUEENJTBJLBQCRTBJDFHRR"+
  13.           "YIZETKZEMVDUFKSJHKFWHKUWQLSZFTI"+
  14.           "HHDDDUVHDWKBFUFPWNTDFIYCUQZERE"+ //DDDUVH?DW
  15.           "EVLDKFEZMOQQJLTTUGSYQPFEUNLAVIDX"+
  16.           "FLGGTEZFKZBSFDQVGOGIPUFXHHDRKF"+ //GGTEZ?FK
  17.           "FHQNTGPUAECNUVPDJMQCLQUMUNEDFQ"+
  18.           "ELZZVRRGKFFVOEEXBDMVPNFQXEZLGRE"+
  19.           "DNQFMPNZGLFLPMRJQYALMGNUVPDXVKP"+
  20.           "DQUMEBEDMHDAFMJGZNUPLGEWJLLAETG"; //GESW -> XLAYERTWO
  21.  
  22. var cK3 = "ENDYAHROHNLSRHEOCPTEOIBIDYSHNAIA"+
  23.           "CHTNREYULDSLLSLLNOHSNOSMRWXMNE"+
  24.           "TPRNGATIHNRARPESLNNELEBLPIIACAE"+
  25.           "WMTWNDITEENRAHCTENEUDRETNHAEOE"+
  26.           "TFOLSEDTIWENHAEIOYTEYQHEENCTAYCR"+
  27.           "EIFTBRSPAMHHEWENATAMATEGYEERLB"+
  28.           "TEEFOASFIOTUETUAEOTOARMAEERTNRTI"+
  29.           "BSEDDNIAAHTTMSTEWPIEROAGRIEWFEB"+
  30.           "AECTDDHILCEIHSITEGOEAOSDDRYDLORIT"+
  31.           "RKLMLEHAGTDHARDPNEOHMGFMFEUHE"+
  32.           "ECDMRIPFEIMEHNLSSTTRTVDOHW"; //DOHW?
  33.  
  34. document.getElementById("table").innerHTML = solvePolyAlphaSub(cK1,kK1,alphabet) + "</br></br>" + solvePolyAlphaSub(cK2,kK2,alphabet) + "</br></br>" + solveColTrans(cK3,"0362514");
  35.  
  36. function solveColTrans(cipher,keyword) {
  37.     var rowLen = keyword.length;
  38.     var colLen = cipher.length/rowLen;
  39.     var result = "";
  40.    
  41.     for(var row = 0;row<colLen;row++) {
  42.         for(var colPos = 0;colPos<rowLen;colPos++)
  43.             result += cipher.charAt(parseInt(keyword.charAt(colPos))*colLen+row);
  44.         result += "</br>";
  45.     }
  46.    
  47.     return result;
  48. }
  49.  
  50. function solvePolyAlphaSub(cipher,key,alphabet) {
  51.     var arrTable = new Array(key.length);
  52.     var pos = 0;
  53.     var solution = "";
  54.  
  55.     // build table
  56.     for(var x = 0; x < key.length;x++)
  57.         arrTable[x] = ((pos = alphabet.indexOf(key[x]))==0?alphabet:alphabet.substring(pos,26)+alphabet.substring(0,pos));
  58.    
  59.     //solve
  60.     for(var x = 0; x < cipher.length; x++){
  61.         solution += alphabet[(arrTable[x%arrTable.length]).indexOf(cipher[x])];
  62.     }
  63.     return solution;
  64. }
  65.  
  66. /* // test stuff
  67. for(var x = 0; x<arrTable.length;x++) {
  68.         arrTable[x] = "";
  69.         for(var y = 0; y < 30;y++) {
  70.             arrTable[x] += alphabet[(x+y)%26];
  71.         }
  72. }
  73.  
  74. arrTable[13] += "L";
  75.  
  76. for(var x = 0; x < 26; x++)
  77.     document.getElementById("table").innerHTML += arrTable[x] + "</br>";*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement