Voice encryption for gsm using arduino

Post on 04-Feb-2015

2.008 views 8 download

description

 

Transcript of 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

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.

PhoneArduino

SpeakersArduinoPhone

Microphone

Bluetooth

Bluetooth

BLOCK DIAGRAM OF THE SYSTEM

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.

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.

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.

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.

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.

• 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).

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

BLOCK DIAGRAM OF THE AUDIO INPUT CIRCUIT

Microphone Amplifier DC Offset Arduino

CIRCUIT DIAGRAM

AUDIO INPUT SETUP

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.

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

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

• 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.

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

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

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.

• 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.

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