You are on page 1of 4

Volume 5, Issue 4, April 2015 ISSN: 2277 128X

International Journal of Advanced Research in


Computer Science and Software Engineering
Research Paper
Available online at: www.ijarcsse.com
Special Issue on Impact of Technology on Skill Development
Conference Held at IETE Amravati Center, Maharashtra, India
Raspberry Pi Technology
Ms. Sejal V. Gawande*, Dr. Prashant R. Deshmukh
*Student, Computer Science and Engineering, Sipna C.O.E.T., Amravati, Maharashtra, India

Abstract: Now-a-days, computer is not only a luxury It has been ready for public consumption since 2012
but also a necessity for every person in todays world. with the idea of making a low-cost educational
Raspberry pi is a credit-card sized computer aimed at microcomputer for students and children. The main
providing a computer to every person in the world. purpose of designing the raspberry pi board is to
Raspberry Pi is intended to provide a base on which encourage learning, experimentation and innovation for
kids can learn programming while enthusiasts can do school level students. The raspberry pi board is a
different types of commercial programming. It serves portable and low cost. Maximum of the raspberry pi
as an efficient base due to its low cost and the number computers is used in mobile phones. It enables people
of interfaces available. The Raspberry Pi can be used of all ages to explore computing, learn programming
instead of a personal computer, but with some languages like Python and can be used for many tasks
limitations due to its limited processing power. In this that a computer does, like games, browsing internet,
paper we will learn about the basics, hardware and its word processing, spreadsheets and also playing video.
implementation of RC4 algorithm using two raspberry The Raspberry Pi is manufactured in three board
pi boards to enable UART communication. configurations through licensed manufacturing deals
with Newark element14 (Premier Farnell), RS
Index Terms: Raspberry pi, credit-card sized, RC4 Components and Egoman. These companies sell the
algorithm, UART communication Raspberry Pi online. [1, 2, 3, 4]

I. INTRODUCTION II. THE CREATION OF PI


The idea behind a tiny and affordable computer for kids
came in 2006, when Eben Upton, Rob Mullins, Jack
Lang and Alan Mycroft, based at the University of
Cambridges Computer Laboratory, became concerned
about the year-on-year decline in the numbers and skills
levels of the A Level students applying to read
Computer Science. From a situation in the 1990s where
most of the kids applying were coming to interview as
experienced hobbyist programmers, the landscape in the
2000s was very different; a typical applicant might only
have done a little web design.[5,6]

III. HISTORY
Fig. 1:- Overview of Raspberry Pi Processor In 2006, early concepts of the Raspberry Pi were based
on the Atmel ATmega644 microcontroller. Its
The Raspberry Pi is a low cost, credit-card sized single schematics and PCB layout are publicly
board developed at United Kingdom. It was designed available. Foundation trustee Eben Upton assembled a
and manufactured by Raspberry Pi Foundation from UK group of teachers, academics and computer enthusiasts
with the intention of stimulating the teaching of basic to devise a computer to inspire children. The computer
computer science in schools students and every other is inspired by Acorn's BBC Micro of 1981. Model A,
person interested in computer hardware, programming Model B and Model B+ are references to the original
and DIY (Do-it Yourself) projects. It acts like a models of the British educational BBC Micro computer,
computer when plugs into a computer monitor or TV, developed by Acorn Computers. The first ARM
and uses a standard keyboard and mouse.

2015, IJARCSSE All Rights Reserved Page | 37


Gawande et al., International Journal of Advanced Research in Computer Science and Software Engineering 5 (4),
April- 2015, pp.37-40
prototype version of the computer was mounted in a message. When it is received at the right computer
package the same size as a USB memory stick. It had a using decryption coding the pseudo random sequence is
USB port on one end and an HDMI port on the other. converted into plain text using the symmetric key. In
[7] this way UART communication occurs using raspberry
pi technology.
IV. HARDWARE A] Working of the RC4 Algorithm:
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. [8]
The RC4 algorithm is simple and quite easy to explain.
The keystream is generated from a variable length key
Fig. 2:- Internal hardware of Raspberry Pi using an internal state composed of the following
In the above block diagram for model A, B, A+, B+; elements:
model A and A+ have the lowest two blocks and the A 256 bytes array S containing a permutation
rightmost block missing (note that these three blocks of these 256 bytes.
are in a chip that actually contains a three-port USB Two indexes i and j, used to point elements in
hub, with a USB Ethernet adapter connected to one of the S array.
its ports). In model A and A+ the USB port is connected Once the S array has been initialized, the next step does
directly to the SoC. On model B+ the chip contains a the shuffling of array using the key to make it a
five point hub, with four USB ports fed out, instead of permutation array. This permutation array is generated
the two on model B. [7] using key scheduling algorithm. To do so, we iterate
256 times the following actions after initializing i and j
V. IMPLEMENTATION OF RASPBERRY PI to 0. Once i has reached 256, the S array is initialized
TECHNOLOGY and shuffled with the key-scheduling algorithm, then it
is modified in the pseudo-random generation algorithm
to generate the keystream. The initializing of the S table
with the identity permutation: the values in the array are
equal to their index.
compute j = j + S[i] + key[i mod keylength]
swap S[i] and S[j]
increment i
Here is pseudo-code corresponding to the key-
scheduling algorithm:
Fig. 3: Implementation of RC4 algorithm between two for i from 0 to 255
Raspberry Pi boards. S[i] := i
We implement RC4 algorithm using two raspberry pi endfor
boards enabling UART communication. So according to j := 0
RC4 algorithm left board will be used for encryption for i from 0 to 255
and the right board will be used as decryption. First we j := (j + S[i] + key[i mod keylength])
need to send encrypted message from the left raspberry mod 256
pi board and the right raspberry pi board will ask for the swap values of S[i] and S[j]
symmetric key to decrypt the message. So we need to endfor
enable the UART communication. So in the above Now that the S array is generated, it is used in the next
figure we can see that red wire is used to transmit for step to generate the keystream.
left board to right board and white wire is connected to To do so, we first initialize the two indexes to 0 and we
left board to receive from right board and black wire is then start the generation of the keystream one byte at a
used for ground. The boards are connected to two time until we reached the size of the message to
laptops using Navy Blue colour USB cables. The left encrypt. For each new byte to compute we do the
computer consist of encrypting and sending message following actions:
code and the right computer consist of decrypting and
Compute new value of i and j:
receiving message code. According to RC4 algorithm,
i := (i + 1) % 256
the c code converts the plaintext into cipher text using a
j := (j + S[i]) % 256
symmetric key given by user. This generates pseudo
Swap S[i] and S[j] to have a dynamic state
random sequence of the cipher text when sending the

2015, IJARCSSE All Rights Reserved Page | 38


Gawande et al., International Journal of Advanced Research in Computer Science and Software Engineering 5 (4),
April- 2015, pp.37-40
Retrieve the next byte of the keystream from The following figure shows the working of RC4
the S array at the index algorithm:
S[i]+S[j]% 256
Here is pseudo-code corresponding to the pseudo-
random generation algorithm:
i := 0
j := 0
while GeneratingOutput:
i := (i + 1) mod 256
j := (j + S[i]) mod 256
swap values of S[i] and S[j]
K := S[(S[i] + S[j]) mod 256]
output K
endwhile

This array helps to generate a pseudo-random


keystream. It is called pseudo random because it
generates a sequence of numbers that only approximates
the properties of random numbers.
The steps of algorithm are as follows: Fig. 4:- Working of RC4 Algorithm.
1. The key stream is generated from a variable sized
length called as an array. VI. APPLICATIONS
2. The key scheduling algorithm is used to generate Applications of raspberry pi technology are as follows:
permutation array using the key length. Used in programming concepts and hardware
3. This array is then shuffled with permutation array interfacing.
to generate a sequence of bits. Used for making digital photo frames, tablets
4. This sequence of bits is generated by pseudo etc.
random generator called as pseudo random Used in robotics for controlling motions,
number. sensors, etc.
5. The pseudo random numbers are XORed with the Can be used in creating and handling of small
plaintext to generate ciphertext. servers.
6. The reverser process happens on decryption end Used in voice activated coffee machine.
and the plaintext is generated from the
Used in automated system to detect leakage
ciphertext.[9,10]
from microwave oven. [11]

VII. ADVANTAGES [3] Pete Sopar, Alan Dipert, Clinton Dreisbach and
It is credit-card sized single board computer. Peter Reintjes, An Introduction to Raspberry Pi
January 10, 2013.
Due to its low cost, it is affordable.
[4] Raspberry Pi Education Manual Version 1.0
Due to its size, it can be hidden anywhere,
December 2012 United Kingdom: Computing at
behind television sets, within walls etc.
School Organization
It provides high performance.

It provides basic computer functions like It will not be useful for bigger businesses that
word processing, web browsing etc. [12] already have big servers. [12]

VIII. DISADVANTAGES IX. CONCLUSION


Though it can be used as a computer but it is This paper gives us the detail knowledge about
closer to a mobile device. raspberry pi technology. Also that raspberry pi is an
Since it is not covered with any case, it is innovative product which is available in market at a low
exposed and can be touched easily which can cost. Due to its credit-card sized single board, it is very
cause damage. easy to handle. This device is really helpful to anyone
It is time consuming to download and install who wants to learn electronics and computers.
software and is unable to do complex Raspberry pi helps to increase hardware knowledge and
multitasking. software applications related to it. Raspberry pi is an

2015, IJARCSSE All Rights Reserved Page | 39


Gawande et al., International Journal of Advanced Research in Computer Science and Software Engineering 5 (4),
April- 2015, pp.37-40
amazing piece of hardware because of the combination
of the features of a traditional computer and an [7] Working of RC4 Algorithm [Online]. Available:
embedded device. Here we have implemented the RC4 http://securityblog.redhat.com/category/
algorithm using two raspberry pi boards to create the Cryptography/page/3/
communication between the two computers. Use of
RC4 algorithm has enhanced the working between these [8] Rick Wash Stream Ciphers and RC4, lecture notes
computers. of Computer Science, Working paper. September 2001

REFERENCES [9] Applications [Online]. Available:


[1] Raspberry pi. [Online]. Available: http://www.slideshare.net/nipunmaster/a- seminar-
http://www.raspberrypi.org/ report-on-raspberry-pi

[2] Eben Upton, Gareth Halfacree: Raspberry Pi User [10] Advantages-Disadvantages [Online]. Available:
Guide 1st edition 2010 John Wiley & Sons Ltd., http://sites.google.com/site/mis237groupprojectrasp
Publication, United Kingdom. berry/home/what-is-raspberry-pi/pros-and-cons-of-the-
raspberry-pi
[3] Raspberry Pi Technology [Online]. Available:
http://www.collegelib.com/t-raspberry-pi-technology-
intro-specifications-seminar-abstract-technical-
report.html

[4] Raspberry pi guide [Online]. Available:


http://www.raspberrypi.org/quick-start-guide

[5] History and Hardware [Online]. Available:


http://en.wikipedia.org/wiki/Raspberry_Pi

[6] William Stallings: Cryptography and Network


Security, 4th Edition Prentice Hall

2015, IJARCSSE All Rights Reserved Page | 40

You might also like