During the last few years we have seen formidable advances in digital and mobile
communication technologies such as cordless and cellular telephones, personal
communication systems, Internet connection expansion, etc. The vast majority
of digital information used in all these applications is stored and also processed
within a computer system, and...
In recent years, the elliptic curve cryptosystems (ECC) have received attention
due to their increased security with smaller key size which brings the advantage of less
storage area and less bandwidth. Elliptic curve cryptography provides a methodology
for obtaining high-speed, efficient, and scalable implementations of network security
protocols. In addition...
As the information-processing and telecommunications revolutions now underway will continue to change our life styles in the rest of the 21st century, our personal and economic lives rely more and more on our ability to transact over the electronic medium in a secure way. The privacy, authenticity, and integrity of...
The Elliptic Curve Digital Signature Algorithm (ECDSA) is one of the most popular algorithms to digitally sign streams or blocks of data. In this thesis we concentrate on porting and optimizing the ECDSA on the ARM7 processor for a particular NIST curve over GF(2[superscript m]). The selected curve is a...
The Elliptic Curve Digital Signature Algorithm (ECDSA) is the elliptic curve analog of the Digital Signature Algorithm (DSA) and a federal government approved digital signature method. In this thesis work, software optimization techniques were applied to speed up the ECDSA for a particular NTST curve over GF(p). The Montgomery multiplication...
In this thesis, we study the Karatsuba-Ofman Algorithm (KOA), which is a recursive multi-precision multiplication method, and improve it for certain special applications. This thesis is in two parts. In the first part, we derive an efficient algorithm from the KOA to multiply the operands having a precision of 2[superscript...
We describe novel methods for obtaining fast software implementations of the arithmetic operations in the finite field GF(p) and GF(p[superscript k]). In GF(p) we realize an extensive speedup in modular addition and subtraction routines and some small speedup in the modular multiplication routine with an arbitrary prime modulus p which...
A timing attack on a cryptosystem allows the attacker to deduce the secret key information based on the timing differences with respect to different inputs given to an encryption or decryption algorithm. Cryptosystems can take variable amounts of time to process due to performance optimizations in software, branching or conditional...
Random number generation is important in many fields today. It is particularly important in the field of cryptography when generating nonce values, cryptographic keys, and other data required in many cryptographic applications. The proliferation of small, handheld devices that are typically connected to large networks via a wireless connection requires...
Instant Messaging (IM) has grown rapidly among network users. It has even become a very important tool for the industry around the world. It is used in scheduling meetings, exchanging business information and clients information, and so on. Instant Messaging has been developed by private sectors or providers such as...
Hardware cryptography offers a reliable way to provide security for data that is sent over networks. Security processors have taken the stage in the movement for secure computing. Some of the more prominent security processors belong to the S1 family created by Motorola. The primary goal of this thesis is...
Timing attacks enable an attacker to extract secret information from a cryptosystem by observing timing differences with respect to different inputs given to an encryption or decryption algorithm. Werner Schindler has proposed a timing attack on smart card devices. We implemented this attack based on the same approach for RSA...
This paper discusses Java Bytecode Obfuscation techniques that make the reverse engineering task more difficult. This paper is structured as follows: Java virtual machine and Java language specifications are discussed first. Then the paper talks about different techniques for protecting software and then details one promising approach named Obfuscation. The...
The Advanced Encryption Standard (AES) is the new standard for cryptography and has gained wide support as a means to secure digital data. Hence, it is beneficial to develop an implementation of AES that has a high throughput. SIMD technology is very effective in increasing the performance of some cryptographic...
With the current security climate throughout the Internet, a large emphasis is being placed on protecting software systems from attack by a malicious entity. Most successful attacks against software are the result of lazy or misinformed developers and are easily prevented given the correct preparation and instruction. This document provides...
The SIMD (single-instruction, multiple-data) architecture is implemented in many popular general-purpose processor families, including Intel Pentium. In this paper, we examine if any performance gains can be obtained in the implementation of the Secure Hash Algorithms (SHA-1, SHA-256, SHA-384, and SHA-512) and present the details of our optimization methods and...
Modern cryptanalysis is generally based on the mathematical theory. However, side-channel analysis has become increasingly popular recently. The benefit of side-channel cryptanalysis is due to the fact that performers can mount attacks with low costs in terms of time and equipment and are highly successful in extracting useful results. The...
Symmetric key block ciphers, such as AES, are well known and frequently used. There are five confidentiality modes of operation that are currently recommended for use with a symmetric key block cipher algorithm: Electronic Codebook (ECB), Cipher Block Chaining (CBC), Cipher Feedback (CFB), Output Feedback (OFB), and Counter (CTR). This...
Advanced Encryption Standard (AES) is one of the secret key algorithms used in Cryptography. It is applied in a variety of applications including smart cards, internet web servers, automated teller machines (ATMs), etc. Both hardware and software implementations are taken into consideration while addressing AES algorithms. In addition to reaching...
In many areas of engineering and applied mathematics, spectral methods provide very powerful tools for solving and analyzing problems. For instance, large to extremely large sizes of numbers can efficiently be multiplied by using discrete Fourier transform and convolution property. Such computations are needed when computing π to millions of...
The Elliptic Curve Digital Signature Algorithm (ECDSA) is a public key cryptosystem used for creation and verification of digital signatures in electronic documents. In this thesis, we created a Java applet that provides the functionality of the ECDSA using all of the NIST elliptic curves over GF(p). This applet was...
AES (Advanced Encryption Standard), also known as Rijndael, is a symmetric key block cipher adopted as an encryption standard by the US government and used extensively in cryptographic applications worldwide. ARM is the most popular processor core used in embedded applications. This thesis surveys the available public implementations of AES...
Authentication protocols play important roles in network security. A variety of authentication protocols ranging from complex public-key cryptosystems to simple password-based authentication schemes have been proposed. However, currently there is no fully secure authentication scheme that can resist all known attacks. When a user authentication is performed over an insecure...
Cryptographic devices leak timing and power consumption information that is easily measurable, radiation of various levels, and more. Such devices also have additional inputs, other than plaintext and keys, like voltage, which can be modified to force the device to produce certain faulty outputs that can be used to reveal...