Forum
    • Categorieën
    • Recent
    • Populair
    • Gebruikers
    • Groepen
    • Zoeken
    • Registreren
    • Login

    PWS verbeterde versie Vigenere

    Scheduled Pinned Gesloten Verplaatst Informatica
    2 Berichten 2 Plaatsers 1.8k Weergaven 2 Watching
    Meer berichten laden...
    • Oudste berichten bovenaan
    • Meest recente berichten bovenaan
    • Meeste stemmen
    Reageren
    • Reageren als onderwerp
    Aanmelden om te reageren
    Dit onderwerp is verwijderd. Alleen gebruikers met beheerrechten op onderwerpniveau kunnen dit inzien.
    • T Offline
      Timo den Dulk
      voor het laatst aangepast door

      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

      1 Antwoord Laatste antwoord Reageren Citeren 0
      • jip_rietveldJ Offline
        jip_rietveld
        voor het laatst aangepast door

        Hey Timo den Dulk

        Ziet eruit als een vet PWS! Ik heb het best wel druk met tentamens nu, dus als jullie geen urgente vraag hebben wil ik graag het kijken naar eventuele verbeteringen laten zitten tot een later moment.

        Als jullie nog technische vragen hebben omtrent encryptie of code schrijven kan ik jullie wel gelijk helpen.

        Ik zal dus op een later meer rustig moment reageren.
        Groeten,
        Jip

        Administrator
        Student Technische Informatica

        1 Antwoord Laatste antwoord Reageren Citeren 0

        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

        With your input, this post could be even better 💗

        Registreren Login
        • First post
          Last post
        Copyright © 2016 NodeBB Forums | Contributors