voice encryption for gsm using arduino

22
VOICE ENCRYPTION FOR GSM USING ARDUINO BY SRIRAM BALASUBRAMANIAN AND VIJAYARAGHAVAN GOVINDARAJAN COURSE PROJECT FOR ECE/CS 561 – HARDWARE/SOFTWARE DESIGN OF EMBEDDED SYSTEMS

Upload: iruldaworld

Post on 04-Feb-2015

2.005 views

Category:

Documents


8 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Voice encryption for gsm using arduino

VOICE ENCRYPTION FOR GSM USING ARDUINO

BYSRIRAM BALASUBRAMANIAN

ANDVIJAYARAGHAVAN GOVINDARAJAN

COURSE PROJECTFOR

ECE/CS 561 – HARDWARE/SOFTWARE DESIGN OF EMBEDDED SYSTEMS

Page 2: Voice encryption for gsm using arduino

ABSTRACT

• GSM bears numerous security vulnerabilities.• Phone calls can be

hacked/over-heard/recorded by professional hackers or by even service providers.

• To add privacy and security to the GSM communication system by embedding encryption and decryption algorithms onto an arduino.

Page 3: Voice encryption for gsm using arduino

PhoneArduino

SpeakersArduinoPhone

Microphone

Bluetooth

Bluetooth

BLOCK DIAGRAM OF THE SYSTEM

Page 4: Voice encryption for gsm using arduino

INTRODUCTION

• An analog speech signal is fed into an Arduino through a Microphone.

• The Arduino converts the speech signal into discrete samples.

• We encrypt these Digital samples by means of a simple Encryption algorithm.

• The encrypted signal is sent to an Android phone over Bluetooth and the phone transmits the encrypted voice signal to the receiver.

Page 5: Voice encryption for gsm using arduino

INTRODUCTION

• At the receiving side, the received signal is fed into an Arduino(again over Bluetooth) .

• Here, we decrypt the signal and convert it back into analog, which is fed into speakers.

Page 6: Voice encryption for gsm using arduino

COMPLETED TASKS

• Audio input to the Arduino:

Implemented the Audio input circuit which provides the Speech signal to the Arduino. • Encryption:

Developed a simple encryption algorithm to scramble the speech signal and to transmit the same through a Bluetooth module.• Android Application

Developed an Android Application for discovering paired devices and to stream voice to the selected device during a real time phone call.

Page 7: Voice encryption for gsm using arduino

TECHNICAL ASPECTS

• Basically a development board.• Chosen because of its extensive community

support, as well as its relatively simple programming language.

• Written in a C-based language.• Arduino program has a setup stage and a loop

stage.• Setup stage runs immediately after the unit receives

power, and the run stage loops continuously.

Page 8: Voice encryption for gsm using arduino

BLUETOOTH

• Wireless technology standard for exchanging data over short distances

• ISM band from 2400–2480 MHz• Bluetooth is special in that it uses profiles to

carry out specific tasks.• The HSP is the most commonly used profile,

providing support for the popular Bluetooth Headsets to be used with mobile phones.

Page 9: Voice encryption for gsm using arduino

• The Headset Profile inherits from the SPP • Adds features such as volume control, call

answering, hang up, and voice dial.• It relies on SCO(Synchronous connection-

oriented) links for audio encoded in 64 kbit/s CVSD or PCM(We have used PCM).

Page 10: Voice encryption for gsm using arduino

AUDIO INPUT TO THE ARDUINO

Method of audio preparation - so that it can be processed and sampled by the Arduino.

Components used:• Microphone• 9 V batteries• Operational Amplifiers (TL072)• Resistors (100K and 10K ohm)• Capacitors( 47n and 10u F)• Wires

Page 11: Voice encryption for gsm using arduino

BLOCK DIAGRAM OF THE AUDIO INPUT CIRCUIT

Microphone Amplifier DC Offset Arduino

Page 12: Voice encryption for gsm using arduino

CIRCUIT DIAGRAM

Page 13: Voice encryption for gsm using arduino

AUDIO INPUT SETUP

Page 14: Voice encryption for gsm using arduino

AUDIO PROCESSING BY THE ARDUINO

• We give the output of the Audio Input circuit to the analog input (A0) of the Arduino.

• Continuous sampling of Audio from port A0.• We consider the most significant 8 bits of the

ADC output for our encryption purposes.• Obtain this by left shifting the 10 bit ADC

output.

Page 15: Voice encryption for gsm using arduino

ENCRYPT THE DIGITALLY CONVERTED INPUT

• Since the processing power of the Arduino is not very high, we employ a rather simple encryption algorithm to decrease the processing delays.

while(incomingAudio)

{

r = incomingAudio % 10;

reverse = reverse* 10 + r;

incomingAudio=incomingAudio/10;

}• Transmit the encrypted voice signal via the Bluetooth module to the

Android phone

• We follow a similar procedure for decryption

Page 16: Voice encryption for gsm using arduino

Android Application Development

ARDUINO BLUETOOTH• Checks if the Bluetooth Adapter is available on the

device.• If it is not available, sends out a message saying that

Bluetooth is not available on the device.• If Bluetooth is available on the device, but is not

enabled, sends out a request to the user to turn on Bluetooth.

• After Bluetooth is turned on, the app gets a list of paired devices on the device and starts its discovery

Page 17: Voice encryption for gsm using arduino

• If a device is discovered and is on the existing paired devices list, it is added to the list of discovered paired devices which is displayed on the device screen.

• Upon the selection of the paired device, with which the user wants to connect, a connection is established and a new activity for calling is opened.

• For testing purposes, we have just given the option of calling one person. We have done this to test the effectiveness of voice transmission.

Page 18: Voice encryption for gsm using arduino

CHALLENGES FACED

• Difficulties in connecting our phone with the Bluetooth module

• Problem was in identifying the UUID of our device

• Playing Audio from a prerecorded file.• When we tried to play a file, all we were able

to hear was just White noise

Page 19: Voice encryption for gsm using arduino

ISSUES

• We are able to transmit audio over a Bluetooth SCO link, which is usually used in Headset Profile and Hands Free profile protocols.

• Unfortunately, the firmware of the Bluetooth module which we have used in the project does not support the headset profile.

• Instead, it just supports the SPP(Serial Port Profile) protocol.

• Hence our Android phone is not able to recognize the Bluetooth device as a possible SCO link

Page 20: Voice encryption for gsm using arduino

PROPOSED SOLUTION

• Instead of using an external Bluetooth module, the OSEPP BTH-01(with Arduino support) can be used as an alternative.

• The OSEPP BTH-01 comes with an ATMEGA microcontroller and a BTW11 audio bluetooth module, which supports over 10 bluetooth profiles, with BlueGiga’s iWrap firmware.

• To be in particular, it supports the HSP and HFP, which is required for our project.

Page 21: Voice encryption for gsm using arduino

• By monitoring the states of the HSP/HFP protocol, the OSEPP BTH-01 can be programmed to behave like a headset.

• For example, upon the arrival of HFP RING state and if the phone is OFFHOOK, the device can be programmed to be in the Call in Progress state. In the Call in Progress state, Audio signals can be received from and also transmitted to a device with which connection has been established.

Page 22: Voice encryption for gsm using arduino

CONCLUSION

• We live in times where in a lot of importance has been given for safeguarding privacy.

• We believe that our project has helped to improve privacy protection in this digital age