16.05.2014 Views

Wireless Security.pdf - PDF Archive

Wireless Security.pdf - PDF Archive

Wireless Security.pdf - PDF Archive

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Cryptography 291<br />

in RSA is less simple than the encryption operations, but it reveals the security of the<br />

algorithm. Each RSA key is derived from a couple of large prime numbers, usually<br />

denoted as p and q . The public modulus n is the product of p and q, and this is where the<br />

security comes in 3 —it is generally considered to be impossible to determine the prime<br />

factors of very large numbers with any method other than brute-force. Given a sufficiently<br />

large number, even a modern computer cannot calculate the prime factors of that number<br />

in a reasonable amount of time, which is usually defined in terms of years of computing<br />

power. A secure algorithm typically implies thousands or millions of years (or more) of<br />

computing power is required for a brute force attack. The trick to RSA is that the private<br />

key ( d ) is derived from p and q such that exponentiation with modulus n will result in<br />

the retrieval of the plaintext message from the encrypted message (which was calculated<br />

by applying the public exponent e to the original message). All of the mathematics<br />

here basically leads to the result that RSA is slow, and something needs to be done if<br />

it is going to be utilized on a lower-performance system. As we mentioned, hardware<br />

assistance is really the only way to really speed up the algorithm, but there is a method<br />

that utilizes a property of the modular math used by RSA—it is based on an ancient<br />

concept called the Chinese Remainder Theorem, or CRT. CRT basically divides the RSA<br />

operation up using the prime factors p and q used to derive the public and private keys.<br />

Instead of calculating a full private exponent from p and q, the private key is divided<br />

amongst several CRT factors that allow the algorithm to be divided up into smaller<br />

operations. This doesn’t translate into much performance gain unless it is implemented on<br />

a parallel processor system, but any gain can be useful for a relatively slow, inexpensive<br />

embedded CPU.<br />

Using CRT to speed up RSA is pretty much the only known software method for<br />

optimizing RSA—it is simply a CPU-cycle-eating algorithm. For this reason, hardware<br />

optimization is really the only choice. This was recognized early on, and in the early 1980s<br />

there was even work to design a chip dedicated to RSA operations. Today’s PCs are now<br />

fast enough to run RSA entirely in software at the same level of performance as the original<br />

hardware-based solutions. However, given that a large number of modern embedded<br />

processors possess similar resources and performance characteristics to computers in the<br />

3 This description of the RSA algorithm is derived from “PKCS #1 v2.1: RSA Cryptography<br />

Standard (June 14, 2002),” from RSA <strong>Security</strong> Inc. Public-Key Cryptography Standards (PKCS),<br />

www.rsa.com.<br />

www.newnespress.com

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!