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...
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...
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...
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...
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...
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...
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...
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...
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...