Cryptography (encryption) is the process of protecting information by transforming it into an unreadable format, called cipher text. This will usually be done using cryptographic key systems to encrypt and decrypt cipher text. These systems include the Diffie-Hellman key exchange, as well as Advanced Encryption…

Why is PKI necessary? The trouble with communication on the internet is that it is very easy for a third party to intercept the data being sent between two people. Even when using encryption it is relatively easy for a third party to pretend to…

Introduction This report will discuss the use of VPN technologies for secure communication across the internet. It will critically evaluate various VPN solutions and discuss the relevant security implications when adopting a VPN solution to support business goals. It will also describe the use of…

What is an API? An Application Programming Interface (API) is simply a way of exposing the internal functionality of a service in a safe way. This enables clients to be able to make use of a systems functions without the system having to compromise on…

What is an AsyncTask? AsyncTask is an abstract class that Android provides to do potentially time-consuming tasks that would otherwise hang-up the user interface whilst it waits for the task to finish. Android relies on AsyncTasks to be able to perform remote server API calls,…

The following is a reference implementation for retrieving your current geo-graphical location using your Android device. The following Helper class can be used in an activity to easily retrieve your the latitude and longitude for use with frameworks such as Google API v2 to show…

In some circumstance it will be necessary for your application to run background tasks whether the app. is open or not. For example: an alarm clock will sound when a certain time has been reached, or updating a users location so other users can see…

Introduction I will describe how to convert a web application using the HTTP protocol to HTTPS. I will explain what the protocols and relevant technologies are and how they are implemented, and the difference between a self-signed SSL certificate and one signed by a Certificate…

This post describes a simple example for implementing sockets. Sockets allow two programs to communicate across a network. It does this by allocated a unique port number to the program. This enables multiple networked programs to run from a single operating system, and allows fully-duplex…