Feeds:
Posts
Comments

Paper link in IEEE Explore

AES-CBC software execution optimization

Doomun Razvi   Doma Jay   Tengur Sundeep
Computer Science and Engineering, University of Mauritius, Mauritius;
This paper appears in: Information Technology, 2008. ITSim 2008. International Symposium on
Publication Date: 26-28 Aug. 2008
Volume: 1,  On page(s): 1-8
Location: Kuala Lumpur, Malaysia,
ISBN: 978-1-4244-2327-9
Digital Object Identifier: 10.1109/ITSIM.2008.4631586
Current Version Published: 2008-09-26

Abstract
With the proliferation of high-speed wireless networking, the necessity for efficient, robust and secure encryption modes is ever increasing. But, cryptography is primarily a computationally intensive process. This paper investigates the performance and efficiency of IEEE 802.11i approved Advanced Encryption Standard (AES)-Rijndael ciphering/deciphering software in Cipher Block Chaining (CBC) mode. Simulations are used to analyse the speed, resource consumption and robustness of AES-CBC to investigate its viability for image encryption usage on common low power devices. The detailed results presented in this paper provide a basis for performance estimation of AES cryptosystems implemented on wireless devices. The use of optimized AES-CBC software implementation gives a superior encryption speed performance by 12 − 30%, but at the cost of twice more memory for code size.

http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=4631586

My Final Year Project

Wireless Security Software Code Re-engineering

Working on this project has been most beneficial to me, in more than a way. I have gathered the required skills and aptitudes to analyse and tackle complex algorithms such as the Advanced Encryption Standard. It has been a whole new adventure into the world of cryptography and digital security. For everything I have gained while working on this project, I must thank all the people who have given me advice, support and encouragement.

My heartfelt gratitude goes to my project coordinator, Mr Razvi Doomun, who has been of great help and assistance through all the steps of this project. His thoughtful advice and constant guidance have allowed me to thread on the right path, without losing focus of my objectives. I am grateful for all the opportunities he has given me and for his invaluable coaching.

My appreciation also goes to my project partner, Sundeep Tengur. We have worked collaboratively to solve several complex issues and problems we have encountered. His comments and suggestions have helped us both to achieve our objectives and meet all the requirements set in this project. Besides working together, we have share great moments of friendship while working towards our project goals.

Project Abstract:

The Advanced Encryption Standard is currently one of the most secure encryption algorithms. Unlike other algorithms such as WEP which have been cracked and exposed, AES stills holds its integrity due to the complex and random nature that data is encrypted through it. With the increasing number of mobile computing devices and along with it, the increasing demand for wireless transmissions, the need for a new adapted security protocol arises. Therefore, the 802.11i specification has been ratified in 2004 and it proposes the use of CCMP – Counter Mode with Cipher Block Chaining Message Authentication Protocol, an AES-based algorithm.
This project aims at optimizing the AES algorithm for wireless transmissions of mobile devices by reducing the execution time while preserving the encryption strength of AES. The optimised algorithm developed will preserve and make optimum use of mobile device resources such as CPU clock cycles, memory and battery power. The objectives also include the investigation of AES in Cipher Block Chaining (CBC) mode. Several simulations are conducted to analyse the speed, resource consumption and encryption robustness of AES-CBC to investigate its viability for image encryption usage on common low power devices.
This project focused on the encryption part of the AES and AES-CBC while performing different simulations for the encryption process on varying file size, increasing number of rounds, partial optimisations and image encryption.

Problem Statement:

AES is a robust algorithm built for encryption of data in computer systems. However it was mainly designed for powered computers running on wired networks. However nowadays, the trend in computing technology is geared towards small, self-powered wireless devices such as PDAs, tablet PCs, laptops and smart-phones, able to run micro computer applications. Several more issues now come into consideration and have to be addressed, namely:
1. Reducing execution time on mobile devices.
2. Battery cycles and standby time.
3. Low memory and slow processor limitations.
4. Security while communicating through wireless channels.

Motivation

The motivation behind this project was to contribute to computer science by optimising the use of AES for mobile devices. Since there is no adapted version of AES for mobile devices and wireless networks to date, we earnestly hope to re-engineer AES to cope with problems that it may encounter while being run on those devices. We predict that in the very near future, a very large portion on computer devices will be mobile or pocket devices, connecting wirelessly to their base stations and therefore the robustness of AES, coupled with modifications to address issues proper to mobile equipment, can turn out to be a very powerful tool for mobile data encryption.

Main Objectives

In this project we try to understand the issues that must be considered when implementing block ciphers to wireless transmissions. One of the goals is to find ways to exploit the medium to its maximum and to use all available resources in an optimum way so as to achieve the highest possible rate of encryption.

Blocks of data can be copied with encryption for virtually the same cost as copying alone. Hence our main objective is to achieve these results by paying very careful attention to the scheduling of instructions and memory references, loop unrolling, and careful hand-optimization of the inner loop of both copy and copy-plus-encrypt operations. In other words, memory copy with encryption can be made virtually as efficient as a traditional memory copy using different optimization techniques.

The following action shall be initiated to address the issues specified in the problem statement:

1. To cater for memory limitations:

Adopt programming language with more concise syntax

2. To cater for battery life:

Reduce execution time
Measure performance of improved security software using reengineering & optimisation techniques.

3. To cater for low processing power:

Optimise execution of software

Detailed Objectives

To analyse the AES encryption algorithm complexity.
To use existing AES encryption library tools as a benchmarks.
To run AES encryption software on different wireless devices/hardware platforms, e.g. PC, laptop, PDA.
To apply different software engineering techniques that optimise code execution, i.e. reengineering the code or algorithm of AES for better performance.
To run several simulations of AES software for different optimisations incrementally and interpret simulation results qualitatively and quantitatively.
To measure the performance gain (execution time, processing, battery usage, memory usage) for different simulation cases and critically analyse the results.

AES Operations

The AES consists of 4 main operations:-

  1. AddRoundKey
  2. SubBytes
  3. ShiftRows
  4. MixColumns

Analysis of Encrypted Image using AES

Images of various sizes are executed for run-tests and the resultant encrypted cipher-image are analysed for encryption strength. Images of various types are used, namely:
Type 1 – simple object on plain background
Type 2 – objects on textured background with more details
Type 3 – structured images with much small details

Image Type 1 : simple object on plain background

Bike

Ecncrypted Image1

Observations:-

It is observed that the resultant cipher-image still displays some visible information about the shape, size and structure of the original image. This type of results occurs mostly for Type 1 images encrypted with a 128-bit key. As the key length goes stronger (192 and 256), the resultant encrypted image is more scrambled and less visual cues are displayed originating from the source image.

Image Type 2 : objects on textured background with more details

Image Type 2Encrypted Image Type 2

Observations:-

It is observed that the resultant cipher-image still displays some less visible information about the shape, size and structure of the original image. This type of results occurs mostly for Type 2 images encrypted with a 128-bit key. As the key length goes stronger (192 and 256), the resultant encrypted image is more scrambled and less visual cues are displayed originating from the source image.

Image Type 3 : structured images with much small details

Image Type 3

Encrypted Image Type 3

Observations:-

It is observed that the resultant cipher-image displays very little of the visible information about the shape, size and structure of the original image. This type of results occurs mostly for Type 3 images encrypted with a 128-bit key. As the key length goes stronger (192 and 256), the resultant encrypted image is more scrambled and less visual cues are displayed originating from the source image.

Analysis of Encrypted Image using AES CBC

Images of various sizes are executed for run-tests and the resultant encrypted cipher-image are analysed for encryption strength. Images of various types are used, namely:
Type 1 – simple object on plain background
Type 2 – objects on textured background with more details
Type 3 – structured images with much small details

Image Type 1 : simple object on plain background

Image Type 1

Encrypted Image Type 1 using AES CBC

Observations:-

It is observed that the encrypted image holds no visual cues and it is not possible to make out any shape or texture from the scrambled image about the original image.

Image Type 2 : objects on textured background with more details

Image Type 2

Encrypted Image Type 2 using AES CBC

Observations:-

It is observed that the encrypted image holds no visual cues and it is not possible to make out any shape or texture from the scrambled image about the original image.

Image Type 3 : structured images with much small details

Image Type 3

Encrypted Image Type 3 using AES CBC

Observations:-

It is observed that the encrypted image holds no visual cues and it is not possible to make out any shape or texture from the scrambled image about the original image.

Analysis of Encrypted Images while varying number of rounds for AES

2 Rounds

4 Rounds

2 Rounds                                                      4 Rounds

6 Rounds

8 Rounds

6 Rounds                                                       8 Rounds

Observations:-

The images are encrypted using the AES algorithm using various number of rounds. Note that a 128-bit key calls 10 rounds of encryption, 192-bits calls 12 rounds and a 256-bit long key calls 14 rounds of AES encryption. The number of rounds will be altered beyond and beneath the normal scope of AES to view the impact it is having on the encrypted images using 2,4,6 and 8 rounds.

Discussion:

The objectives of the project were to optimise the AES algorithm for encryption and decryption and these have been met. Simulations have been carried out to attest of same at each project milestone.
Several software optimisation techniques have been used to achieve faster execution time, less memory space and to reduce processor clock cycles, i.e, to make the algorithm less processor-intensive.
Loop unrolling, loop merging, removal of conditional statements and the implementation of lookup tables were applied to seek a gain in performance on AES codes. Simulations have proved that the optimised codes executed in less time, thus using less CPU cycles.

Performance gain on AES Encryption, from unoptimised to optimised codes.

  1. SubBytes() showed a performance gain of 26% in terms of execution speed.
  2. ShiftRows() displayed a performance of 30% in terms of execution speed.
  3. AddRoundKey() displayed a performance gain of 27% in terms of execution speed.
  4. Mixcolumn() displayed a performance gain of 16% in terms of execution speed.

This shows that 25-30% performance gain by optimizing the encrypt() function.

Performance gain on AES Decryption, from unoptimised to optimised codes.

  1. InvSubBytes() showed a performance gain of 26% in terms of execution speed.
  2. InvShiftRows() displayed a performance of 30% in terms of execution speed.
  3. AddRoundKey() displayed a performance gain of 27% in terms of execution speed.
  4. InvMixcolumn() displayed a performance gain of 11% in terms of execution speed.

This shows that 25-30% performance gain by optimizing the decrypt() function.

Future Work

This project has covered a wide scope of AES and AES-CBC encryption and decryption.

It has focused on core encryption and decryption operations, involving input text, text from a file and 24-bit BMP colour images. However there may be a few aspects that could be improved and developed in the future.

  1. JPEG Image Encryption & Decryption

Currently, the AES software encrypts only Bitmap images. Bitmap images have a fixed image header size and therefore it can be stored while the actual pixel contents of the image are encrypted. The same header is then appended to the encrypted pixels to display the scrambled image.
Had the image been encrypted along with its header information, its contents could not have been displayed. The resultant would have been an image file with same file size as the source image but with no viewable contents.
Encryption and Decryption of JPEG images have not been considered in this project as header information for JPEG images is not fixed and varies depending on the compression rate and the type of JPEG encoding (Baseline JPEG, Progressive, etc..)

2. Video Encryption & Decryption

Another aspect in line with this project could be the encryption and decryption of video files. The individual frames would be treated as images and encrypted using the same algorithm.
The code could be optimised to encrypt compressed video formats such as MPEG-4. The code could also be enhanced to cater for temporal and spatial redundancy present in video compression, thus allowing more efficient encryption.

Welcome to the Death Clock(TM), the Internet’s friendly reminder that life is slipping away… second by second. Like the hourglass of the Net, the Death Clock will remind you just how short life is.

The death clock, death test, Death-o-meter or death meter, life death calculator is designed to give an idea about the possible life span and date.

Find out when you are going to die and discover your afterlife destiny!

Death Clock is a mysterious place where you will find out when you are going to die… but do you have the guts?

To view your Death Clock, simply complete the fields in the form to the left and hit the “Check Your Death Clock” button.

Chasing the Frog is a great resource, broken down into sections revealing different facts about Hollywood’s greatest hits.
Clicking on the True Stories section examines films based on historical fact. There are articles and interviews discussing the movies, which include mini-bios of the actors involved.
Clicking on Reel faces compares the movie’s cast to their real life counterparts. Take Donnie Brasco for instance; the Hollywood hoods led by Johnny Depp are slightly more glamorous than the real world gangsters.
Head over to the classics section to vote on your favourite mob and vampire movies or to check out the original trailers to Hollywood classics.
For further discussion, and to swap obscure film facts, take a trip over to the lively forum. And for a little bit of fun click on the Unmasked section and check out the faces and voices behind a couple of the movies’ scariest villains.
Movie news and latest box office returns round out the package. This is a fun little site that offers an interesting spin on movie websites.

If you have committed serious offenses, crimes, rapes there is one way to repent for all your sins.

iGod provides you with a chance to chat with god.

The iGod holds a massive 20,000 scriptures.

You cannot store any type of music apart from Christian rock and various commentaries. Although GodCasts and MusicMass can be easily accessed via God’s website MiTunes.

Funny Artificial Intelligence chat in a Flash interface. Repenting made easy.

So don’t waste time repent for all your sins you have committed.

Great Buildings documents over a thousand significant buildings across the world. From art-deco office blocks to ancient Greek temples, this site contains a wealth of information about buildings and their history.

Each buildings entry includes exterior and interior photos, architectural drawings, information about its architect and in some cases 3D walk-through computer models.
To find a specific building just click on the Search option and enter the building’s name. For a more refined search the Advanced option will filter by architect or location.
This site makes it really easy to compare different architectural styles from across history. The homepage includes a timeline option, which displays an historical buildings timeline, beginning at 3000BC and coming right up to to date. Clicking on highlighted buildings in this timeline opens their listings page.
This site isn’t just about great buildings, it pays homage to famous architects as well. It contains a directory of hundreds of notable contemporary and historical architects with biographies and links to some of their greatest architectural achievements.
A brilliant site for fans of design, architecture and history.
If you want to know about any new developments in the world of software, then Paul Thurrot’s SuperSite for Windows is for you.
This site contains all of the up-to-date information you may need about future Windows versions, office suites, the Playstation, XBox, Apple OSX and much more, and is updated weekly.
Created almost 10 years ago, the site provides FAQs, guides, reviews, product comparisons, screen shot galleries, video clips, and a weekly podcast looking into products as far back as Windows 98, both during development and after their release.
The navigation is really easy too. Just select your area of interest from the top menu or browse one of the newly added articles via the list on the left hand side and follow the links from there. All articles are dated and arranged in clear lists with further articles and relevant reading highlighted.
The thousands of screenshots provide a great visual aid to the humorous articles, making the normally dry topics really interesting for the casual reader. There are also videos of game trailers and gameplay, along with Windows tips.
This site isn’t just about Microsoft products. There are honest reviews about the new iPhone, Sony Playstation, Apple OSX, Linux and even Google. This is fantastic site which should satisfy your technology and software needs in the near future.
Most of us spend a lot of time in front of our emails and this application gives us the opportunity to make them a bit more fun. A bit gimmicky, but nevertheless an interesting idea.
Downloading the 3D Mailbox application reveals a whole new way to look at your emails. There’s a free version of the software to download and once it’s been setup you’ll find you’ve been transported to a virtual Miami Beach, a place where your emails are represented as bikini-clad avatars.
When you receive an email the avatars appear at the entrance to the hotel pool. Your spam manager acts a gatekeeper, only allowing through genuine messages to lounge by the pool. Spam is dispatched to the beach, where they are represented as overweight tourists. Hitting delete results in the spam taking a deadly swim in shark infested waters.
Meanwhile your unread emails perform lengths in the pool and read emails tan themselves on the sun loungers.
The outbox shows your avatars enjoying a drink, and if there are any emails which your spam manager is unsure about you’ll find them skating around on the hotel ice ring. The developers are currently working on other locations around the world, which will be available to subscribers soon.

Essentially this app is like a real beach holiday; after a few days it can get boring soaking up the rays. This is also processor-heavy software, so beware if you don’t have a high end PC.

Internet radio is a bit old hat now, especially with all the media rich websites you can find online. But there is still a time and a place for a good radio station, and Radiopaq provides a friendly place to find them.
Here you’ll find literally thousands of stations and a good spattering of podcasts for your listening pleasure, all wrapped up in a good-looking interface that’s a breeze to navigate. Again this site is in beta testing, so make sure you use the feedback button if you find any glitches.
You can listen for free, just remember your bandwidth will be sucked up by the feed.
If you choose to register you can get additional features, such as a place to store your favourite podcasts so the latest editions will always be waiting for you when you log in.

If you’d told me that science can be fun when I was in school I wouldn’t have believed you, but when I was in school there weren’t websites like this to enjoy.

Here you’ll find films and experiments on all things scientific. The interesting thing about the content here is it has been submitted by users of the site, so it’s really varied and often very entertaining – take the young lad making a turboturd out of sulphuric acid & sugar.

Navigate using the panel on the left. If you think you have the talent to contribute to the site take a look at About SciCast. There is even a competition running at the moment which you can find more about on Submit Film.

As well as the videos there are some great experiments you can try yourself. All experiments come with an illustrated step-by-step guide, so give in to your curiosity and expend your mind. And obviously make sure youngsters are properly supervised.

Older Posts »