Moderator |
|
Beste,
Aan de hand van die beschrijving kun je al een heleboel afleiden. Dit vormt namelijk het voorschrift (de specificatie) van de te schrijven code.
Er wordt aangegeven dat er gebruik wordt gemaakt uit één van vier mogelijke encryptieArrays. Dit zijn je (privé)sleutels. Aan het begin van de ge-encrypte tekst wordt informatie geplakt die aangeeft welk array (welke sleutel) is gebruikt voor encryptie.
Deze informatie is blijkbaar nodig omdat voor de decryptie hetzelfde array (dezelfde sleutel) gebruikt wordt. Het betreft hier dus een symmetrisch cryptosysteem (of symmetric-key systeem). De beveiliging berust hier uitsluitend op het geheim houden van de sleutels.
Je zult dus een symmetrisch cryptosysteem moeten kiezen, denk bijvoorbeeld aan DES, AES of IDEA. Het ligt voor de hand om voor een systeem te kiezen wat is behandeld of waar (standaard) functies voor bestaan in VB.
Ook zul je vier (privé)sleutels moeten genereren, mogelijk zijn hier ook standaard functies voor?
Dan moet je een programmaatje schrijven die de volgende dingen kan:
- het invoeren en uitlezen van een string tekst
- het random selecteren van één van de vier keys (en het volgnummer hiervan onthouden)
En afhankelijk van het formaat van de string wordt na een druk op de "encrypt/decrypt" knop:
- de string ge-encrypt met de random key, deze wordt vervolgens vooraan de string geplakt met de code @<volgnummer van de key> dus bijvoorbeeld @3 als de string ge-encrypt was met de derde key
- de string ge-decrypt, waarbij je eerst de eerste twee karakters uitleest en van de string kapt om te bepalen welke key is gebruikt, om vervolgens het restant de decrypten volgens het eerder gekozen algoritme en de bijbehorende key
Hier zit natuurlijk wel een probleem als je plaintext string begint met "@3" ofzo . Beter is dus om twee aparte knoppen te hebben (encrypt en decrypt) zodat je niet uit de string zelf hoeft af te leiden of dit een ge-encrypte of plaintext tekst is...
Veel succes met je huiswerk . |