0% found this document useful (0 votes)
51 views

Mini Project Report - Format

This document is a mini project report for an Analog Electronic Circuits lab covering RC4 encryption and decryption using Python. It describes the objective of studying and implementing RC4 encryption and decryption. It provides an abstract on RC4, introduces the algorithm, lists software requirements, and describes the key scheduling algorithm and approach/methodology taken. It also includes sections on simulations/outputs, conclusions, references, and appendices with requirements like a group photo.

Uploaded by

sumer raravikar
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views

Mini Project Report - Format

This document is a mini project report for an Analog Electronic Circuits lab covering RC4 encryption and decryption using Python. It describes the objective of studying and implementing RC4 encryption and decryption. It provides an abstract on RC4, introduces the algorithm, lists software requirements, and describes the key scheduling algorithm and approach/methodology taken. It also includes sections on simulations/outputs, conclusions, references, and appendices with requirements like a group photo.

Uploaded by

sumer raravikar
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

DEPARTMENT OF

ELECTRONICS AND COMMUNICATION ENGINEERING


College of Engineering and Technology, SRM IST, Chennai

MINI PROJECT REPORT

EVEN Semester, 2022-23

Lab code & Name : 18ECC201J – Analog Electronic Circuits

Year & Semester : II Year, IV Sem

Project Title :

Lab Supervisor :

Team Members Name and Reg No :

Reg. No

Mark split up

Novelty in the project work (2 marks)

Level of understanding of the design formula (4 marks)

Contribution to the project (2 Marks)

Report writing (2 Marks)

Total (10 Marks)

Date: Signature of Lab Supervisor

1
RC4 ENCRYPTION AND DECRYPTION

OBJECTIVE

To study and implement RC4 encryption and decryption using python.

ABSTRACT

RC4 is a stream cipher designed in 1987 by Ron Rivest for RSA Security. It is a variable key
size stream cipher with byte-oriented operations. The algorithm is based on the use of a
random permutation. Analysis shows that the period of the cipher is overwhelming likely to
be greater than [ROBS95a]. Eight to sixteen machine operations are required per output byte,
and the cipher can be expected to run very quickly in software. RC4 is used in the Secure
Sockets Layer/Transport Layer Security (SSL/TLS) standards that have been defined for
communication between Web browsers and servers. It is also used in the Wired Equivalent
Privacy (WEP) protocol and the newer WiFi Protected Access (WPA) protocol that are part
of the IEEE 802.11 wireless LAN standard. RC4 was kept as a trade secret by RSA Security.
In September 1994, the RC4 algorithm was anonymously posted on the Internet on the
Cypherpunks anonymous remailers list.

INTRODUCTION

The RC4 algorithm is remarkably simple and quite easy to explain. A variable-length key of
from 1 to 256 bytes (8 to 2048 bits) is used to initialize a 256-byte state vector S, with
elements. At all times, contains a permutation of all 8-bit numbers from 0 through 255. For
encryption and decryption, a byte is generated from S by selecting one of the 255 entries in a
systematic fashion. As each value of is generated, the entries in S are once again permuted.

SOFTARE REQUIREMENT:

 Jupyter Notebook
 Python 3

2
APPROACH/METHODOLOGY:

RC4 is a symmetric stream cipher and variable key length algorithm. This
symmetric key algorithm is used identically for encryption and decryption such that
the data stream is simply XORed with the generated key sequence. The algorithm is
serial as it requires successive exchanges of state entries based on the key
sequence. The algorithm works in two phases:

Key Scheduling Algorithm (KSA ):

 It is used to generate a State array by applying a permutation using a


variable-length key consisting of 0 to 256 bytes.

 The state vector is identified as S[0], S[1]…. S[255] is initialized with {0, 1, 2,


…, 255}. The key K[0], K[1], …., K[255] can be of any length from 0 to 256
bytes and is used to initialize permutation S. Each K[I] and S[I] is a byte.

 K is a temporary array if the length of the key is 256 bytes copy it to K else
after copying the remaining positions of K are filled with repeated Key
Values until full.

Pseudocode For Key Scheduling Algorithm:

S[] is permutation of 0, 1, ..., 255


key[] contains N bytes of key

for i = 0 to 255
S[i] = i

// Selects a keystream byte from


// the table
K[i] = key[i (mod N)]
i++
j = 0
3
for i = 0 to 255
j = (j + S[i] + K[i]) mod 256

// Swaps elements in the current


// lookup table
swap(S[i], S[j])
i = j = 0

4
5
SIMUALTIONS RESULTS/OUTPUTS:

CONCLUSIONS

REFERENCES

6
APPENDIX

 GROUP PHOTO : Take a GEOTAG group photo of your batch with working model and
paste at the end of the report (Try to take the group photo in college lab)

You might also like