Rsa block and vernam stream ciphers, Computer Network Security

Assignment Help:

RSA Block and Vernam Stream Ciphers

This assignment involves writing two small Python scripts and a report. Before you start you must download the ?le summarysheets.zip from the course web page, unzip it and print the summary sheet with your name on it. The ?le Name Ver.pdf tells you which sheet has your name on it. There are two parts to the assignment:

Part 1 - Recovery of an encrypted 'word' using a forward search attack. A 5 character 'word' containing random capital letters has been encrypted using the RSA algorithm. The word was encrypted in two 24 bit blocks by using the ASCII values of the characters (6510 to 9010 ) and padding the last block with a space (ASCII 3210 ). Every block was formed by concatenating the 8 bit binary patterns of each of the characters in the block. Thus creating two 24-bit intergers (actually 23-bit integers, as the MSB is zero). You are provided with the public key used for the encryption and with the decimal values of the encrypted blocks - see your summary sheet. You are required to use a forward search using a Python dictionary/hash table to recover the 'word' that was encrypted.[25]

Part 2 - Decryption of a jpeg ?le that has been encrypted using a Vernam cipher. Download the byte compiled Python module randbit.pyc from the module web page. The function nextbit() in this module can be used to generate a random bit stream using one of a series of di?erent generators. Below is an example of its use to generate and display 50 random bits.

 import sys

 from randbit import *

# for information on nextbit() type randbit.nextbit in the help environment

# of idle or in the standard python shell

 seed = 98071

for i in range(50):

seed,bit = nextbit(7,seed) # call to nextbit, using generator 7, which returns

# a modified value of the seed and a 'random' bit

sys.stdout.write(bit)# print bit without crlf print Output from above:

00000001011111110001011100011111100010001111000000

The seed and generator that you are to use in this part of the assignment are given in your summary sheet. Extract your encrypted jpeg ?le (see summary sheet) from the archived ?le on the module web page. Your jpeg has been encrypted, one byte at a time, with a Vernam cipher using a random bit stream generated using the seed and generator that you have been assigned. Random bytes were created by concatenating 8 bits at a time from the random bit stream, with the MSB of each byte being the ?rst of the 8 bits taken from the stream. You are to decrypt and display the ?le, which should be a picture of three printable ASCII characters.

NOTE: the Departmental machines are running Python 2.4 and randbit.pyc was complied with this version of Python.


Related Discussions:- Rsa block and vernam stream ciphers

Securities Issues in a company, 'Near Field Communication' (NFC) technologi...

'Near Field Communication' (NFC) technologies are expected to become commonplace in the near future. Some relevant features are these: A suitable device (such as a mobile pho

Encryption, How safe is the encryption of virtual private networks?

How safe is the encryption of virtual private networks?

Marketing, what are the participant of marketing channal?

what are the participant of marketing channal?

What are the ethical issues and implications, An injunction to 'think ethic...

An injunction to 'think ethically' about a situation is not helpful. Perhaps if one has a background in moral philosophy this would work, but usually both students and IT professio

Briefly explain the following security goals, (a) Briefly explain the fo...

(a) Briefly explain the following security goals provided by cryptography: confidentiality, authentication, integrity and non-repudiation. (b) State Kerckhoff's Princip

Write pseudocode for the password guessing algorithm, Write Pseudocode for ...

Write Pseudocode for the password guessing algorithm: Consider the following authentication protocol: Client Transmission Host

Cipher methods-cryptography, Cipher Methods There are 2 methods of encry...

Cipher Methods There are 2 methods of encrypting plaintext: • Bit stream method – every bit in the plaintext bit is transformed into a cipher bit one bit at a time. • Block cip

Define checksum, The method used to check errors is checksum . In this m...

The method used to check errors is checksum . In this method data is treated as a sequence of integers and their arithmetic sum is calculated and the carry bits are added to the

Major difference between a virus and a worm, Question: (a) State wheth...

Question: (a) State whether the following statements are TRUE or FALSE. Justify your answer. i. A good site security policy will require that users use computer generated p

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd