8 Problem Statement: "Designing an Assembly Language Program that Simulates the Operations of Veram Cipher Scheme(VCS)"

Business, Finance, Economics, Accounting, Operations Management, Computer Science, Electrical Engineering, Mechanical Engineering, Civil Engineering, Chemical Engineering, Algebra, Precalculus, Statistics and Probabilty, Advanced Math, Physics, Chemistry, Biology, Nursing, Psychology, Certifications, Tests, Prep, and more.
Post Reply
answerhappygod
Site Admin
Posts: 899604
Joined: Mon Aug 02, 2021 8:13 am

8 Problem Statement: "Designing an Assembly Language Program that Simulates the Operations of Veram Cipher Scheme(VCS)"

Post by answerhappygod »

8 Problem Statement Designing An Assembly Language Program That Simulates The Operations Of Veram Cipher Scheme Vcs 1
8 Problem Statement Designing An Assembly Language Program That Simulates The Operations Of Veram Cipher Scheme Vcs 1 (67.04 KiB) Viewed 38 times
8 Problem Statement Designing An Assembly Language Program That Simulates The Operations Of Veram Cipher Scheme Vcs 2
8 Problem Statement Designing An Assembly Language Program That Simulates The Operations Of Veram Cipher Scheme Vcs 2 (60.84 KiB) Viewed 38 times
8 Problem Statement Designing An Assembly Language Program That Simulates The Operations Of Veram Cipher Scheme Vcs 3
8 Problem Statement Designing An Assembly Language Program That Simulates The Operations Of Veram Cipher Scheme Vcs 3 (62.3 KiB) Viewed 38 times
8 Problem Statement: "Designing an Assembly Language Program that Simulates the Operations of Veram Cipher Scheme(VCS)" Project Description: Background: Cryptography science deals with encrypting a message to remain secret from encryption algorithm. An encryption algorithm transforms "plain text into "ciphertext. Just like a door needs a key to lock and unlock it, an encryption algorithm often requires a key to encrypt and decrypt a message. Just like a homeowner can selectively give the key to the front door to only those he wants to allow unaccompanied access the author of a message can selectively give the encryption key to only those he wants to be able to read the message. In order for someone to read the encrypted message. he has to decrypt the ciphertext, which usually requires the key For example suppose the plain text message is HELLO WORLD. An encryption algorithm consisting of nothing more than replacing each letter with the next letter in the alphabet would produce the ciphertext IFMMP XPSME. If someone saw IFMMP XPSME, he would have no idea what it meant (unless, of course, he could figure it out, or had the key to decrypt it.) The key to encrypt in this case is "pick the next letter in the alphabet." and the decryption key is "pick the previous letter in the alphabet." The decryption algorithm simply replaces each letter with the one before it and presto: the plain text HELLO WORLD IS produced Assignment: Implement, in EMU8086 assembly language emulator, an encryption/decryption program that meets the following requirements: Input: Your program should prompt the user for three separate inputs from the keyboard, as follows 1.The prompt: IF YOU WANT TO ENCRYPT, TYPE E; IF YOU WANT TO DECRYPT, TYPE D: The user will type E or D. A real-world program should also detect any other character typed and respond with THAT IS AN ILLEGAL CHARACTER. PLEASE TRY AGAIN. We will assume in this assignment that the user can type an E or D correctly. Your program will accept that character, store it in x3100, and use it, as we shall see momentarily 2. The prompt: ENTER THE ENCRYPTION KEY (A SINGLE DIGIT FROM 1 TO 9): The user will type a single digit. from 1 to 9. Again, we will assume the user is not an Aggle, and can successfully hit digit keys on the keyboard. Your program will accept this digit store it in x3101. and use it to encrypt or decrypt the message. 3. The prompt: INPUT A MESSAGE OF NO MORE THAN 20 CHARACTERS. WHEN DONE. PRESS <ENTER>. The user will input a character string from the keyboard. terminating the message with the <ENTER> key. Your program will store the message. starting in location x3102. Since the message is restricted to #20 characters, and there is an <ENTER> key at the end (which you may want to store) you must reserve locations X3102 to 3116 (W21 locations) to store the message. (Note that #21 - x15.) One

constraint: Messages must be less than or equal to #20 characters. (Recall means the number is decimal.) Hint: to continually read from the keyboard without first printing a prompt on the screen, use the appropriate interrupt (such as INT 21). That is for each key you wish to read. the EMU8086 operating system must execute this interrupt service routine. Don't forget to follow Input Interrupt with the instruction for interrupt for output. the character the user types will be displayed on the screen. Algorithm: Vernam Cipher Scheme (BCS) So named for Gilbert Sandford Vernam, it is a symmetric cipher patented July 22. 1919. The Veram Cipher combines plaintext (the original message) with pseudo-random series of polyalphabetic characters to form the ciphertext using an "exclusive or" (XOR) function. US Army Captain Joseph Mauborgne soon discovered that the cipher could be made much stronger by using truly random numbers printed on pads of paper. Streams of paper with the random numbers in that fashion became a process known as a "one-time pad". The Vernam using a one-time pad is regarded as unbreakable. On the background, a teletype is a character printer connected to a telegraph that provides a user interface for people to communicate over various communications protocols such as dedicated or public wires, radio, or microwave Example: "The Vernam Cipher with one-time pad is said to be an unbreakable symmetric encryption algorithm in part because its key-exchange process uses true random number generation and secure key distribution.". Encryption Process: . . . Here, firstly, we convert both our plain text and the key string into its binary form. The key can be either in string form or directly in binary form also. The bit of the key string is repeated again and again until its length becomes equal to that of the plain text. Perform XOR operation between the elements of the plain text with the respective elements of the ley string which hold the same positions, • Therefore, the encryption on the plain text to convert it into ciphertext is performed as follows: E (PL. Ki) = PI (XOR) Ki Decryption Process The process of decrypting the ciphertext to convert it back into plain text is performed in the same way as the encryption process. Therefore, the formula for decryption of the text under the Vernam cipher is as follows: D (CI. KI) = CI (XOR) Ki Output: Your program should output the encrypted or decrypted message to the screen. Note that the encryption/decryption algorithm stored the message to be output starting in the location

• Use MASM assembler to create your segments. constants, variables & others. • The user can select one operation from a list of items (menu numbered 0.1.2...). • The program should run in video mode (the black screen-DOS Screen). • The output should be colored with highlights on the important outputs such as results. • Your code should generate a useful error message such as overflow. underflow. out-of- order, wrong choice. div-by-zero. ...etc. • Your program should be well-documented with an explanation of addressing modes. • Any extra options are welcomed. Will be graded as a bonus if useful. You need to design the program, implement and test it using the EMU8086 Emulator available in the lab & with you. Consider the following steps while designing this project:- A. Design a Flow Chart Diagram for your design. B. Design the program in Assembly language. C. The program must be Assembled, Emulated, and Run successfully on EMU8086. D. Your program should call a subroutine/macro for each operation and should use software interrupts for I/O operations. x Deliverables. You will work in teams of 3 in this assignment, one of them is leading the team. You need to develop a visualized coding for your design in assembly language using EMU8086. You need to write up a mini-report provided as a soft copy (s 3 pages). You should include a table (as a one-page appendix at the end of the report) to show the role distribution between group members and their detailed list of tasks. You must deliver a soft copy of your files including your report (.docx &.pdf). coding files. and any other tools/issues used in the project.
Join a community of subject matter experts. Register for FREE to view solutions, replies, and use search function. Request answer by replying!
Post Reply