BIT PERMUTATION INSTRUCTIONS: ARCHITECTURE, IMPLEMENTATION, AND CRYPTOGRAPHIC PROPERTIES

Size: px
Start display at page:

Download "BIT PERMUTATION INSTRUCTIONS: ARCHITECTURE, IMPLEMENTATION, AND CRYPTOGRAPHIC PROPERTIES"

Transcription

1 BIT PERMUTATION INSTRUCTIONS: ARCHITECTURE, IMPLEMENTATION, AND CRYPTOGRAPHIC PROPERTIES Zhijie Jerry Shi A DISSERTATION PRESENTED TO THE FACULTY OF PRINCETON UNIVERSITY IN CANDIDACY FOR THE DEGREE OF DOCTOR OF PHILOSOPHY RECOMMENDED FOR ACCEPTANCE BY THE DEPARTMENT OF ELECTRICAL ENGINEERING June 2004

2 Copyright by Zhijie Jerry Shi, All rights reserved. ii

3 I certify that I have read this thesis and that in my opinion it is fully adequate, in scope and in quality, as a dissertation for the degree of Doctor of Philosophy. Ruby B. Lee (Principal Adviser) I certify that I have read this thesis and that in my opinion it is fully adequate, in scope and in quality, as a dissertation for the degree of Doctor of Philosophy. Niraj K. Jha I certify that I have read this thesis and that in my opinion it is fully adequate, in scope and in quality, as a dissertation for the degree of Doctor of Philosophy. Yiqun L. Yin Approved for the Princeton University Graduate School: Dean of the Graduate School iii

4 Abstract Bit permutation operations are interesting and important from both cryptographic and architectural points of view. Cryptographically, bit-level permutations naturally provide certain effects which are not easily obtained through word-level operations. Architecturally, the ability to support very fast bit permutations may be the next step in the evolution of word-oriented processors to support new multimedia and secure information processing workloads, which frequently manipulate data items smaller than a word. Any new instructions introduced into a general-purpose processor should ideally be useful in many applications; and their impact on the cycle time, and datapath and control complexity evaluated in terms of cost versus benefit. This thesis investigates the benefits and cost of architectural support for fast bit permutations in programmable processors. The new permutation methods presented in the thesis reduce the number of instructions required to permute n bits from O(n) to O(log 2 (n)). This both accelerates existing block ciphers and enables new ciphers that use arbitrary data-dependent permutations. The thesis also demonstrates that the bit permutation instructions can be used to achieve significant speedup in other applications, such as sorting bytes. The cost of the bit permutation instructions is studied in terms of their implementation complexity and their impact on a processor s cycle time. The cryptographic properties of the bit permutation instructions are studied with respect to the two most effective cryptanalytic attacks, linear and differential cryptanalysis. The results show that the new bit permutation operations can enhance the iv

5 cryptographic strength of the round function in block ciphers, so fewer rounds can achieve the same level of security. This leads to significant improvements in performance and energy consumption. This thesis is a detailed example of a more general exploration of new instruction-set architecture features motivated by cryptographic algorithms, as well as of architectural features occurring for other reasons, e.g., multimedia, that may influence the design of cryptographic algorithms. We hope to have initiated a continuing dialog between cipher designers and processor architects. Future research in this direction will lead to more architectural and algorithmic innovations helpful for achieving pervasive security in information processing, networking, and storage. v

6 Acknowledgments First of all, I would like to thank my advisor Professor Ruby B. Lee for her guidance and support throughout my graduate studies. Her dedication to research and patience for students and colleagues will always be an example for me to follow. Without the numerous discussions and brainstorms with her, the results presented in this thesis would never have existed. I am indebted to Dr. Yiqun Lisa Yin, for her valuable comments and suggestions on my research. I would also like to thank Professor Neil Burgess (Cardiff University, U.K.), Professor Ronald Rivest (Massachusetts Institute of Technology), and Dr. Matt Robshaw (Royal Holloway College, University of London, U.K.) for their fruitful discussions. I would also like to thank Professor Niraj K. Jha (Princeton University) for taking the time to read my thesis. I am grateful to the members of PALMS group for their support. I would also like to thank all my friends at Princeton University, who make life at Princeton a wonderful experience. I would like to thank my parents and my wife Kate for their constant love and support. It is impossible for me to express my gratitude towards them in mere words. I dedicate this thesis to them. vi

7 Contents Abstract Acknowledgments iv vi 1 Introduction Subword and bit permutations Subword operations and permutations for multimedia processing Bit permutation Thesis contributions Thesis organization 11 2 Bit Permutations in Secret-key Encryption Cryptographic algorithms Symmetric-key algorithms Public-key algorithms 16 vii

8 2.1.3 Hash algorithms Block ciphers Basic operations in block ciphers Processor support for basic operations in block ciphers Summary 37 3 Bit Permutation Instructions Past work Design goals The GRP instruction Definition of the GRP instruction Configuration of GRP instructions for arbitrary permutations Other bit permutation instructions PPERM3R and PPERM CROSS OMFLIP SWPERM and SIEVE Comparison of permutation alternatives Subword permutations Scalability to 2n bits Mappings (permutations with repetitions) 76 viii

9 3.5.4 Performance for permuting 64 bits Performance Permutation in ASIP architectures LdState Register pair Two-length ISA Bundled instruction Superscalar execution VLIW execution Comparison Summary 93 4 Hardware Implementation of Bit Permutation Instructions Logical effort The implementation of CROSS and BFLY The latency of the butterfly network The latency of the CROSS instruction The implementation of OMFLIP The latency of a 4-stage omega and flip network The latency of a 2-stage omega and flip network Implementations of GRP 122 ix

10 4.5 The latency of the GRP unit Summary and discussion 138 Appendices 141 Appendix 4A. The capacitance of wires 141 Appendix 4B. Latency of the inverse butterfly network Cryptographic Properties of Bit Permutation Operations Overview of cryptanalytic techniques Differential properties of permutation instructions Linear properties of permutation instructions Enhancing existing ciphers using permutation operations RC5 and existing attacks Enhancing RC5 using GRP Performance improvement RC5-grp versus RC Decryption and the UNGRP operation Summary and discussion Bit Permutations in Other Applications Subword sorting Sorting subwords in a single register Sorting subwords in multiple registers 185 x

11 6.4 Performance of sorting subwords with GRP Configuring GRP instructions for permutations Permutation of multi-bit subwords in multiple registers Summary Conclusions and Future Research Efficient bit permutation instructions Bit permutation instructions in block ciphers Future research 211 Bibliography 213 xi

12 List of Tables Table 2.1: Block ciphers used in commonly-used security protocols Table 2.2: Operations in block ciphers for encrypting a block Table 2.3: Operations used in block ciphers Table 3.1: Traditional methods to do a 64-bit permutation on 64-bit systems Table 3.2: Configuring GRP instructions for an 8-bit permutation Table 3.3: Configuring the GRP instructions for (0, 1, 2, 3, 4, 5, 6, 7) Table 3.4: Number of the PPERM3R instructions for one permutation Table 3.5: Maximum number of instructions for a permutation Table 3.6: Comparison of permutation alternatives Table 3.7: Maximum number of instructions (or cycles) for permuting 64 bits Table 3.8: Memory requirement for 64-bit permutations Table 3.9: Comparison of alternatives on ASIPs for 64-bit permutations Table 4.1: The logical effort and parasitic delay of common logic gates xii

13 Table 4.2: Calculating the delay of a 64-bit butterfly network Table 4.3: Calculating the delay of 64-bit CROSS instructions Table 4.4: Input capacitance, logical effort, and parasitic delay of 3:1 MUX Table 4.5: Calculating the delay for a 64-bit 4-stage omega-flip network Table 4.6: Input capacitance, logical effort, and parasitic delay of 4:1 MUX Table 4.7: Calculating the delay for a 64-bit 2-stage omega-flip network Table 4.8: The input capacitance, logical effort, and parasitic delay of TG and ITG Table 4.9: Branching effort, logical effort, and parasitic delay for stages in GRP Table 4.10: The latency of different functional units (64 bits) Table 4.11: Estimation of wire capacitance Table 4.12: Branching effort, logical effort, and parasitic delay of the inverse butterfly network Table 5.1: Differential properties of permutation operations Table 5.2: Linear properties of DDR and GRP Table 5.3: Single-bit characteristics for DDR in RC Table 5.4: Characteristics for GRP following DDR in RC5-grp Table 5.5: The number of chosen plaintexts required for differential attack against RC5 and RC5-grp (64-bit block size) Table 5.6: Performance improvement of RC5-grp over RC5 with the same security level Table 5.7: The number of chosen plaintexts required for differential attacks against RC5- grp-64 and RC6 (128-bit block size) xiii

14 Table 5.8: Number of plaintexts required for linear attacks against RC5-grp-64 and RC6 (128-bit blocks) Table 5.9: Performance of RC5-grp-64 and RC6 (128-bit blocks) Table 6.1: Example of the BroadcastBit instruction Table 6.2: Number of instructions for sorting 64 subwords using GRP and MIX on 64-bit registers Table 6.3: Speedup of GRP and BroadcastBit Table 6.4: Speedup of GRP and MIX for 64 values xiv

15 List of Figures Figure 1.1: Parallel add of subwords... 4 Figure 1.2: Basic datapath in single-issue processors... 9 Figure 2.1: Symmetric-key algorithms Figure 2.2: Public-key algorithms Figure 2.3: Digital signature Figure 2.4: The authentication process in CHAP Figure 2.5: An example of the substitution-permutation network Figure 2.6: Round function in a Feistel network Figure 2.7: Structure of a typical block cipher Figure 2.8: The extract operation Figure 2.9: The concatenation operation Figure 2.10: The DEPOSIT instruction Figure 2.11: The Shift Right Pair instruction xv

16 Figure 3.1: Standard processor datapath with a new permutation unit Figure 3.2: Description of the GRP operation in pseudocode Figure 3.3: An 8-bit GRP operation Figure 3.4: Algorithm to configure a single GRP instruction Figure 3.5: Configure GRP instructions Figure 3.6: Doing the initial permutation in DES with PPERM3R Figure 3.7: A 16-bit butterfly network Figure 3.8: An 8-bit Benes network Figure 3.9: Algorithm config_cross Figure 3.10: The partitioning algorithm in config_cross Figure 3.11: Disjoint rings in an example of BN(8) Figure 3.12: cross_partition on eight bits Figure 3.13: Configuring Benes network for an 8-bit permutation Figure 3.14: A 16-bit OMFLIP functional unit Figure 3.15: An example of SWPERM instruction Figure 3.16: Doing bit permutation with SWPERM and SIEVE Figure 3.17: Separation of bits when doing 2n-bit permutations Figure 3.18: Generation of n permuted bits when permuting 2n bits Figure 3.19: Scheduling of permutation instructions on 2-way superscalar processors Figure 3.20: Instructions for table lookup Figure 3.21: Speedup of DES xvi

17 Figure 3.22: Six CROSS instructions permuting 64 bits Figure 3.23: Permutation units and processor datapaths Figure 3.24: BFLY and IBFLY instruction variants Figure 3.25: BLFY and IBLFY with 4-way superscalar execution Figure 4.1: An inverter driving four identical inverters Figure 4.2: Two 2:1 MUXIs for a pair of bits in the butterfly network Figure 4.3: Transistor diagram of a 2:1 MUXI Figure 4.4: Transistor diagram of a minimum-sized inverter Figure 4.5: The critical path of the 64-bit butterfly network Figure 4.6: Generating the select signals in the CROSS unit Figure 4.7: The critical path of a CROSS unit Figure 4.8: Implementation of a 3:1 MUX with 2:1 MUXIs Figure 4.9: 4:1 MUX for 2-stage OMFLIP implementation Figure 4.10: The critical path of a 64-bit 4-stage omega-flip network Figure 4.11: The critical path of a 2-stage omega and flip network Figure 4.12: Three steps performing a GRP operation Figure 4.13: The GRP implementation with shift registers Figure 4.14: Diagram of GRP Figure 4.15: Grabbing z bits recursively Figure 4.16: GRP1Z: the first stage in GRP units Figure 4.17: The basic cell used in GRP unit xvii

18 Figure 4.18: Diagram of GRP8D Figure 4.19: Diagram of GRP8S Figure 4.20: Transistor diagram of the basic cell (TG) in the GRP unit Figure 4.21: Transistor diagram of ITG that uses an inverted select signal Figure 4.22: Number of cells in GRPmS and GRPmD Figure 4.23: The critical path of GRP Figure 5.1: The encryption procedure of RC Figure 5.2: The round function of RC5-grp Figure 5.3: The encryption procedure of RC Figure 5.4: Instructions performing one round of RC Figure 5.5: Programmatic definition of UNGRP Figure 6.1: Sorting subwords in a register with GRP and BroadcastBit Figure 6.2: The pre-transpose conversion Figure 6.3: Sort subwords after the pre-transpose Figure 6.4: The MIX instruction Figure 6.5: 8x8 matrix transpose with MIX Figure 6.6: Post-transpose after sorting Figure 6.7: Sorting 16 4-bit subwords Figure 6.8: GRP instructions for sorting eight 4-bit subwords Figure 6.9: Speedup of GRP and MIX over quicksort for sorting different number of 8-bit and 16-bit elements xviii

19 Figure 6.10: Using GRP to configure GRP instructions for a permutation Figure 6.11: Configuring an 8-bit permutation with GRP instructions Figure 6.12: Zigzag scanning of DCT coefficients Figure 6.13: Performing zigzag scan with bit permutation instructions xix

20 Chapter 1 Introduction With the rapid proliferation of the Internet and wireless networks, security becomes an increasingly important issue for networked computing devices. These include high-end servers, desktops, laptops, handheld devices such as personal digital assistants (PDAs), and sensors. Awareness of security has increased because more and more events and activities are conducted electronically over the public networks. For example, many financial transactions are made only with online banking or stock exchange systems, and elections may also be held through online electronic voting systems. However, the security of networked computer systems is far from satisfactory. According to the statistics from the CERT Coordination Center [1], the number of reported security incidents has been rising every year from six in 1988 to 137,529 in Security features in computing devices may be implemented by either hardware or software mechanisms, or a combination of both. Hardware-implemented security features are often considered more reliable and correctly implemented [2], and customized hardware implementations often permit higher performance than software implementations. Software-implemented security features are much more flexible, and can more readily accommodate new standards, algorithms, policies and environments. 1

21 Chapter 1: Introduction 2 By providing new hardware-implemented security enablers in a programmable processor, the benefits of software flexibility can be combined with hardware performance. In particular, this thesis studies how new processor features can accelerate softwareimplemented cryptography algorithms. Although computers have changed incredibly since the first one was built in 1940s [3], one thing has not changed. All the tasks performed are expressed, eventually, as basic commands that a computer s underlying processor can recognize and execute. These basic commands are known as instructions. The instructions visible to a programmer or compiler are referred to as the instruction set architecture (ISA) of the programmable processor [4]. All software programs are converted to the processor s instructions before being executed. Efficient ISAs reduce the implementation cost of a processor and provide superior performance at the same time. This thesis addresses the problem of efficient instructions for bit permutation. Bit permutation operations are interesting and important from both cryptographic and architectural points of view. Cryptographically, bit-level permutations naturally provide certain effects which are not easily obtained through word-level operations. Architecturally, the ability to support very fast bit permutations may be the next step in the evolution of word-oriented processors to support new multimedia and secure information processing workloads, which frequently manipulate data items smaller than a word. It is desirable to add to processors new instructions that operate on small data items efficiently. However, any new instructions introduced into a general-purpose processor should ideally be useful in many applications. In addition, a new instruction s implementation complexity needs to be considered, and the cost versus benefit evaluated. This thesis considers these issues in the context of adding bit permutation instructions to processors.

22 Chapter 1: Introduction 3 Today, performing cryptographic processing in software rather than in add-on, special-purpose hardware is highly desirable to facilitate more pervasive use of secure information processing. This thesis is a detailed example of a more general exploration of new instruction-set architecture features motivated by cryptographic algorithms, as well as of architectural features occurring for other reasons, e.g., multimedia, that may influence the design of cryptographic algorithms. We hope to initiate a dialog between cipher designers and processor architects. Research in this direction could lead to architectural and algorithmic innovations that are helpful for achieving more pervasive security in information processing, networking, and storage. Section 1.1, together with Chapter 2, provides the background for the bit permutation problem that will be addressed in this thesis. Section 1.1 describes the processor architecture background for considering subword and bit permutations in word-oriented processor architectures, while Chapter 2 provides the security background by describing important classes of cryptography algorithms used in secure information processing. Also, Section 1.2 provides a brief summary of the thesis contributions, and Section 1.3 provides an outline of the work covered in the thesis. 1.1 Subword and bit permutations As technology advances and computers evolve, new applications are emerging to satisfy users increasing demand of computing. The workload of computers keeps changing because of new applications and new requirements. The workload changes influence many aspects of computer design, including instruction set architecture. Traditional general-purpose processors are optimized for word-oriented computation. Hence, their instruction set architecture provides limited support for the manipulation of data items smaller than a word. Only a few instructions can process small data items in limited

23 Chapter 1: Introduction 4 ways; the most common are logical instructions like AND, OR, and NOT along with shift instructions like SHIFT and ROTATE Subword operations and permutations for multimedia processing In addition to traditional commercial and scientific computations, computers also face the challenges of processing information presented in digital multimedia formats, which include text, audio, video, and graphics [5]. Such processing involves repeating the same operations on small data items like 8-bit pixel components and 16-bit audio samples. To accelerate such multimedia information processing, Lee introduced the concept of subword parallelism [6][7][8] to exploit the parallelism at the intra-instruction level. This is contrasted with inter-instruction parallelism, typically called instruction level parallelism (ILP), where multiple instructions are executed simultaneously in the same cycle. Subword parallelism refers to the execution of the same operation on multiple pairs of subwords by a single instruction simultaneously. The bits in the word-sized registers are interpreted as representing multiple subwords. Figure 1.1 illustrates an example of performing eight add operations in parallel. In the figure, Rs1 and Rs2 are two source registers, each consisting of eight subwords. With one parallel add Rs1 Rs2 Rd Figure 1.1: Parallel add of subwords

24 Chapter 1: Introduction 5 instruction, eight pairs of corresponding subwords in Rs1 and Rs2 are added in parallel, and the results are stored in the destination register Rd. This can be done with only minor modification to the normal word-sized adder needed for an ADD operation on the two words in Rs1 and Rs2. Today, most microprocessors instruction set architecture supports subword parallel instructions [6][7][8][9][10][11][12][13][14][15][16]. This technique is also referred to as Single Instruction Multiple Data (SIMD) instructions, using the same term, SIMD, first introduced as one class of parallel processor organizations [17]. Lee has also called it microsimd [18] architecture, since the parallelism is exploited within a microprocessor (in fact within an instruction), rather than across parallel processor organizations. Past work in subword permutation instructions A problem arising with the introduction of subword parallelism is the efficient rearrangement of subwords in registers [8]. It is often necessary to place subwords into proper positions in registers, so operations can be applied to all subwords at the same time. Without such fast arrangement of subwords, called subword permutation [8], the performance gain brought by subword parallelism may diminish. The subword permutation maps the subwords in the source register to the subwords in the destination register. The subword permutation can be defined with permutation π on integers 0,..., m 1, where m is the number of subwords in a register. Suppose the permutation converts the integer sequence (m 1, m 2,..., 2, 1, 0) into (π(m 1), π(m 2),..., π(2), π(1), π(0)), where π can be considered as a function and π(i) denotes the number that goes to the position where i was. If the source register has m subwords (s m 1, s m 2,..., s 1, s 0 ), the subword permutation associated with the integer permutation π will generate the destination register (s π(m 1), s π(m 2),..., s π(1), s π(0) ). Every subword in the

25 Chapter 1: Introduction 6 source register appears once and only once in the destination register. When the subword size is one, the subword permutation becomes a bit permutation. From the architectural point of view, it is desirable to have instructions that can perform arbitrary subword permutations efficiently, not just the permutations used in existing algorithms. This enables processors to perform any permutations that may be used in future algorithms efficiently. How processors can perform arbitrary subword permutation efficiently, especially as the number of subwords increases, is still a problem that has not been completely solved. The PERMUTE and MIX instructions were proposed in the MAX-2 [8]multimedia instruction set for PA-RISC 2.0 processors [19][20]to address the subword permutation problem. The PERMUTE instruction is able to perform arbitrary permutations of 16-bit subwords in one register with a single instruction by specifying the subword s index in the source register. A 64-bit register can store four 16-bit subwords. For every subword in the destination register, two bits are used to select one of the four subwords in the source register; eight bits are used in total for four subwords. These eight bits are encoded in the instruction word. The MIX instruction combines even or odd subwords from two source registers. Although the MIX instruction can only rearrange subwords in two ways for each subword size, it is a very efficient permutation primitive for certain types of rearrangements such as matrix transpose. PERMUTE and MIX represent the first general-purpose subword permutation primitives implemented in processors. Because they were part of the multimedia instruction extensions, MAX-2 [8] for PA- RISC processors [19][20], which only implemented 16-bit and 32-bit subwords, both PERMUTE and MIX dealt only with subwords of size 16 bits or larger. IA-64 extended the MIX instruction to support 8-bit subwords and added five variants of byte permute instructions called MUX,byte [13][21]. Each of the five variants performs a fixed permutation on bytes in a register. Examples are reversing the bytes or

26 Chapter 1: Introduction 7 broadcasting the lowest byte. These instructions, however, generate only a limited number of permutation results, unlike the permutation instructions in this thesis. The subword permutation problem becomes harder when the size of the subword decreases, since a word-sized register can now store more subwords. When the subword size is large, only a small number of subwords can be stored in a register. The permutation of a small number of subwords can be performed with instructions like PERMUTE in MAX-2 [8], which can achieve any permutation of four 16-bit subwords in a single instruction. As the subwords become smaller, the number of subwords in a register increases and more subwords need to be permuted. When many subwords need to be permuted, the techniques in PERMUTE can not be used because of the increase in the number of bits that are required to specify a desired permutation [22]. For example, when a register may store 32 subwords, five bits are required to pick one out of the 32 subwords in the source register. Thirty-two subwords in the destination would require 160 bits to specify the desired subword permutation. These bits cannot fit in the instruction word nor in a register of size 128 bits or smaller. The PERMSET instruction [22] circumvents this problem by dividing the subwords into several sets and repeating the same subword permutation on each set. The subword size and the number of subwords in a set can be specified. As long as there are only a small number of subwords in each set, the subwords can be permuted with the method used in the PERMUTE instruction. PERMSET breaks the relationship between the subword size and the number of subwords to be permuted, and thus allows the small subwords to be repeatedly permuted as a small set. The restriction of the PERMSET instruction is that all sets must perform the same permutation. Although PERMSET is efficient for permutations with certain patterns, the restriction makes PERMSET not so efficient for performing arbitrary permutations of small subwords across a full register.

27 Chapter 1: Introduction 8 Other subword permutation instructions have appeared in second-generation multimedia instructions sets [14]. For example, AltiVec [10] defined the VPERM instruction to perform permutations of bytes selected from two registers. It takes three 128-bit registers as input and produces one 128-bit result. The bytes in the destination register can be selected from 32 bytes that are stored in two of the source registers, and the selection is determined by the third source register, which contains the index of bytes. Streaming SIMD Extension 2 (SSE2) [16], one of the multimedia extension sets for IA- 32 (after MMX [9] and SSE[16]), has similar subword permutation instructions as PERMUTE. For example, the PSHUFD instruction divides a 128-bit value into four 32- bit subwords, and each 32-bit subword in the destination register can be selected from any of the four source subwords, as specified by an 8-bit immediate value. Although these instructions are efficient for certain types of subword permutations, they do not solve the subword permutation problem completely. The instructions like PERMUTE, for example, can process only a small number of subwords, and the instructions like MIX or MUX perform a few fixed permutations only. There are still many open problems regarding subword permutations. Are there instructions that can perform arbitrary permutation of subwords in different sizes, e.g., from 16 bits, 8 bits down to 1 bit? How fast can they perform permutations using the two-operand, oneresult datapath in conventional processors? On such a datapath, as shown in Figure 1.2 for single-issue processors, a functional unit receives two source operands and returns one result. These are some questions that will be addressed in this thesis Bit permutation The bit permutation is the most difficult of subword permutations. The difficulty lies in the large number of distinctive results that the bit permutation operation may generate; there are n! different ways to permute the bits in an n-bit register. Other common

28 Chapter 1: Introduction 9 Register n n File ALU Shifter n Figure 1.2: Basic datapath in single-issue processors operations do not have such variation in the results. For example, the ADD operation on n-bit registers can generate only 2 n different results, whereas the n! different results for bit permutations is on the order of n n different results. Ideally, the solution to the bit permutation problem may be applied to the permutation of larger subwords as well. The bit permutations are interesting not only because they are the most difficult subword permutations but also because they are important for block ciphers to achieve security. Block ciphers are a class of cryptographic algorithms that are used to protect private and sensitive data. The use of bit permutations in block ciphers will be investigated in detail in the next chapter. Since bit permutations are not supported very well on existing processors, cipher designers tend to use simple permutations. These simple permutations, however, may not be the best for achieving the security goals. Efficient bit permutation instructions will not only be able to accelerate existing ciphers that use complicated permutations, but also will enable the use of any arbitrary permutations in the design of new ciphers.

29 Chapter 1: Introduction Thesis contributions The thesis concentrates on bit permutations. The first problem that is solved is how to perform arbitrary bit permutations efficiently with the datapath in conventional processors, which takes only two source operands and generates one result. A new instruction called GRP is defined for fast bit permutations. It can perform arbitrary n-bit permutations within log 2 (n) steps, the minimum number of steps required to perform such permutations on the conventional two-source one-destination datapath, while the traditional instructions take O(n) steps. The GRP instruction can also be used to permute subwords of larger sizes efficiently. The thesis also presents new studies of the implementation complexity of several bit permutation instructions. It compares the latencies of their respective functional units using logical effort, a process technology independent methodology. In addition to proposing implementations of the GRP instruction, the thesis improves the implementations of two other permutation instructions, CROSS and OMFLIP, significantly reducing their latencies. The cryptographic properties of the permutation instructions are studied with respect to the two most effective cryptanalytic techniques for block ciphers. The permutation instructions are compared with data-dependent rotations (DDR). DDR has been used in several ciphers, but has been found vulnerable to certain types of attacks. The results in this thesis show that the GRP instruction has complementary properties with respect to DDR, and may be used to protect the vulnerabilities of DDR. A cipher using both of them can achieve the desired security level faster. This is demonstrated by an example in which the GRP instruction improves the security and performance of a well-known cipher RC5. The new bit permutations offer new primitives and opportunities for cryptographers to design fast and secure ciphers.

30 Chapter 1: Introduction 11 The thesis also investigates the versatility of the GRP instruction and demonstrates that it can be used to accelerate other applications like subword sorting. Using the GRP instruction to accelerate subword sorting also serves as an example showing how the bit permutation instructions may be used to accelerate applications that use subwords larger than single bits. 1.3 Thesis organization The organization of this thesis is as follows. Chapter 1 provided the background on processor architecture motivations for permutations and past work on subword and bit permutations. Chapter 2 first provides an overview of the commonly used cryptographic algorithms, and then investigates the basic operations used in block ciphers. The bit permutation operation is identified as the only operation that is not supported well on current processors. Chapter 3 studies alternative solutions for the bit permutation problem. First, it introduces a novel instruction, called GRP, for performing arbitrary bit permutations on conventional datapaths, and provides an algorithm that configures a sequence of the GRP instructions to achieve any arbitrary permutation. Then, it studies several other bit permutation alternatives proposed recently and compares all the permutation instructions from multiple perspectives. The last section of the chapter studies how bit permutations may be performed even faster in processors that allow more flexibility on instruction set architecture and micro-architecture. In Chapter 4, the implementation of several permutation instructions is studied. The latency of the permutation circuits is examined using logical effort, a process technology

31 Chapter 1: Introduction 12 independent method. The results imply that all the bit permutation instructions can be implemented on most processors without slowing down the processor clock. Chapter 5 presents the work on cryptographic properties of bit permutation operations and their applications in cipher design. After introducing differential cryptanalysis and linear cryptanalysis, this chapter compares the cryptographic properties of the bit permutation operations with those of DDR. Following that, the thesis uses a well-known cipher, RC5, as an example to demonstrate how the GRP instruction can be used in block ciphers to protect against the weakness of DDR. The GRP instruction can improve the performance of RC5 while maintaining the same level of security. Chapter 6 demonstrates the versatility of the GRP instruction, showing how it can be used to accelerate subword sorting problems. Finally, Chapter 7 summarizes the thesis and discusses some future research directions.

32 Chapter 2 Bit Permutations in Secret-key Encryption This chapter provides an overview of commonly used cryptographic algorithms, and then focuses on a class of cryptographic algorithms known as block ciphers. The basic operations in this class of algorithms are then examined. Among the basic operations used in block ciphers, the bit permutation operation is identified as the only one that is not well-supported on existing processors. The organization of this chapter is as follows. Section 2.1 briefly describes commonly-used cryptographic algorithms. Section 2.2 discusses block ciphers, a class of cryptographic algorithms that are used to encrypt bulk data. Section 2.3 investigates the basic operations that are used in block ciphers. Section 2.4 examines the existing support of these basic operations on processors, and Section 2.5 summarizes this chapter. 2.1 Cryptographic algorithms Different types of cryptographic algorithms have been designed to achieve different security functions such as confidentiality, authentication, and data integrity. 13

33 Chapter 2: Bit Permutations in Secret-key Encryption 14 Confidentiality. Confidentiality protects eavesdropping on private or sensitive data. For example, customers shopping on the Internet demand protection of credit card numbers against anyone sniffing the network traffic. Authentication. Authentication is a process of confirming an identity. A system or a person should be able to ascertain the origin of messages he receives; and an attacker or intruder should be prevented from masquerading as someone else to retrieve information or obtain services. Data integrity. Data integrity ensures no modification occurs to data in transit; an attack should be unable to replace a legitimate message with an altered message without being detected. These security requirements can be achieved with symmetric-key algorithms, publickey algorithms, and hash functions, respectively. There are many other security requirements in cyber space. But these three types of algorithms provide some of the basic security needs of e-commerce, e-business, and other transactions Symmetric-key algorithms Cryptographic algorithms provide confidentiality by converting data into a form that is difficult to understand. The input is called plaintext, and the output ciphertext. This process of converting the plaintext into the ciphertext is called encryption. The plaintext is protected by secret information, referred to as the secret key, introduced during encryption. Decryption, which converts the ciphertext back to the plaintext, is the reverse of encryption. The algorithms for encryption and decryption are also called ciphers. Although it is trivial to do decryption with the knowledge of the key, a good symmetrickey algorithm makes it extremely difficult to deduce the plaintext from the ciphertext without knowing the key. Trying to crack the ciphertext without the secret key takes an

34 Chapter 2: Bit Permutations in Secret-key Encryption 15 extremely long time, even when using very powerful computers. For example, suppose a cipher requires trials to break it, and a supercomputer can perform 2 49 trials every second for example, the BlueGene supercomputer that is being built is expected to perform about 2 49 floating-point operations per second [23]. There are about 2 25 seconds in a year, so it would take 2 53 years to break the cipher while the age of the universe is only 2 34 years [24]. As a result, the plaintext is only accessible to the people who know the secret key. Symmetric-key algorithms use the same key in both encryption and decryption. Figure 2.1 illustrates how symmetric-key ciphers work. Encryption converts the plaintext to the ciphertext with a key, and the same key is used to decrypt the ciphertext. Since anyone who knows the key can decrypt the ciphertext, the key should be kept confidential. For that reason, the symmetric-key algorithms are also called secret-key algorithms. The process of encryption can be represented as: C = E k ( P ), where P is the plaintext, k is the key, and C is the ciphertext. Similarly, the decryption process can be represented as: Plaintext,P Ciphertext,C Plaintext,P Symmetrickey ciphers can protect sensitive... Encryption, E A0TGQ841 L2ASDF7K LASDYLS DA0FL3 Decryption, D Symmetrickey ciphers can protect sensitive... Key, k Key, k Figure 2.1: Symmetric-key algorithms

35 Chapter 2: Bit Permutations in Secret-key Encryption 16 P = D k ( C ). The subscript k is sometimes omitted. The algorithms in this category include DES [25], AES [26], RC5 [27], RC6 [28], MARS [29], Twofish [30], Serpent [31], IDEA [32], and Kasumi [33]. These algorithms are discussed in greater detail in Section Public-key algorithms Unlike symmetric-key algorithms, public-key algorithms use different keys for encryption and decryption. Hence, they are also called asymmetric algorithms. For example, an asymmetric-key algorithm may need a pair of keys (d, e). Messages encrypted with e can only be decrypted with d, and vice versa. One of the keys can be known by everybody and is called a public key. The other key should be kept secret, and is called a private key. In a public-key algorithm, it should be computationally infeasible to deduce the private key just from the public key. Figure 2.2 shows an example of public-key algorithms. The plaintext is encrypted with the public key, and the ciphertext is decrypted with the private key. Besides providing confidentiality similar to symmetric-key algorithms, public-key algorithms can also be used to perform user authentication. For instance, Alice can send the server a message encrypted with her private key when she wants access. The Plaintext Ciphertext Plaintext Messages can also be encrypted with publickey Encryption U10A9YAY ALCK123A YHRAYRH VZP1QUF0 I2 Decryption Messages can also be encrypted with publickey Public key, e Private key, d Figure 2.2: Public-key algorithms

36 Chapter 2: Bit Permutations in Secret-key Encryption 17 plaintext may include random bits, called a nonce, generated by the server. After the server receives the ciphertext generated by Alice, it can verify the encrypted message by trying to decrypt the message with Alice s public key. If the message can be decrypted correctly, the server believes the message is from Alice because only Alice can generate a message with her private key. Public-key algorithms can also be used to generate digital signatures. This will be described in the next subsection. The most popular public-key algorithms are RSA [34], El Gamal [35], and Diffie- Hellman [36]. Elliptic Curve Cryptography (ECC) algorithms are newer public-key algorithms [37]. They use shorter keys while achieving the same level of security as RSA Hash algorithms Hash algorithms obtain as input a message of arbitrary length, and produce a hash or message digest as output. This process can be denoted as: h = H( M ) where M is the input message and h is the hash generated by the hash algorithm H. Normally, the size of the hash h is fixed by the algorithm. The hash algorithms contain the following properties. First, it is a one-way function. It is easy to compute the hash from a message, but it is impossible to deduce the message from the hash. Second, it is extremely hard to find two inputs that generate the same hash. Any change in the input results in changes, often wild changes, in the hash. Although the size of the hash is fixed regardless of the size of the input message, it should be large enough to prevent an attack from finding two or more messages that

37 Chapter 2: Bit Permutations in Secret-key Encryption 18 generate the same hash. The most common hash algorithms are MD5 [38] and SHA [39]. MD5 generates 128-bit hash, and SHA generates 180-bit hash. Hash algorithms can be used to verify data integrity. After receiving data, one can compute the hash of the received data, and compare it with the hash of the original data, which may be encrypted or sent through secure channels. If they are the same, there is a high confidence level that the message was not modified during the transmission. Hash algorithms can also be used together with public-key algorithms to generate digital signatures. For example, Alice can sign a document by encrypting the hash of the message with her private key. The ciphertext can be used as Alice s signature. Anyone who wants to verify the signature can decrypt the ciphertext with Alice s public key, and compare the decrypted value with the hash that is generated from the message. This process is shown in Figure 2.3. The left part of the figure generates the signature with Alice s private key, and the right part checks the signature with her public key. Hash algorithms can be used for authentication as well. In this case, the hash value of the user s password, instead of the password itself, is transmitted and compared by the server. When computing the hash, the password may be concatenated with a random Message Message Signature HASH HASH Decryption Public key, e Private key, e Encryption Signature =? Figure 2.3: Digital signature

38 Chapter 2: Bit Permutations in Secret-key Encryption 19 Client: User U01 Server: S Generate a sequential number id identifying this challenge; 2. Generate a random value rv. 01 id rv S01 Calculate h = H(id, rv, p) where p is U01 s password on S id h U Retrieve rv for challenge id; 2. Look up U01 s password p ; 3. Calculate h =H(id, rv, p ); 4. If h = h, send the success packet; otherwise, send the failure packet. 03 id Figure 2.4: The authentication process in CHAP value generated by the server. Hence, the hashes are different every time, preventing an attacker sniffing on the network traffic from reusing an old hash. For example, the Challenge-Handshake Authentication Protocol (CHAP) [40] uses this approach to do authentication in the Point-to-Point Protocol (PPP) [41] for dial-up Internet connections. Figure 2.4 illustrates the authentication process specified in CHAP with six steps. In the figure, the server S01 verifies if the client knows user U01 s password. In Step 1, the server generates a sequential number id identifying the challenge and a random value rv. In Step 2, it builds a data packet and sends it to the client. This data packet is called the Challenge packet. The Challenge packet, indicated by the code 01, includes the sequential number id, the random value rv, and the server name. After the client receives the Challenge packet, it first obtains user U01 s password p on the server S01. Then, the

39 Chapter 2: Bit Permutations in Secret-key Encryption 20 client calculates the hash h of id, rv, and p in Step 3, and builds a Response packet, which includes the sequential number id, the hash h, and the user name. A Response packet is identified by the code 02. In Step 4, the client sent the Response packet to the server. When the server receives the response packet in Step 5, it retrieves the original random value in the Challenge packet identified by id. It also looks up U01 s password in its user information database. Then, it repeats the calculation of the hash of the sequential number, the random value, and U01 s password. If the server generates the same hash as the client does, it believes that the client knows U01 s password, and sends a Success packet with code 03 to the client, as shown in Step 6 in the figure. If the two hashes are different, the server will send a Failure packet to the client. 2.2 Block ciphers Although both the symmetric-key and public-key algorithms can provide confidentiality by encrypting data, symmetric-key algorithms remain the practical solutions for applications requiring high data rates, or for encrypting large amounts of data, often referred to as bulk data. Public-key algorithms are mainly used in applications such as authentication and digital signature. In software implementations, symmetric-key algorithms can be two to three orders of magnitude faster than public-key algorithms [24]. There are two types of symmetric-key algorithms: stream ciphers and block ciphers. Stream ciphers operate on small units of plaintext, such as bits or bytes. Stream ciphers are able to encrypt a small unit each time, and do not have to wait for a block of data to be generated. A stream cipher has a keystream generator producing a stream of bits: k 1, k 2,..., k n,... Each k is a small unit in the stream cipher. The ciphertext, for example, is generated by XOR-ing the keystream with the plaintext: p 1, p 2,..., p n,...:

40 Chapter 2: Bit Permutations in Secret-key Encryption 21 c i = p i k i.. Decryption is just XOR-ing the ciphertexts with the same keystream. The security of a stream cipher depends on the keystream generator. A one-time pad [24] is a stream cipher in which the keystream generator generates an endless real random keystream and the keystream is used only once. A one-time pad is a perfect cipher; it is secure under any type of attack. But the one-time pad also has some problems. For example, the length of the keystream must be equal to the length of the plaintext, which makes the key storage and distribution very difficult for long messages and for high-bandwidth communication channels. Block ciphers divide the plaintext into blocks and encrypt a block at a time. The typical block size is 64 bits, 128 bits, or 256 bits. Block ciphers are especially interesting because of the following two reasons. Block ciphers are used in most systems, and stream ciphers can be constructed easily from block ciphers. Given a block cipher, for example, the keystream of a stream cipher can be constructed as the encrypted value of a sequence derived from a random value: E(s), E(s + 1), E(s + 2),..., E(s + i),..., where s is a random value [24]. Block ciphers normally use two techniques to achieve security: confusion and diffusion [42]. Confusion is the use of enciphering transformations that complicate the determination of how the statistics of the ciphertext depend on the statistics of the plaintext [42]. More simply, confusion tries to make the relationship between ciphertext and plaintext as complex as possible, thereby hiding the statistics of the plaintext. Diffusion causes the statistical structure of the plaintext to be dissipated into long range statistics, i.e., into statistical structure involving long combinations of letters in the cryptogram [42]. More simply, the redundancy of the plaintext is spread over a large section of the ciphertext.

How a processor can permute n bits in O(1) cycles

How a processor can permute n bits in O(1) cycles How a processor can permute n bits in O(1) cycles Ruby Lee, Zhijie Shi, Xiao Yang Princeton Architecture Lab for Multimedia and Security (PALMS) Department of Electrical Engineering Princeton University

More information

On Permutation Operations in Cipher Design

On Permutation Operations in Cipher Design On Permutation Operations in Cipher Design Ruby B. Lee, Z. J. Shi and Y. L. Yin Princeton University Department of Electrical Engineering B-218, Engineering Quadrangle Princeton, NJ 08544, U.S.A. Email:

More information

Permutation Operations in Block Ciphers

Permutation Operations in Block Ciphers Chapter I Permutation Operations in Block Ciphers R. B. Lee I.1, I.2,R.L.Rivest I.3,M.J.B.Robshaw I.4, Z. J. Shi I.2,Y.L.Yin I.2 New and emerging applications can change the mix of operations commonly

More information

Bit Permutation Instructions for Accelerating Software Cryptography

Bit Permutation Instructions for Accelerating Software Cryptography Bit Permutation Instructions for Accelerating Software Cryptography Zhijie Shi, Ruby B. Lee Department of Electrical Engineering, Princeton University {zshi, rblee}@ee.princeton.edu Abstract Permutation

More information

DUBLIN CITY UNIVERSITY

DUBLIN CITY UNIVERSITY DUBLIN CITY UNIVERSITY SEMESTER ONE EXAMINATIONS 2013/2014 MODULE: CA642/A Cryptography and Number Theory PROGRAMME(S): MSSF MCM ECSA ECSAO MSc in Security & Forensic Computing M.Sc. in Computing Study

More information

Comparing Fast Implementations of Bit Permutation Instructions

Comparing Fast Implementations of Bit Permutation Instructions Comparing Fast Implementations of Bit Permutation Instructions Yedidya Hilewitz 1, Zhijie Jerry Shi 2 and Ruby B. Lee 1 Department of Electrical Engineering, Princeton University, Princeton, NJ 08544 USA,

More information

Chapter 4 MASK Encryption: Results with Image Analysis

Chapter 4 MASK Encryption: Results with Image Analysis 95 Chapter 4 MASK Encryption: Results with Image Analysis This chapter discusses the tests conducted and analysis made on MASK encryption, with gray scale and colour images. Statistical analysis including

More information

The number theory behind cryptography

The number theory behind cryptography The University of Vermont May 16, 2017 What is cryptography? Cryptography is the practice and study of techniques for secure communication in the presence of adverse third parties. What is cryptography?

More information

CESEL: Flexible Crypto Acceleration. Kevin Kiningham Dan Boneh, Mark Horowitz, Philip Levis

CESEL: Flexible Crypto Acceleration. Kevin Kiningham Dan Boneh, Mark Horowitz, Philip Levis CESEL: Flexible Crypto Acceleration Kevin Kiningham Dan Boneh, Mark Horowitz, Philip Levis Cryptography Mathematical operations to secure data Fundamental for building secure systems Computationally intensive:

More information

Diffie-Hellman key-exchange protocol

Diffie-Hellman key-exchange protocol Diffie-Hellman key-exchange protocol This protocol allows two users to choose a common secret key, for DES or AES, say, while communicating over an insecure channel (with eavesdroppers). The two users

More information

EE 382C EMBEDDED SOFTWARE SYSTEMS. Literature Survey Report. Characterization of Embedded Workloads. Ajay Joshi. March 30, 2004

EE 382C EMBEDDED SOFTWARE SYSTEMS. Literature Survey Report. Characterization of Embedded Workloads. Ajay Joshi. March 30, 2004 EE 382C EMBEDDED SOFTWARE SYSTEMS Literature Survey Report Characterization of Embedded Workloads Ajay Joshi March 30, 2004 ABSTRACT Security applications are a class of emerging workloads that will play

More information

Transactions Briefs. Sorter Based Permutation Units for Media-Enhanced Microprocessors

Transactions Briefs. Sorter Based Permutation Units for Media-Enhanced Microprocessors IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 15, NO. 6, JUNE 2007 711 Transactions Briefs Sorter Based Permutation Units for Media-Enhanced Microprocessors Giorgos Dimitrakopoulos,

More information

4. Design Principles of Block Ciphers and Differential Attacks

4. Design Principles of Block Ciphers and Differential Attacks 4. Design Principles of Block Ciphers and Differential Attacks Nonli near 28-bits Trans forma tion 28-bits Model of Block Ciphers @G. Gong A. Introduction to Block Ciphers A Block Cipher Algorithm: E and

More information

Block Ciphers Security of block ciphers. Symmetric Ciphers

Block Ciphers Security of block ciphers. Symmetric Ciphers Lecturers: Mark D. Ryan and David Galindo. Cryptography 2016. Slide: 26 Assume encryption and decryption use the same key. Will discuss how to distribute key to all parties later Symmetric ciphers unusable

More information

Cryptography CS 555. Topic 20: Other Public Key Encryption Schemes. CS555 Topic 20 1

Cryptography CS 555. Topic 20: Other Public Key Encryption Schemes. CS555 Topic 20 1 Cryptography CS 555 Topic 20: Other Public Key Encryption Schemes Topic 20 1 Outline and Readings Outline Quadratic Residue Rabin encryption Goldwasser-Micali Commutative encryption Homomorphic encryption

More information

Low power implementation of Trivium stream cipher

Low power implementation of Trivium stream cipher Low power implementation of Trivium stream cipher Mora Gutiérrez, J.M 1. Jiménez Fernández, C.J. 2, Valencia Barrero, M. 2 1 Instituto de Microelectrónica de Sevilla, Centro Nacional de Microelectrónica(CSIC).

More information

COS433/Math 473: Cryptography. Mark Zhandry Princeton University Spring 2017

COS433/Math 473: Cryptography. Mark Zhandry Princeton University Spring 2017 COS433/Math 473: Cryptography Mark Zhandry Princeton University Spring 2017 Previously Pseudorandom Functions and Permutaitons Modes of Operation Pseudorandom Functions Functions that look like random

More information

B. Substitution Ciphers, continued. 3. Polyalphabetic: Use multiple maps from the plaintext alphabet to the ciphertext alphabet.

B. Substitution Ciphers, continued. 3. Polyalphabetic: Use multiple maps from the plaintext alphabet to the ciphertext alphabet. B. Substitution Ciphers, continued 3. Polyalphabetic: Use multiple maps from the plaintext alphabet to the ciphertext alphabet. Non-periodic case: Running key substitution ciphers use a known text (in

More information

Chapter 4 The Data Encryption Standard

Chapter 4 The Data Encryption Standard Chapter 4 The Data Encryption Standard History of DES Most widely used encryption scheme is based on DES adopted by National Bureau of Standards (now National Institute of Standards and Technology) in

More information

TMA4155 Cryptography, Intro

TMA4155 Cryptography, Intro Trondheim, December 12, 2006. TMA4155 Cryptography, Intro 2006-12-02 Problem 1 a. We need to find an inverse of 403 modulo (19 1)(31 1) = 540: 540 = 1 403 + 137 = 17 403 50 540 + 50 403 = 67 403 50 540

More information

Vernam Encypted Text in End of File Hiding Steganography Technique

Vernam Encypted Text in End of File Hiding Steganography Technique Vernam Encypted Text in End of File Hiding Steganography Technique Wirda Fitriani 1, Robbi Rahim 2, Boni Oktaviana 3, Andysah Putera Utama Siahaan 4 1,4 Faculty of Computer Science, Universitas Pembanguan

More information

DUBLIN CITY UNIVERSITY

DUBLIN CITY UNIVERSITY DUBLIN CITY UNIVERSITY SEMESTER ONE EXAMINATIONS 2013 MODULE: (Title & Code) CA642 Cryptography and Number Theory COURSE: M.Sc. in Security and Forensic Computing YEAR: 1 EXAMINERS: (Including Telephone

More information

Public Key Cryptography Great Ideas in Theoretical Computer Science Saarland University, Summer 2014

Public Key Cryptography Great Ideas in Theoretical Computer Science Saarland University, Summer 2014 7 Public Key Cryptography Great Ideas in Theoretical Computer Science Saarland University, Summer 2014 Cryptography studies techniques for secure communication in the presence of third parties. A typical

More information

V.Sorge/E.Ritter, Handout 2

V.Sorge/E.Ritter, Handout 2 06-20008 Cryptography The University of Birmingham Autumn Semester 2015 School of Computer Science V.Sorge/E.Ritter, 2015 Handout 2 Summary of this handout: Symmetric Ciphers Overview Block Ciphers Feistel

More information

Random Bit Generation and Stream Ciphers

Random Bit Generation and Stream Ciphers Random Bit Generation and Stream Ciphers Raj Jain Washington University in Saint Louis Saint Louis, MO 63130 Jain@cse.wustl.edu Audio/Video recordings of this lecture are available at: 8-1 Overview 1.

More information

Cryptography. Module in Autumn Term 2016 University of Birmingham. Lecturers: Mark D. Ryan and David Galindo

Cryptography. Module in Autumn Term 2016 University of Birmingham. Lecturers: Mark D. Ryan and David Galindo Lecturers: Mark D. Ryan and David Galindo. Cryptography 2017. Slide: 1 Cryptography Module in Autumn Term 2016 University of Birmingham Lecturers: Mark D. Ryan and David Galindo Slides originally written

More information

AN APPROACH TO ONLINE ANONYMOUS ELECTRONIC CASH. Li Ying. A thesis submitted in partial fulfillment of the requirements for the degree of

AN APPROACH TO ONLINE ANONYMOUS ELECTRONIC CASH. Li Ying. A thesis submitted in partial fulfillment of the requirements for the degree of AN APPROACH TO ONLINE ANONYMOUS ELECTRONIC CASH by Li Ying A thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in Software Engineering Faculty of Science and

More information

TIME- OPTIMAL CONVERGECAST IN SENSOR NETWORKS WITH MULTIPLE CHANNELS

TIME- OPTIMAL CONVERGECAST IN SENSOR NETWORKS WITH MULTIPLE CHANNELS TIME- OPTIMAL CONVERGECAST IN SENSOR NETWORKS WITH MULTIPLE CHANNELS A Thesis by Masaaki Takahashi Bachelor of Science, Wichita State University, 28 Submitted to the Department of Electrical Engineering

More information

High Speed ECC Implementation on FPGA over GF(2 m )

High Speed ECC Implementation on FPGA over GF(2 m ) Department of Electronic and Electrical Engineering University of Sheffield Sheffield, UK Int. Conf. on Field-programmable Logic and Applications (FPL) 2-4th September, 2015 1 Overview Overview Introduction

More information

Merkle s Puzzles. c Eli Biham - May 3, Merkle s Puzzles (8)

Merkle s Puzzles. c Eli Biham - May 3, Merkle s Puzzles (8) Merkle s Puzzles See: Merkle, Secrecy, Authentication, and Public Key Systems, UMI Research press, 1982 Merkle, Secure Communications Over Insecure Channels, CACM, Vol. 21, No. 4, pp. 294-299, April 1978

More information

Proceedings of Meetings on Acoustics

Proceedings of Meetings on Acoustics Proceedings of Meetings on Acoustics Volume 19, 213 http://acousticalsociety.org/ ICA 213 Montreal Montreal, Canada 2-7 June 213 Signal Processing in Acoustics Session 2pSP: Acoustic Signal Processing

More information

Why (Special Agent) Johnny (Still) Can t Encrypt: A Security Analysis of the APCO Project 25 Two-Way Radio System

Why (Special Agent) Johnny (Still) Can t Encrypt: A Security Analysis of the APCO Project 25 Two-Way Radio System Why (Special Agent) Johnny (Still) Can t Encrypt: A Security Analysis of the APCO Project 25 Two-Way Radio System Sandy Clark Travis Goodspeed Perry Metzger Zachary Wasserman Kevin Xu Matt Blaze Usenix

More information

High Diffusion Cipher: Encryption and Error Correction in a Single Cryptographic Primitive

High Diffusion Cipher: Encryption and Error Correction in a Single Cryptographic Primitive High Diffusion Cipher: Encryption and Error Correction in a Single Cryptographic Primitive Chetan Nanjunda Mathur, Karthik Narayan and K.P. Subbalakshmi Department of Electrical and Computer Engineering

More information

Quality of Encryption Measurement of Bitmap Images with RC6, MRC6, and Rijndael Block Cipher Algorithms

Quality of Encryption Measurement of Bitmap Images with RC6, MRC6, and Rijndael Block Cipher Algorithms International Journal of Network Security, Vol.5, No.3, PP.241 251, Nov. 2007 241 Quality of Encryption Measurement of Bitmap Images with RC6, MRC6, and Rijndael Block Cipher Algorithms Nawal El-Fishawy

More information

Techniques for Generating Sudoku Instances

Techniques for Generating Sudoku Instances Chapter Techniques for Generating Sudoku Instances Overview Sudoku puzzles become worldwide popular among many players in different intellectual levels. In this chapter, we are going to discuss different

More information

Network Security: Secret Key Cryptography

Network Security: Secret Key Cryptography 1 Network Security: Secret Key Cryptography Henning Schulzrinne Columbia University, New York schulzrinne@cs.columbia.edu Columbia University, Fall 2000 cfl1999-2000, Henning Schulzrinne Last modified

More information

Power Analysis Attacks on SASEBO January 6, 2010

Power Analysis Attacks on SASEBO January 6, 2010 Power Analysis Attacks on SASEBO January 6, 2010 Research Center for Information Security, National Institute of Advanced Industrial Science and Technology Table of Contents Page 1. OVERVIEW... 1 2. POWER

More information

A Novel Encryption System using Layered Cellular Automata

A Novel Encryption System using Layered Cellular Automata A Novel Encryption System using Layered Cellular Automata M Phani Krishna Kishore 1 S Kanthi Kiran 2 B Bangaru Bhavya 3 S Harsha Chaitanya S 4 Abstract As the technology is rapidly advancing day by day

More information

Number Theory and Public Key Cryptography Kathryn Sommers

Number Theory and Public Key Cryptography Kathryn Sommers Page!1 Math 409H Fall 2016 Texas A&M University Professor: David Larson Introduction Number Theory and Public Key Cryptography Kathryn Sommers Number theory is a very broad and encompassing subject. At

More information

Mathematics Explorers Club Fall 2012 Number Theory and Cryptography

Mathematics Explorers Club Fall 2012 Number Theory and Cryptography Mathematics Explorers Club Fall 2012 Number Theory and Cryptography Chapter 0: Introduction Number Theory enjoys a very long history in short, number theory is a study of integers. Mathematicians over

More information

Course Business. Harry. Hagrid. Homework 2 Due Now. Midterm is on March 1. Final Exam is Monday, May 1 (7 PM) Location: Right here

Course Business. Harry. Hagrid. Homework 2 Due Now. Midterm is on March 1. Final Exam is Monday, May 1 (7 PM) Location: Right here Course Business Homework 2 Due Now Midterm is on March 1 Final Exam is Monday, May 1 (7 PM) Location: Right here Harry Hagrid 1 Cryptography CS 555 Topic 17: DES, 3DES 2 Recap Goals for This Week: Practical

More information

COMBINATIONAL and SEQUENTIAL LOGIC CIRCUITS Hardware implementation and software design

COMBINATIONAL and SEQUENTIAL LOGIC CIRCUITS Hardware implementation and software design PH-315 COMINATIONAL and SEUENTIAL LOGIC CIRCUITS Hardware implementation and software design A La Rosa I PURPOSE: To familiarize with combinational and sequential logic circuits Combinational circuits

More information

Journal of Discrete Mathematical Sciences & Cryptography Vol. ( ), No., pp. 1 10

Journal of Discrete Mathematical Sciences & Cryptography Vol. ( ), No., pp. 1 10 Dynamic extended DES Yi-Shiung Yeh 1, I-Te Chen 2, Ting-Yu Huang 1, Chan-Chi Wang 1, 1 Department of Computer Science and Information Engineering National Chiao-Tung University 1001 Ta-Hsueh Road, HsinChu

More information

A Cryptosystem Based on the Composition of Reversible Cellular Automata

A Cryptosystem Based on the Composition of Reversible Cellular Automata A Cryptosystem Based on the Composition of Reversible Cellular Automata Adam Clarridge and Kai Salomaa Technical Report No. 2008-549 Queen s University, Kingston, Canada {adam, ksalomaa}@cs.queensu.ca

More information

Designing Information Devices and Systems II Fall 2017 Note 1

Designing Information Devices and Systems II Fall 2017 Note 1 EECS 16B Designing Information Devices and Systems II Fall 2017 Note 1 1 Digital Information Processing Electrical circuits manipulate voltages (V ) and currents (I) in order to: 1. Process information

More information

Discrete Mathematics & Mathematical Reasoning Multiplicative Inverses and Some Cryptography

Discrete Mathematics & Mathematical Reasoning Multiplicative Inverses and Some Cryptography Discrete Mathematics & Mathematical Reasoning Multiplicative Inverses and Some Cryptography Colin Stirling Informatics Some slides based on ones by Myrto Arapinis Colin Stirling (Informatics) Discrete

More information

Interleaving And Channel Encoding Of Data Packets In Wireless Communications

Interleaving And Channel Encoding Of Data Packets In Wireless Communications Interleaving And Channel Encoding Of Data Packets In Wireless Communications B. Aparna M. Tech., Computer Science & Engineering Department DR.K.V.Subbareddy College Of Engineering For Women, DUPADU, Kurnool-518218

More information

Reduced Area & Improved Delay Module Design of 16- Bit Hamming Codec using HSPICE 22nm Technology based on GDI Technique

Reduced Area & Improved Delay Module Design of 16- Bit Hamming Codec using HSPICE 22nm Technology based on GDI Technique International Journal of Scientific and Research Publications, Volume 4, Issue 7, July 2014 1 Reduced Area & Improved Delay Module Design of 16- Bit Hamming Codec using HSPICE 22nm Technology based on

More information

Contents 1 Introduction 2 MOS Fabrication Technology

Contents 1 Introduction 2 MOS Fabrication Technology Contents 1 Introduction... 1 1.1 Introduction... 1 1.2 Historical Background [1]... 2 1.3 Why Low Power? [2]... 7 1.4 Sources of Power Dissipations [3]... 9 1.4.1 Dynamic Power... 10 1.4.2 Static Power...

More information

Conditional Cube Attack on Reduced-Round Keccak Sponge Function

Conditional Cube Attack on Reduced-Round Keccak Sponge Function Conditional Cube Attack on Reduced-Round Keccak Sponge Function Senyang Huang 1, Xiaoyun Wang 1,2,3, Guangwu Xu 4, Meiqin Wang 2,3, Jingyuan Zhao 5 1 Institute for Advanced Study, Tsinghua University,

More information

Design of Message Authentication Code with AES and. SHA-1 on FPGA

Design of Message Authentication Code with AES and. SHA-1 on FPGA Design of Message uthentication Code with ES and SH-1 on FPG Kuo-Hsien Yeh, Yin-Zhen Liang Institute of pplied Information, Leader University, Tainan City, 709, Taiwan E-mail: khyeh@mail.leader.edu.tw

More information

Chapter 3 LEAST SIGNIFICANT BIT STEGANOGRAPHY TECHNIQUE FOR HIDING COMPRESSED ENCRYPTED DATA USING VARIOUS FILE FORMATS

Chapter 3 LEAST SIGNIFICANT BIT STEGANOGRAPHY TECHNIQUE FOR HIDING COMPRESSED ENCRYPTED DATA USING VARIOUS FILE FORMATS 44 Chapter 3 LEAST SIGNIFICANT BIT STEGANOGRAPHY TECHNIQUE FOR HIDING COMPRESSED ENCRYPTED DATA USING VARIOUS FILE FORMATS 45 CHAPTER 3 Chapter 3: LEAST SIGNIFICANT BIT STEGANOGRAPHY TECHNIQUE FOR HIDING

More information

OFDM Based Low Power Secured Communication using AES with Vedic Mathematics Technique for Military Applications

OFDM Based Low Power Secured Communication using AES with Vedic Mathematics Technique for Military Applications OFDM Based Low Power Secured Communication using AES with Vedic Mathematics Technique for Military Applications Elakkiya.V 1, Sharmila.S 2, Swathi Priya A.S 3, Vinodha.K 4 1,2,3,4 Department of Electronics

More information

o Broken by using frequency analysis o XOR is a polyalphabetic cipher in binary

o Broken by using frequency analysis o XOR is a polyalphabetic cipher in binary We spoke about defense challenges Crypto introduction o Secret, public algorithms o Symmetric, asymmetric crypto, one-way hashes Attacks on cryptography o Cyphertext-only, known, chosen, MITM, brute-force

More information

Area Efficient and Low Power Reconfiurable Fir Filter

Area Efficient and Low Power Reconfiurable Fir Filter 50 Area Efficient and Low Power Reconfiurable Fir Filter A. UMASANKAR N.VASUDEVAN N.Kirubanandasarathy Research scholar St.peter s university, ECE, Chennai- 600054, INDIA Dean (Engineering and Technology),

More information

On Chip Active Decoupling Capacitors for Supply Noise Reduction for Power Gating and Dynamic Dual Vdd Circuits in Digital VLSI

On Chip Active Decoupling Capacitors for Supply Noise Reduction for Power Gating and Dynamic Dual Vdd Circuits in Digital VLSI ELEN 689 606 Techniques for Layout Synthesis and Simulation in EDA Project Report On Chip Active Decoupling Capacitors for Supply Noise Reduction for Power Gating and Dynamic Dual Vdd Circuits in Digital

More information

A Novel Approach of Compressing Images and Assessment on Quality with Scaling Factor

A Novel Approach of Compressing Images and Assessment on Quality with Scaling Factor A Novel Approach of Compressing Images and Assessment on Quality with Scaling Factor Umesh 1,Mr. Suraj Rana 2 1 M.Tech Student, 2 Associate Professor (ECE) Department of Electronic and Communication Engineering

More information

Lecture 13 February 23

Lecture 13 February 23 EE/Stats 376A: Information theory Winter 2017 Lecture 13 February 23 Lecturer: David Tse Scribe: David L, Tong M, Vivek B 13.1 Outline olar Codes 13.1.1 Reading CT: 8.1, 8.3 8.6, 9.1, 9.2 13.2 Recap -

More information

II. RC4 Cryptography is the art of communication protection. This art is scrambling a message so it cannot be clear; it

II. RC4 Cryptography is the art of communication protection. This art is scrambling a message so it cannot be clear; it Enhancement of RC4 Algorithm using PUF * Ziyad Tariq Mustafa Al-Ta i, * Dhahir Abdulhade Abdullah, Saja Talib Ahmed *Department of Computer Science - College of Science - University of Diyala - Iraq Abstract:

More information

The Message Passing Interface (MPI)

The Message Passing Interface (MPI) The Message Passing Interface (MPI) MPI is a message passing library standard which can be used in conjunction with conventional programming languages such as C, C++ or Fortran. MPI is based on the point-to-point

More information

EE 418: Network Security and Cryptography

EE 418: Network Security and Cryptography EE 418: Network Security and Cryptography Homework 3 Solutions Assigned: Wednesday, November 2, 2016, Due: Thursday, November 10, 2016 Instructor: Tamara Bonaci Department of Electrical Engineering University

More information

Minimum key length for cryptographic security

Minimum key length for cryptographic security Journal of Applied Mathematics & Bioinformatics, vol.3, no.1, 2013, 181-191 ISSN: 1792-6602 (print), 1792-6939 (online) Scienpress Ltd, 2013 Minimum key length for cryptographic security George Marinakis

More information

Methodologies for power analysis attacks on hardware implementations of AES

Methodologies for power analysis attacks on hardware implementations of AES Rochester Institute of Technology RIT Scholar Works Theses Thesis/Dissertation Collections 8-1-2009 Methodologies for power analysis attacks on hardware implementations of AES Kenneth James Smith Follow

More information

Security in Sensor Networks. Written by: Prof. Srdjan Capkun & Others Presented By : Siddharth Malhotra Mentor: Roland Flury

Security in Sensor Networks. Written by: Prof. Srdjan Capkun & Others Presented By : Siddharth Malhotra Mentor: Roland Flury Security in Sensor Networks Written by: Prof. Srdjan Capkun & Others Presented By : Siddharth Malhotra Mentor: Roland Flury Mobile Ad-hoc Networks (MANET) Mobile Random and perhaps constantly changing

More information

SECURITY OF CRYPTOGRAPHIC SYSTEMS. Requirements of Military Systems

SECURITY OF CRYPTOGRAPHIC SYSTEMS. Requirements of Military Systems SECURITY OF CRYPTOGRAPHIC SYSTEMS CHAPTER 2 Section I Requirements of Military Systems 2-1. Practical Requirements Military cryptographic systems must meet a number of practical considerations. a. b. An

More information

Introduction to Cryptography CS 355

Introduction to Cryptography CS 355 Introduction to Cryptography CS 355 Lecture 25 Mental Poker And Semantic Security CS 355 Fall 2005 / Lecture 25 1 Lecture Outline Review of number theory The Mental Poker Protocol Semantic security Semantic

More information

Design of Parallel Algorithms. Communication Algorithms

Design of Parallel Algorithms. Communication Algorithms + Design of Parallel Algorithms Communication Algorithms + Topic Overview n One-to-All Broadcast and All-to-One Reduction n All-to-All Broadcast and Reduction n All-Reduce and Prefix-Sum Operations n Scatter

More information

A Novel Color Image Cryptosystem Using Chaotic Cat and Chebyshev Map

A Novel Color Image Cryptosystem Using Chaotic Cat and Chebyshev Map www.ijcsi.org 63 A Novel Color Image Cryptosystem Using Chaotic Cat and Chebyshev Map Jianjiang CUI 1, Siyuan LI 2 and Dingyu Xue 3 1 School of Information Science and Engineering, Northeastern University,

More information

Secure Distributed Computation on Private Inputs

Secure Distributed Computation on Private Inputs Secure Distributed Computation on Private Inputs David Pointcheval ENS - CNRS - INRIA Foundations & Practice of Security Clermont-Ferrand, France - October 27th, 2015 The Cloud David Pointcheval Introduction

More information

ElGamal Public-Key Encryption and Signature

ElGamal Public-Key Encryption and Signature ElGamal Public-Key Encryption and Signature Çetin Kaya Koç koc@cs.ucsb.edu Çetin Kaya Koç http://koclab.org Winter 2017 1 / 10 ElGamal Cryptosystem and Signature Scheme Taher ElGamal, originally from Egypt,

More information

DATA ENCODING TECHNIQUES FOR LOW POWER CONSUMPTION IN NETWORK-ON-CHIP

DATA ENCODING TECHNIQUES FOR LOW POWER CONSUMPTION IN NETWORK-ON-CHIP DATA ENCODING TECHNIQUES FOR LOW POWER CONSUMPTION IN NETWORK-ON-CHIP S. Narendra, G. Munirathnam Abstract In this project, a low-power data encoding scheme is proposed. In general, system-on-chip (soc)

More information

Pseudorandom Number Generation and Stream Ciphers

Pseudorandom Number Generation and Stream Ciphers Pseudorandom Number Generation and Stream Ciphers Raj Jain Washington University in Saint Louis Saint Louis, MO 63130 Jain@cse.wustl.edu Audio/Video recordings of this lecture are available at: http://www.cse.wustl.edu/~jain/cse571-14/

More information

Analysis and loss estimation of different multilevel DC-DC converter modules and different proposed multilevel DC-DC converter systems

Analysis and loss estimation of different multilevel DC-DC converter modules and different proposed multilevel DC-DC converter systems The University of Toledo The University of Toledo Digital Repository Theses and Dissertations 2014 Analysis and loss estimation of different multilevel DC-DC converter modules and different proposed multilevel

More information

Amalgamation of Cyclic Bit Operation in SD-EI Image Encryption Method: An Advanced Version of SD-EI Method: SD-EI Ver-2

Amalgamation of Cyclic Bit Operation in SD-EI Image Encryption Method: An Advanced Version of SD-EI Method: SD-EI Ver-2 Amalgamation of Cyclic Bit Operation in SD-EI Image Encryption Method: An Advanced Version of SD-EI Method: SD-EI Ver-2 Somdip Dey St. Xavier s College [Autonomous] Kolkata, India E-mail: somdipdey@ieee.org

More information

Design of a High Throughput 128-bit AES (Rijndael Block Cipher)

Design of a High Throughput 128-bit AES (Rijndael Block Cipher) Design of a High Throughput 128-bit AES (Rijndael Block Cipher Tanzilur Rahman, Shengyi Pan, Qi Zhang Abstract In this paper a hardware implementation of a high throughput 128- bits Advanced Encryption

More information

UNIT-II LOW POWER VLSI DESIGN APPROACHES

UNIT-II LOW POWER VLSI DESIGN APPROACHES UNIT-II LOW POWER VLSI DESIGN APPROACHES Low power Design through Voltage Scaling: The switching power dissipation in CMOS digital integrated circuits is a strong function of the power supply voltage.

More information

A SURVEY ON DIFFERENT ARCHITECTURE FOR XOR GATE

A SURVEY ON DIFFERENT ARCHITECTURE FOR XOR GATE A SURVEY ON DIFFERENT ARCHITECTURE FOR XOR GATE S.Rajarajeshwari, V.Vaishali #1 and C.Saravanakumar *2 # UG Student, Department of ECE, Valliammai Engineering College, Chennai,India * Assistant Professor,

More information

High Speed, Low power and Area Efficient Processor Design Using Square Root Carry Select Adder

High Speed, Low power and Area Efficient Processor Design Using Square Root Carry Select Adder IOSR Journal of Electronics and Communication Engineering (IOSR-JECE) e-issn: 2278-2834,p- ISSN: 2278-8735.Volume 9, Issue 2, Ver. VII (Mar - Apr. 2014), PP 14-18 High Speed, Low power and Area Efficient

More information

A STENO HIDING USING CAMOUFLAGE BASED VISUAL CRYPTOGRAPHY SCHEME

A STENO HIDING USING CAMOUFLAGE BASED VISUAL CRYPTOGRAPHY SCHEME International Journal of Power Control Signal and Computation (IJPCSC) Vol. 2 No. 1 ISSN : 0976-268X A STENO HIDING USING CAMOUFLAGE BASED VISUAL CRYPTOGRAPHY SCHEME 1 P. Arunagiri, 2 B.Rajeswary, 3 S.Arunmozhi

More information

A Level-Encoded Transition Signaling Protocol for High-Throughput Asynchronous Global Communication

A Level-Encoded Transition Signaling Protocol for High-Throughput Asynchronous Global Communication A Level-Encoded Transition Signaling Protocol for High-Throughput Asynchronous Global Communication Peggy B. McGee, Melinda Y. Agyekum, Moustafa M. Mohamed and Steven M. Nowick {pmcgee, melinda, mmohamed,

More information

AREA AND DELAY EFFICIENT DESIGN FOR PARALLEL PREFIX FINITE FIELD MULTIPLIER

AREA AND DELAY EFFICIENT DESIGN FOR PARALLEL PREFIX FINITE FIELD MULTIPLIER AREA AND DELAY EFFICIENT DESIGN FOR PARALLEL PREFIX FINITE FIELD MULTIPLIER 1 CH.JAYA PRAKASH, 2 P.HAREESH, 3 SK. FARISHMA 1&2 Assistant Professor, Dept. of ECE, 3 M.Tech-Student, Sir CR Reddy College

More information

Wireless Digital Nodes

Wireless Digital Nodes Wireless Digital Nodes Building a Ham Internet Atlanta Radio Club Presentation 4/2/2004 Frank Rietta, KI4AWF Dave Hall, KG4ZGG Purpose Show how an old PC can be turned into an wireless server without being

More information

Dr. V.U.K.Sastry Professor (CSE Dept), Dean (R&D) SreeNidhi Institute of Science & Technology, SNIST Hyderabad, India. P = [ p

Dr. V.U.K.Sastry Professor (CSE Dept), Dean (R&D) SreeNidhi Institute of Science & Technology, SNIST Hyderabad, India. P = [ p Vol., No., A Block Cipher Involving a Key Bunch Matrix and an Additional Key Matrix, Supplemented with XOR Operation and Supported by Key-Based Permutation and Substitution Dr. V.U.K.Sastry Professor (CSE

More information

Chapter 16 - Instruction-Level Parallelism and Superscalar Processors

Chapter 16 - Instruction-Level Parallelism and Superscalar Processors Chapter 16 - Instruction-Level Parallelism and Superscalar Processors Luis Tarrataca luis.tarrataca@gmail.com CEFET-RJ L. Tarrataca Chapter 16 - Superscalar Processors 1 / 78 Table of Contents I 1 Overview

More information

Video Enhancement Algorithms on System on Chip

Video Enhancement Algorithms on System on Chip International Journal of Scientific and Research Publications, Volume 2, Issue 4, April 2012 1 Video Enhancement Algorithms on System on Chip Dr.Ch. Ravikumar, Dr. S.K. Srivatsa Abstract- This paper presents

More information

Time-Memory Trade-Offs for Side-Channel Resistant Implementations of Block Ciphers. Praveen Vadnala

Time-Memory Trade-Offs for Side-Channel Resistant Implementations of Block Ciphers. Praveen Vadnala Time-Memory Trade-Offs for Side-Channel Resistant Implementations of Block Ciphers Praveen Vadnala Differential Power Analysis Implementations of cryptographic systems leak Leaks from bit 1 and bit 0 are

More information

Computer Science as a Discipline

Computer Science as a Discipline Computer Science as a Discipline 1 Computer Science some people argue that computer science is not a science in the same sense that biology and chemistry are the interdisciplinary nature of computer science

More information

On a Viterbi decoder design for low power dissipation

On a Viterbi decoder design for low power dissipation On a Viterbi decoder design for low power dissipation By Samirkumar Ranpara Thesis submitted to the Faculty of the Virginia Polytechnic Institute and State University in partial fulfillment of the requirements

More information

Symmetric-key encryption scheme based on the strong generating sets of permutation groups

Symmetric-key encryption scheme based on the strong generating sets of permutation groups Symmetric-key encryption scheme based on the strong generating sets of permutation groups Ara Alexanyan Faculty of Informatics and Applied Mathematics Yerevan State University Yerevan, Armenia Hakob Aslanyan

More information

A Hybrid Technique for Image Compression

A Hybrid Technique for Image Compression Australian Journal of Basic and Applied Sciences, 5(7): 32-44, 2011 ISSN 1991-8178 A Hybrid Technique for Image Compression Hazem (Moh'd Said) Abdel Majid Hatamleh Computer DepartmentUniversity of Al-Balqa

More information

Secured Bank Authentication using Image Processing and Visual Cryptography

Secured Bank Authentication using Image Processing and Visual Cryptography Secured Bank Authentication using Image Processing and Visual Cryptography B.Srikanth 1, G.Padmaja 2, Dr. Syed Khasim 3, Dr. P.V.S.Lakshmi 4, A.Haritha 5 1 Assistant Professor, Department of CSE, PSCMRCET,

More information

Implementation and Performance Testing of the SQUASH RFID Authentication Protocol

Implementation and Performance Testing of the SQUASH RFID Authentication Protocol Implementation and Performance Testing of the SQUASH RFID Authentication Protocol Philip Koshy, Justin Valentin and Xiaowen Zhang * Department of Computer Science College of n Island n Island, New York,

More information

Secret Key Systems (block encoding) Encrypting a small block of text (say 128 bits) General considerations for cipher design:

Secret Key Systems (block encoding) Encrypting a small block of text (say 128 bits) General considerations for cipher design: Secret Key Systems (block encoding) Encrypting a small block of text (say 128 bits) General considerations for cipher design: Secret Key Systems (block encoding) Encrypting a small block of text (say 128

More information

Lightweight Mixcolumn Architecture for Advanced Encryption Standard

Lightweight Mixcolumn Architecture for Advanced Encryption Standard Volume 6 No., February 6 Lightweight Micolumn Architecture for Advanced Encryption Standard K.J. Jegadish Kumar Associate professor SSN college of engineering kalvakkam, Chennai-6 R. Balasubramanian Post

More information

High performance Radix-16 Booth Partial Product Generator for 64-bit Binary Multipliers

High performance Radix-16 Booth Partial Product Generator for 64-bit Binary Multipliers High performance Radix-16 Booth Partial Product Generator for 64-bit Binary Multipliers Dharmapuri Ranga Rajini 1 M.Ramana Reddy 2 rangarajini.d@gmail.com 1 ramanareddy055@gmail.com 2 1 PG Scholar, Dept

More information

A new serial/parallel architecture for a low power modular multiplier*

A new serial/parallel architecture for a low power modular multiplier* A new serial/parallel architecture for a low power modular multiplier* JOHANN GROBSCIIADL Institute for Applied Information Processing and Communications (IAIK) Graz University of Technology, Inffeldgasse

More information

SIDE-CHANNEL attacks exploit the leaked physical information

SIDE-CHANNEL attacks exploit the leaked physical information 546 IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS II: EXPRESS BRIEFS, VOL. 57, NO. 7, JULY 2010 A Low Overhead DPA Countermeasure Circuit Based on Ring Oscillators Po-Chun Liu, Hsie-Chia Chang, Member, IEEE,

More information

DRAFT 2016 CSTA K-12 CS

DRAFT 2016 CSTA K-12 CS 2016 CSTA K-12 CS Standards: Level 1 (Grades K-5) K-2 Locate and identify (using accurate terminology) computing, input, and output devices in a variety of environments (e.g., desktop and laptop computers,

More information

A Fast Image Encryption Scheme based on Chaotic Standard Map

A Fast Image Encryption Scheme based on Chaotic Standard Map A Fast Image Encryption Scheme based on Chaotic Standard Map Kwok-Wo Wong, Bernie Sin-Hung Kwok, and Wing-Shing Law Department of Electronic Engineering, City University of Hong Kong, 83 Tat Chee Avenue,

More information

Indiana K-12 Computer Science Standards

Indiana K-12 Computer Science Standards Indiana K-12 Computer Science Standards What is Computer Science? Computer science is the study of computers and algorithmic processes, including their principles, their hardware and software designs,

More information