Forum
    • Categorieën
    • Recent
    • Populair
    • Gebruikers
    • Groepen
    • Zoeken
    • Registeren
    • Login
    1. Home
    2. Timo den Dulk
    T
    • Profiel
    • Volgend 0
    • Volgers 0
    • Onderwerpen 1
    • Berichten 1
    • Beste 0
    • Controversial 0
    • Groepen 0

    Timo den Dulk

    @Timo den Dulk

    0
    Reputatie
    531
    Bekeken
    1
    Berichten
    0
    Volgers
    0
    Volgend
    Geregistreerd Laatste keer online gezien

    Timo den Dulk Ontvolgen Volgen

    Meest recente berichten door Timo den Dulk

    • PWS verbeterde versie Vigenere

      Beste studenten

      Wij zijn Timo den Dulk en Mika Turk en zitten in 6vwo. Wij hebben voor ons PWS gekozen voor cryptografie en zijn hiervoor bezig geweest om een betere versie van vigenere te maken. Wij hebben er zelf al een gemaakt en zouden graag jullie mening horen over hoe het beter kan. Eventueel als jullie hem kunnen kraken zouden we ook graag willen weten hoe. Hieronder staat onze encrypter die we gemaakt hebben in javascript.

      function toLetter(number = 0) {
      return String.fromCharCode(number%26+65)
      }

      function toNumber(string = 'A', index = 0) {
      return string.charCodeAt(index)-65
      }

      function encryptLetter(message='', key='', index=0) {
      return toLetter(
      toNumber(message,index)
      +toNumber(key,index%key.length)
      %26
      );
      }

      function shuffle(message='', shufflestring='ABCDEFGHIJKLMNOPQRSTUVWXYZ') {
      return message
      // transform message into array
      .split('')
      // do the shuffle operation for every letter
      .map(letter => shufflestring[
      (shufflestring.indexOf(letter)+1)%shufflestring.length
      ]
      )
      // transform the message back into a string
      .join('')
      }

      function encrypt(message='', key='', shufflestring='ABCDEFGHIJKLMNOPQRSTUVWXYZ') {
      let charcode = 0;
      let shift = 0;
      let sliceindex = 0;
      let encrypted = '';
      let newkey = '';

      for (let a=0; a<message.length/key.length; a++) {
      key = shuffle(key, shufflestring)
      charcode = toNumber(key,a%key.length);
      shift = (charcode+shift)%key.length;
      sliceindex = key.length - shift;
      newkey = key.slice(sliceindex) + key.slice(0,sliceindex);
      console.log({charcode, shift, newkey, key});
      for (let b=0; b<key.length; b++) {
      const index = a*key.length+b
      if (index<message.length) {
      encrypted += encryptLetter(message, newkey, index)
      }
      }
      }
      return encrypted;
      }
      // Only CAPITALS and no punctuation marks
      // third argument is the order in which the letters should be moved
      // you should randomize the order and send that order with the key
      console.log(encrypt(process.argv[2],process.argv[3], 'CLXUIQJPSADOWVHBFYERMGTZKN'))

      Wij hopen dat jullie ons kunnen helpen.

      Met vriendelijke groeten,
      Timo den Dulk en Mika Turk

      geplaatst in Informatica
      T
      Timo den Dulk