Computer Science

CPT 341 VB.NET Project 2

Windows Form Application - Symmetric Key Encryption

Topics:

Simple Encryption/Decryption, String Manipulation & Conversion, File I/O, Sequential Text File, ComboBox Control, OpenFileDialog() Control, ASCII Character Set, Asc(), Chr(), SubString(), Mod Operator

Develop a Visual Basic Windows Forms application that will ‘encrypt’ (character shift) the characters in a string based on a symmetric key (process known as symmetric-key cryptography). The application must also ‘decrypt’ the message based on the symmetric key used.

Sample Windows Form Controls

Computer Science 1

General Requirements

  • The clear-text message (that will be ‘encrypted’) is to be stored in a text-file.

    • The text-file is to be selected using an OpenFileDialog runtime control object

    • Text-file contents are to be displayed in a Textbox control located on the Windows form (you can also use this textbox to input clear-text characters)

  • Keys are contained in a ComboBox control object. Users can select a particular key resulting in alternate cipher-text output

    • Keys are to be a minimum of 4 digits. Each key digit is used for encoding where your program will move to the next digit for every character in the clear-text message.

      • Since there are a limited number of digits in a key, your program must ‘wrap-back’ to the first digit

    • The selected key must be stored in an array

  • Using the same key for encryption, decrypt the cipher-text message and display it in a textbox on the Windows Form

  • Since only printable characters are used (see table), if the ANSI code becomes larger than 126, you will need to wrap around to the ANSI code 32 (space)

  • Use exception handling where needed.

  • Add comments throughout your code

Example: Using a sample key of 58912, the output would be as follows:

Clear Character

ASCII Code

78

74

73

84

32

86

66

78

101

84

ASCII Code + Key Value

83

82

82

85

34

91

74

87

102

86

Shifted Character

Clear-Text: “NJIT VBNet”

Cipher-Text: “SRRU”[JWfV”

ANSI Character Set

Computer Science 2