Book Image

Android Application Security Essentials

By : Pragati Rai
Book Image

Android Application Security Essentials

By: Pragati Rai

Overview of this book

In today's techno-savvy world, more and more parts of our lives are going digital, and all this information is accessible anytime and anywhere using mobile devices. It is of the utmost importance that you understand and implement security in your apps that will reduce the likelihood of hazards that will wreck your users' experience. "Android Application Security Essentials" takes a deep look into Android security from kernel to the application level, with practical hands-on examples, illustrations, and everyday use cases. This book will show you how to overcome the challenge of getting the security of your applications right. "Android Application Security Essentials" will show you how to secure your Android applications and data. It will equip you with tricks and tips that will come in handy as you develop your applications.We will start by learning the overall security architecture of the Android stack. Securing components with permissions, defining security in a manifest file, cryptographic algorithms and protocols on the Android stack, secure storage, security focused testing, and protecting enterprise data on your device is then also discussed in detail. You will also learn how to be security-aware when integrating newer technologies like NFC and mobile payments into your Android applications. At the end of this book, you will understand Android security at the system level all the way to the nitty-gritty details of application security for securing your Android applications.
Table of Contents (18 chapters)
Android Application Security Essentials
Credits
Foreword
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Hashing functions


Hashing functions are algorithms that work on data of an arbitrary length to produce a fixed length output. Given the same input, the output is always the same and for different input values, the output is always different. These functions are one way, which means that the reverse operation on data is not possible.

In mathematical terms, a one-way hash function can be defined as follows:

Given a message M, and a one-way hash function H, it is easy to compute x such that H(M) = x. But given x and H, it is infeasible to get the message M. This can be shown mathematically as follows:

H(M) = x

H(x) ≠ M

Another property of hash functions is low collision probability. This means that given a message M, it is hard to find another message M, such that:

H(M)H(M')

One-way hash functions can be used for various applications. They are used to create a fixed size output for a variable length string. Using a hash, a value can be securely stored as given by the hash; it is unfeasible to retrieve...