CS 4005-705-01 Cryptography I Prof

Total Page:16

File Type:pdf, Size:1020Kb

CS 4005-705-01 Cryptography I Prof CS 4005-705-01 Cryptography I Prof. Alan Kaminsky Graduate Project: Team: “The Number Crunchers” Members: Sharif Hdairis Andrew Hoffman Nelson Powell Introduction Cryptography has progressed significantly from the days of substitution and affine ciphers, to the modern block and stream ciphers based on high order mathematics. This course provides an introduction to the fundamentals of cryptography as it applies to the field of security via the examination of both cryptography and cryptanalysis. This project focuses an empirical investigation on the statistical attributes of stream ciphers, specifically using the published Rabbit Stream Cipher with respect to the randomness of the key stream. The Rabbit Cipher algorithm is a stream cipher utilizing a 128-bit secret key with a 64- bit Initialization Vector (IV) [1][2]. The Rabbit Cipher efficiently encrypts 128-bits per iteration of the algorithm in a synchronous manner to provide an effective ciphered bit stream. The cipher was implemented using the Java language with the intent to utilize the Parallel Java Library [3] as provided by Dr. Alan Kaminsky. Using Object Oriented Design (OOD), the components of the cipher were abstracted in an effort to maximize the utility of fundamental components as well as provide for a possible context based encryption environment. The fundamental components were validated against test sets[2][4] to ensure functional compliance. This statistical analysis test suite TestU01 was used to determine the probability of randomness in cipher’s key stream. Since the Rabbit cipher uses four iterations to mix the key followed by four iterations to mix the IV, the analysis examines the effects on randomness within the keystream with respect to the number of initialization rounds. The “Crush” battery of tests outlined in TestU01 provided the verification of randomness as stated by the original author. 1 Table of Contents Introduction Rabbit Algorithm Mathematical Syntax Component Breakdown Algorithm Breakdown Functional Component Descriptions Key Expansion Key Expansion Counter ReInitialization IV Expansion Next State Function Carry Bit Resolution Counter Iteration State Iteration Encryption KeyStream Generation Key Stream and Data Combining TestU01 Test Suite Random Data Generator Test Results Results Analysis Comparison to Other Analysis’ Conclusion Project Documentation Configuration Management Wiki Environment Project Environment Build Processes User’s Manual Project Discovery Future Research Statement of Work References 2 Rabbit Algorithm The Rabbit Cipher, as described by the authors in [1][2][5], is a streaming cipher utilizing chaos theory as a method of injecting nonlinearity into the algorithm. The authors include a cryptanalysis within their follow on documentation provide evidence of the resilience of Rabbit against algebraic, distinguishing, and brute-force attacks, as well as statistical analysis [1][6][7] [8]. Additional authors have focused on Distinguishing or Bias Attacks as a method to approach the brute force limit of [9][10]. While other authors have attempted other attacks, such as Fault Analysis [11]. Mathematical Syntax To provide a description of the Rabbit Cipher algorithm, a standard mathematical notation must be established in order to familiarize the reader with the mathematical expressions within. The addition sign “+” will be used for bitwise addition, and assumes that the register used to perform the addition has enough bits to satisfy the operation without rollover issues. If the addition is performed with a modulus, the addition will be expressed as a function such as . Logical bit rotations and shifts follow the ANSI C Standard expresses where ‘<<<’ and ‘>>>’ represent logical rotations left and right, respectively, and ‘<<’ and ‘>>’ represent logical shifts left and right respectively. For logical concatenation, the symbol is used for the logical concatenation of two bit fields. The symbol will be used for the logical bitwise exclusive OR function between to bit fields. The rabbit cipher uses registers of the same size and function throughout the standard. Furthermore, each register has state with respect to time. To describe a set of registers over a period of time, the following notation is used: where j describes the register index number and i provides the iteration with respect to time. When referencing a bit field within a variable, the form X[m...n] describes the bits “m” through “n” of the register “X”, where m > n and ‘m’ is consider the MSB and ‘n’ is the LSB. If the bit field describes a register in an array of registers over the course of numerous iterations, the variable is described as a combination of the bit field and the standard register representation, such as . Finally, to describe numbers in varying numerical systems, decimal numbers will be written with standard Arabic values, binary numbers will be succeeded by a ‘b’, such as 100110b for example, and hexadecimal numbers will be preceded by a ‘0x’ value such as 0x1F823C. Component Breakdown The Rabbit Cipher has a total of 513-bits of state information at any given iteration throughout the cipher and decipher processes. The 513-bits of data is broken into eight 32-bit state registers, eight 32-bit counter registers, and a single carry bit. Depending on implementation, one may choose to store more data to avoid extra processing, or maintain all other data items as volatile memory items for code compactness. The eight 32-bit state registers are called the x-registers, or where and i represents the iteration counter. Similar to the x-register, the counter registers, or where 3 , are 32-bit registers coupled with the state registers throughout the process of the algorithm. There is only one carry bit, but this does not detract from the possibility of one creating a data structure in which the carry is also associated with the state and counter registers. It is important to realize that any given instance of the cipher, especially in object oriented designs, must maintain its own instance of the 513-bits of data. Also, any given instance always begins with the ‘i’ value at 0 (i = 0). Later, the single carry bit usage and derivation will be explained. To avoid future confusion, it is important to note that the carry bit is set to 0 at i = - 1, and that the carry bit is the only data item that has a notion of i = -1 at the start of a session. Keeping this in mind during the description of the carry bit will resolve many misconceptions about the use of the carry bit throughout the implementation of the cipher. Though Boesgaard [7], et al., suggests that only 513-bits of non-volatile memory is required for an implementation of the Rabbit Cipher, it is the suggestion of this team to also store an additional 128-bits of keystream in a pseudo-block cipher method for fast access to the keystream. Failure to store the key stream between encryption of bits, bytes, or blocks would require additional memory to store the previously used location in the keystream as well as special processing to recover the new keystream information. Though location information requires less memory, the coding effort outweighs the extra memory required to store the current keystream information. Algorithm Breakdown The Rabbit Cipher can be broken into four fundamental phases of operation as seen in Figure 1: Key and IV Selection/Insertion, Key Initialization, IV Initialization, and Encryption. The Key and IV selection is any method in which an implementation chooses to obtain a secret key and a public IV for the current context to be encrypted or decrypted. This process is outside of the scope of the algorithm itself, and is therefore left to the reader to determine the best business practices for Key management. Figure 1 - Rabbit Cipher Process Overview The second phase of the Rabbit cipher is the Key Setup phase. In this phase, the Key is applied to both the internal State Registers (X) and Counter Registers (C). As seen in Figure 2, the Key bits are first distributed across both the state and counters for an initial value for both and . The NextState() function, also known as the Iterate() function, is called four times to scramble the initial values of X and increment the counters. These four iterations account for the register values and through and . 4 Finally, the eight counters are re-initialized by eXclusive OR’ing the state registers with the counters. It is important to note that the is merely replaced with the result of this XOR process, and the ‘i’ value is not incremented during counter re-initialization. [5] claims that the process of re-initializing the counters avoids an attacker reversing the counter iteration process, thereby recovering the initial Key value. Figure 2 - Secret KEY Setup Process The third process, as seen in Figure 3, is known as the IV Setup process. The IV Setup process is a method of further obfuscating the Secret key by modifying the eight counter registers by distributively XOR’ing every bit in the IV with every bit in the counters. This ensures that there are possible unique key streams for any given Secret Key. One should be aware that the combining of the IV with the counters, much like the Counter Re- Initialization of the Key Setup process, does not constitute an iteration in the system. The IV is combined with the counter registers at iteration 4, where = . After combining the IV with the counters, the IV Setup process ensures the mixing of the IV bit by again processing four iterations of the NextState() function. The iterations will cause a mixing of the IV bits between the counters and the state registers. These four iterations account for the register values and through and . 5 Figure 3 - IV Setup Process The final process in the cipher is the Encryption Cycle. There are two distinct sub-phases within the encryption process, the NextState() or iteration function, and the KeyStream generation.
Recommended publications
  • Secure Transmission of Data Using Rabbit Algorithm
    International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395 -0056 Volume: 04 Issue: 05 | May -2017 www.irjet.net p-ISSN: 2395-0072 Secure Transmission of Data using Rabbit Algorithm Shweta S Tadkal1, Mahalinga V Mandi2 1 M. Tech Student , Department of Electronics & Communication Engineering, Dr. Ambedkar institute of Technology,Bengaluru-560056 2 Associate Professor, Department of Electronics & Communication Engineering, Dr. Ambedkar institute of Technology,Bengaluru-560056 ---------------------------------------------------------------------***----------------------------------------------------------------- Abstract— This paper presents the design and simulation of secure transmission of data using rabbit algorithm. The rabbit algorithm is a stream cipher algorithm. Stream ciphers are an important class of symmetric encryption algorithm, which uses the same secret key to encrypt and decrypt the data and has been designed for high performance in software implementation. The data or the plain text in our proposed model is the binary data which is encrypted using the keys generated by the rabbit algorithm. The rabbit algorithm is implemented and the language used to write the code is Verilog and then is simulated using Modelsim6.4a. The software tool used is Xilinx ISE Design Suit 14.7. Keywords—Cryptography, Stream ciphers, Rabbit algorithm 1. INTRODUCTION In today’s world most of the communications done using electronic media. Data security plays a vitalkrole in such communication. Hence there is a need to predict data from malicious attacks. This is achieved by cryptography. Cryptographydis the science of secretscodes, enabling the confidentiality of communication through an in secure channel. It protectssagainstbunauthorizedapartiesoby preventing unauthorized alterationhof use. Several encrypting algorithms have been built to deal with data security attacks.
    [Show full text]
  • On the Use of Continued Fractions for Stream Ciphers
    On the use of continued fractions for stream ciphers Amadou Moctar Kane Département de Mathématiques et de Statistiques, Université Laval, Pavillon Alexandre-Vachon, 1045 av. de la Médecine, Québec G1V 0A6 Canada. [email protected] May 25, 2013 Abstract In this paper, we present a new approach to stream ciphers. This method draws its strength from public key algorithms such as RSA and the development in continued fractions of certain irrational numbers to produce a pseudo-random stream. Although the encryption scheme proposed in this paper is based on a hard mathematical problem, its use is fast. Keywords: continued fractions, cryptography, pseudo-random, symmetric-key encryption, stream cipher. 1 Introduction The one time pad is presently known as one of the simplest and fastest encryption methods. In binary data, applying a one time pad algorithm consists of combining the pad and the plain text with XOR. This requires the use of a key size equal to the size of the plain text, which unfortunately is very difficult to implement. If a deterministic program is used to generate the keystream, then the system will be called stream cipher instead of one time pad. Stream ciphers use a great deal of pseudo- random generators such as the Linear Feedback Shift Registers (LFSR); although cryptographically weak [37], the LFSRs present some advantages like the fast time of execution. There are also generators based on Non-Linear transitions, examples included the Non-Linear Feedback Shift Register NLFSR and the Feedback Shift with Carry Register FCSR. Such generators appear to be more secure than those based on LFSR.
    [Show full text]
  • Grein a New Non-Linear Cryptoprimitive
    UNIVERSITY OF BERGEN Grein A New Non-Linear Cryptoprimitive by Ole R. Thorsen Thesis for the degree Master of Science December 2013 in the Faculty of Mathematics and Natural Sciences Department of Informatics Acknowledgements I want to thank my supervisor Tor Helleseth for all his help during the writing of this thesis. Further, I wish to thank the Norwegian National Security Authority, for giving me access to their Grein cryptosystem. I also wish to thank all my colleagues at the Selmer Centre, for all the inspiring discus- sions. Most of all I wish to thank prof. Matthew Parker for all his input, and my dear friends Stian, Mikal and Jørgen for their spellchecking, and socialising in the breaks. Finally, I wish to thank my girlfriend, Therese, and my family, for their continuous sup- port during the writing of this thesis. Without you, this would not have been possible. i Contents Acknowledgementsi List of Figures iv List of Tablesv 1 Introduction1 2 Cryptography2 2.1 Classical Cryptography............................3 2.2 Modern Cryptography.............................4 3 Stream Ciphers5 3.1 Stream Cipher Fundamentals.........................5 3.2 Classification of Stream Ciphers........................6 3.3 One-Time Pad.................................7 4 Building Blocks8 4.1 Boolean Functions...............................8 4.1.1 Cryptographic Properties....................... 10 4.2 Linear Feedback Shift Registers........................ 11 4.2.1 The Recurrence Relation....................... 12 4.2.2 The Matrix Method.......................... 12 4.2.3 Characteristic Polynomial....................... 13 4.2.4 Period of a Sequence.......................... 14 4.3 Linear Complexity............................... 16 4.4 The Berlekamp-Massey Algorithm...................... 16 4.5 Non-Linear Feedback Shift Registers....................
    [Show full text]
  • Design and Analysis of RC4-Like Stream Ciphers
    Design and Analysis of RC4-like Stream Ciphers by Matthew E. McKague A thesis presented to the University of Waterloo in fulfillment of the thesis requirement for the degree of Master of Mathematics in Combinatorics and Optimization Waterloo, Ontario, Canada, 2005 c Matthew E. McKague 2005 I hereby declare that I am the sole author of this thesis. This is a true copy of the thesis, including any required final revisions, as accepted by my examiners. I understand that my thesis may be made electronically available to the public. Matthew E. McKague ii Abstract RC4 is one of the most widely used ciphers in practical software ap- plications. In this thesis we examine security and design aspects of RC4. First we describe the functioning of RC4 and present previously published analyses. We then present a new cipher, Chameleon which uses a similar internal organization to RC4 but uses different methods. The remainder of the thesis uses ideas from both Chameleon and RC4 to develop design strategies for new ciphers. In particular, we develop a new cipher, RC4B, with the goal of greater security with an algorithm comparable in simplicity to RC4. We also present design strategies for ciphers and two new ciphers for 32-bit processors. Finally we present versions of Chameleon and RC4B that are implemented using playing-cards. iii Acknowledgements This thesis was undertaken under the supervision of Alfred Menezes at the University of Waterloo. The cipher Chameleon was developed under the supervision of Allen Herman at the University of Regina. Financial support was provided by the University of Waterloo, the University of Regina and the National Science and Engineering Research Council of Canada (NSERC).
    [Show full text]
  • Computer Science and Cybersecurity (Cs&Cs
    ISSN 2519-2310 CS&CS, Issue 3(11) 2018 UDC 004.056.55 STATISTICAL PROPERTIES OF MODERN STREAM CIPHERS Oleksii Nariezhnii, Egor Eremin, Vladislav Frolenko, Kyrylo Chernov, Tetiana Kuznetsova, Yevhen Demenko V. N. Karazin Kharkiv National University, 6 Svobody Sq., Kharkiv, 61022, Ukraine [email protected], [email protected], [email protected], [email protected], [email protected], [email protected] Reviewer: Ivan Gorbenko, Doctor of Sciences (Engineering), Full Professor, Academician of the Academy of Applied Radioelec- tronics Sciences, V. N. Karazin Kharkiv National University, 4 Svobody Sq., Kharkiv, 61022, Ukraine [email protected] Received on September 2018 Abstract. In recent years, numerous studies of stream symmetric ciphers in Ukraine are continuing, the main purpose of which is to argue the principles of creating a new cryptographic algorithm, which can be based on the national standard. One of the essential aspects in choosing from many alternatives is the statistical properties of the output pseudorandom sequence (key stream). In this paper, the results of comparative studies of statistical properties of out- put sequences, which are formed by various stream ciphers, in particular, by world-known algorithms Enocoro, Dec- im, Grain, HC, MUGI, Mickey, Rabbit, RC-4, Salsa20, SNOW2.0, Sosemanuk, Trivium and the Ukrainian crypto- graphic algorithm Strumok, that was developed in recent years, are presented. For comparative studies, the NIST STS method was used, according to which experimental studies are performed in 15 statistical tests, the purpose of which is to determine the randomness of the output binary sequences. Each of the tests is aimed at studying certain vulnerabilities of the generator, that is, points to the potential usage of different methods of cryptographic analysis.
    [Show full text]
  • Hardware Framework for the Rabbit Stream Cipher
    Hardware Framework for the Rabbit Stream Cipher Deian Stefan? S∗ProCom2// Dept. of Electrical Engineering, The Cooper Union, New York NY 10003, USA Abstract. Rabbit is a software-oriented synchronous stream cipher with very strong security properties and support for 128-bit keys. Rabbit is part of the European Union's eSTREAM portfolio of stream ciphers addressing the need for strong and computationally efficient (i.e., fast) ciphers. Extensive cryptanalysis confirms Rabbit's strength against mod- ern attacks; attacks with complexity lower than an exhaustive key search have not been found. Previous software implementations have demon- strated Rabbit's high throughput, however, the performance in hardware has only been estimated. Three reconfigurable hardware designs of the Rabbit stream cipher { direct, interleaved and generalized folded struc- ture (GFS) { are presented. On the Xilinx Virtex-5 LXT FPGA, a direct, resource-efficient (568 slices) implementation delivers throughputs of up to 9.16 Gbits/s, a 4-slow interleaved design reaches 25.62 Gbits/s using 1163 slices, and a 3-slow 8-GFS implementations delivers throughputs of up to 3.46 Gbits/s using only 233 slices. Key words: FPGA, Rabbit, eSTREAM, DSP, Stream Cipher 1 Introduction The widespread use of embedded mobile devices poses the need for fast, hardware-oriented encryption capabilities to provide higher security and protection of private data for end users. Stream ciphers are cryptographic algorithms that transform a stream of plaintext messages of varying bit- length into ciphertext of the same length, usually by generating a keystream that is then XORed with the plaintext. In general, stream ciphers have very high throughput, strong security properties, and use few resources, thus making them ideal for mobile applications; well-known examples of stream ciphers include the RC4 cipher used in 802.11 Wireless Encryp- tion Protocol [13], E0 cipher used in Bluetooth protocol [13], and the SNOW 3G cipher used by the 3GPP group in the new mobile cellular standard [26].
    [Show full text]
  • The Rabbit Embedded Security Pack
    The Rabbit Embedded Security Pack The Rabbit Embedded Security Pack is a Dynamic C add-on module. It is composed of three main soft- ware packages: • SSL/TLS1 • AES • Wi-Fi Enterprise Mode Authentication SSL is essentially an encryption framework protocol and AES is one of the strongest encryption standards that can be selected for use within an SSL-secured communications channel. The AES software package can also be used independently from the SSL software. SSL is discussed in Section 1 and the AES protocol is discussed in Section 2. Wi-Fi Enterprise mode authentication uses the most secure protocols available to ensure mutual authentication and efficient dynamic key distribution. Also known as WPA-Enterprise and/or WPA2- Enterprise, this topic is discussed in Section 3. The Rabbit Embedded Security Pack is available for purchase on the Rabbit web site: www.rabbit.com/store/index.shtml Documentation for the security pack is also available online (follow the link for Dynamic C): www.rabbit.com/docs/ Uses for the Rabbit Embedded Security Pack are many. Any application that needs to transmit data over an unsecured network is a potential candidate. The Rabbit Embedded Security Pack provides security, and more importantly, peace of mind. It protects your data from eavesdroppers and tampering. The following are potential applications for the Rabbit Embedded Security Pack. • Internet-enabled vending machines • Internet-enabled home automation systems • Network-enabled medical devices • Web-configurable telephone switches • Remote-entry configuration • Internet-enabled monitoring and billing 1. The IETF TLS 1.0 is the most widely-used standard for SSL, replacing Netscape’s SSL version 3.
    [Show full text]
  • Feasibility of Fault Analysis Based on Intentional Electromagnetic Interference
    Feasibility of Fault Analysis Based on Intentional Electromagnetic Interference Junko Takahashi #1, Yu-ichi Hayashi ∗2, Naofumi Homma ∗3, Hitoshi Fuji #4, and Takafumi Aoki ∗5 # NTT Secure Platform Laboratories, Nippon Telegraph and Telephone Corporation, 3-9-11 Midori-cho, Musashino-shi, Tokyo 180-8585, Japan f1takahashi.junko, [email protected] ∗ Tohoku University, 6-6-05, Aramaki Aza Aoba, Aoba-ku, Sendai-shi, 980-8579, Japan f2yu-ichi@m, [email protected], [email protected] Abstract—This paper presents the feasibility of fault analysis test capabilities to generate waveforms, and understanding the using intentional electromagnetic interference (IEMI). Fault anal- effects of IEMI on equipment, systems, communications, and ysis (FA) is a kind of implementation attack that intentionally measurements [4]. extracts a secret key embedded in a secure device such as a smart card. An attacker injects a computational fault during Previous studies of IEMI showed that devices can be the cryptographic calculation and he can extract a secret key. permanently damaged or destroyed by the effects of IEMI [4], Recently, Hayashi et al. showed that temporal faults could be [5]. On the other hand, Hayashi et al. recently showed that remotely injected during the cryptographic calculation using temporal faults could be remotely injected into a target device IEMI. They showed a case study in which an Advanced Standard of an attack without any damage to the device using IEMI Encryption (AES) secret key could be extracted through fault analysis. However, the characteristics of faults that can be techniques [6], [7], [8]. They showed that the temporal faults induced by IEMI were not described.
    [Show full text]
  • Differential Fault Analysis of Rabbit
    Differential Fault Analysis of Rabbit Aleksandar Kircanski and Amr M. Youssef Concordia Institute for Information Systems Engineering Concordia University Montreal, Quebec, H3G 1M8, Canada {a kircan,youssef}@ciise.concordia.ca Abstract. Rabbit is a high speed scalable stream cipher with 128-bit key and a 64-bit initialization vector. It has passed all three stages of the ECRYPT stream cipher project and is a member of eSTREAM software portfolio. In this paper, we present a practical fault analysis attack on Rabbit. The fault model in which we analyze the cipher is the one in which the attacker is assumed to be able to fault a random bit of the in- ternal state of the cipher but cannot control the exact location of injected faults. Our attack requires around 128 − 256 faults, precomputed table of size 241.6 bytes and recovers the complete internal state of Rabbit in about 238 steps. 1 Introduction The ECRYPT stream cipher project, also known as eSTREAM, is a project that aimed to identify new promising stream ciphers. The first call for stream cipher submissions was made in 2004 and it consisted of profile 1 and profile 2: software oriented ciphers and hardware oriented ciphers. The ciphers were put through a three-phase elimination process, finalizing in 2008, when four software oriented ciphers, including Rabbit, and three hardware oriented ciphers were selected as members of the eSTREAM portfolio. After passing all three phases, Rabbit [4] (also see RFC 4503) has become a member of profile 1 eSTREAM portfolio. While originally designed with high software performance in mind, Rabbit turns out to be also very fast and compact in hardware.
    [Show full text]
  • A Survey on RC4 Stream Cipher
    I. J. Computer Network and Information Security, 2015, 7, 37-45 Published Online June 2015 in MECS (http://www.mecs-press.org/) DOI: 10.5815/ijcnis.2015.07.05 A Survey on RC4 Stream Cipher Poonam Jindal National Institute of Technology, Kurukshetra, 136119, Haryana Email: [email protected] Brahmjit Singh National Institute of Technology, Kurukshetra, 136119, Haryana Email: [email protected] Abstract—RC4 is one of the most widely used stream literature are RC4, E0 (a stream cipher used in Bluetooth), cipher due to its simplicity, speed and efficiency. In this A5/1 and A5/2 (stream ciphers used in GSM), SNOW 3G, paper we have presented a chronological survey of RC4 ZUC (4G stream ciphers), Rabbit, FISH, and HC-256 etc. stream cipher demonstrating its weaknesses followed by [3-8]. the various RC4 enhancements from the literature. From In this paper we have considered stream ciphers. A the recently observed cryptanalytic attempts on RC4 it is keystream is produced in stream ciphers which is a established that innovative research efforts are required to pseudorandom sequence of bits. A plaintext (a sequence develop secure RC4 algorithm, which can remove the of bits/bytes) is converted into ciphertext (again a weaknesses of RC4, such as biased bytes, key collisions, sequence of bits/bytes of same length as that of plaintext) and key recovery attacks specifically on WEP and WPA. by hiding the plaintext with a generated keystream, using These flaws in RC4 are offering open challenge for a simple XOR operation. The strength of stream ciphers developers. Hence our chronological survey corroborates is a random keystream which ensures the computational the fact that even though researchers are working on RC4 security of the cipher.
    [Show full text]
  • Microarchitecture Analysis of Profile 1 Estream Ciphers on Intel Core2 Duo
    Advances in Computing 2012, 2(2): 9-15 DOI: 10.5923/j.ac.20120202.02 Microarchitecture Analysis of Profile 1 eSTREAM Ciphers on Intel Core2 Duo Naiyi Hu, Christopher J. Martinez* Department of Electrical and Computer Engineering,University of New Haven Abstract The workloads in a modern CPU are becoming more diversified but a common aspect is beginning to form around the need for cryptographic algorithms.There are a number of different cryptographic algorithms for hashing, block ciphers and stream ciphers.Block ciphers have recently been linked to the DES and AES standards and are the most widely used algorithms.Stream ciphers have not been dominated by a single standard.The EU ECRYPT network has developed a set of stream cipher as part of their eSTREAM portfolio. This paper examines the eSTREAM portfolio and analysis the mi- croarchitecture performance on the Intel Core2 Duo.Using hardware performance counters analysis is done in the areas of CPI, cache, branch prediction, and instruction-level parallelism (ILP).Our results show that the Salsa20 algorithm has the best CPI, sosemanuk is able to achieve more ILP, and branch prediction is highly accurate for HC-120, Rabbit and Salsa20. The results show the correlation between CPI with L1 cache, L2 cache, branch prediction, and ILP. Keywords Performance Evaluation, Hardware Counters, Workload Characterization, eSTREAM algorithms did have performance studies done during the 1. Introduction competition period. All the candidates were tested on a Pentium 4 computer or older CPU generation. CPU mi- Cryptography encryption algorithms can be divided into croarchitecture has rapidly developed since the Pentium 4 block ciphers and stream ciphers.The block ciphers have and have seen a number of new generations of CPUs.
    [Show full text]
  • Isaac Asimov
    I, Robot Isaac Asimov TO JOHN W. CAMPBELL, JR, who godfathered THE ROBOTS The story entitled Robbie was first published as Strange Playfellow in Super Science Stories. Copyright © 1940 by Fictioneers, Inc.; copyright © 1968 by Isaac Asimov. The following stories were originally published in Astounding Science Fiction: Reason, copyright © 1941 by Street and Smith Publications, Inc.; copyright © 1969 by Isaac Asimov. Liar! copyright © 1941 by Street and Smith Publications, Inc.; copyright © 1969 by Isaac Asimov. Runaround, copyright © 1942 by Street and Smith Publications, Inc.; copyright ©1970 by Isaac Asimov. Catch That Rabbit, copyright © 1944 by Street and Smith Publications, Inc. Escape, copyright © 1945 by Street and Smith Publications, Inc. Evidence, copyright © 1946 by Street and Smith Publications, Inc. Little Lost Robot, copyright © 1947 by Street and Smith Publications, Inc. The Evitable Conflict, copyright © 1950 by Street and Smith Publications, Inc. CONTENTS Introduction......................................................................................................................................... 2 Robbie................................................................................................................................................. 5 Runaround......................................................................................................................................... 20 Reason..............................................................................................................................................
    [Show full text]