Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Caeser Cipher - encode en decode  (gelezen 4436 keer)

0 leden en 1 gast bekijken dit topic.

Offline Diezel

  • Oplosser
  • ****
  • Berichten: 508
  • Geslacht: Man
  • Meedenker - Initiatief nemen - Helpen oplossen...
Caeser Cipher - encode en decode
« Gepost op: 19 februari 2018, 11:27:53 »
Beste oplossers,

Ben mij momenteel aan het verdiepen in eenvoudige encryptie methode van Caesar Cipher

In bijlage een werkend voorbeeld van Caesar Cipher encryptie en decryptie.

Ik weet ook dat Caesar destijds enkel met het alfabet boodschappen versleutelde.

Ik bekijk het ruimer en in het voorbeeld zou ik de ascii tabel gebruiken met max 256 tekens.

het probleem in het voorbeeld is als de waarde van de key(rondes) dermate toeneemt, dan krijg ik een foutmelding. Is het teruggeven van de waarde goed ingestelt als de Ascci waarde plus Key meer zou zijn dan 256 om dan de waarde terug door te geven?

Private Sub Command1_Click()

Dim strEncryptedText As String
Dim strDecryptedText As String
Dim intKey As String
Dim I As Integer

intKey = 3

strText = txtcipher
txtanswer = strEncryptedText

For I = 1 To Len(strText)
           
            'spatie's tussen woorden
            If Asc(Mid(strText, I, 1)) = Int(32) Then
            'Encoderen
            strEncryptedText = strEncryptedText & " "
            'Decoderen
            strDecryptedText = strDecryptedText & " "
           
            ElseIf Asc(Mid(strText, I, 1)) <= Int(256) Then
           
            'Encoderen
            strEncryptedText = strEncryptedText & Chr(Asc(Mid(strText, I, 1)) + intKey)
           
            'Decoderen
            strDecryptedText = strDecryptedText & Chr(Asc(Mid(strEncryptedText, I, 1)) - intKey)
           
            ElseIf Asc(Mid(strText, I, 1)) >= Int(256) Then
           
            'Encoderen
            strEncryptedText = strEncryptedText & Chr(Asc(Mid(strText, I, 1)) + intKey)
           
            'Decoderen
            strEncryptedText = strDecryptedText & Chr((Asc(Mid(strEncryptedText, I, 1)) + intKey) - 256)
           
            End If
           
                   
    Next
   
txtanswer = strEncryptedText
txtdecode = strDecryptedText


End Sub


Wie ziet de fout in de code?

Vriendelijke groeten,

Diezel
OS: Windows 10 Home - 64 bit
Processor:  Intel(R) Core(TM) I7 - 4770 CPU 3,40 GHZ
SSD - RAM: 500 GB, 16 GB
SOFTWAREPAKKET: Office 2007

Offline Diezel

  • Oplosser
  • ****
  • Berichten: 508
  • Geslacht: Man
  • Meedenker - Initiatief nemen - Helpen oplossen...
Re: Caeser Cipher - encode en decode
« Reactie #1 Gepost op: 21 februari 2018, 18:18:02 »
Hey Oplossers,

Heb ondertussen de  Caeser Sipher methode onder de knie. in het voorbeeld gaat het over ROT 13 en er zijn max. 26 rotaties van het alphabet. Bij ROT 5 gebruik men enkel cijfers en bij ROT 47 basis gedeelte van de Ascii tabel.

Samengevat is er niks mis mee met het voorbeeld alleen finetuning om de key(ROTATIE) selectie op max 26 te houden + het zoeken: Between --> twee waarden van de ascii reeks in te stellen. Je kan dan ook de code tussen do while lus zetten om alle rotaties af te lopen: eenvoudige (Bruut force) methode. Op die manier krijg je dan alle mogelijke decryties van je tekst bekomen.

Vriendelijke groeten Diezel
OS: Windows 10 Home - 64 bit
Processor:  Intel(R) Core(TM) I7 - 4770 CPU 3,40 GHZ
SSD - RAM: 500 GB, 16 GB
SOFTWAREPAKKET: Office 2007

 


www.combell.com