The stream cipher MICKEY-128 (version 1) Algorithm specification issue 1.0

Similar documents
Specifications in 2001

Related-Mode Attacks on CTR Encryption Mode

A Binarization Algorithm specialized on Document Images and Photos

Lecture - Data Encryption Standard 4

Miss in the Middle Attacks on IDEA and Khufu

Array transposition in CUDA shared memory

Assembler. Building a Modern Computer From First Principles.

Virtual Memory. Background. No. 10. Virtual Memory: concept. Logical Memory Space (review) Demand Paging(1) Virtual Memory

Assignment # 2. Farrukh Jabeen Algorithms 510 Assignment #2 Due Date: June 15, 2009.

Load Balancing for Hex-Cell Interconnection Network

Compiler Design. Spring Register Allocation. Sample Exercises and Solutions. Prof. Pedro C. Diniz

An Optimized Pseudorandom Generator using Packed Matrices

An Optimal Algorithm for Prufer Codes *

Harvard University CS 101 Fall 2005, Shimon Schocken. Assembler. Elements of Computing Systems 1 Assembler (Ch. 6)

Simulation Based Analysis of FAST TCP using OMNET++

An Iterative Solution Approach to Process Plant Layout using Mixed Integer Optimisation

CSCI 104 Sorting Algorithms. Mark Redekopp David Kempe

The Greedy Method. Outline and Reading. Change Money Problem. Greedy Algorithms. Applications of the Greedy Strategy. The Greedy Method Technique

CS1100 Introduction to Programming

Course Introduction. Algorithm 8/31/2017. COSC 320 Advanced Data Structures and Algorithms. COSC 320 Advanced Data Structures and Algorithms

RADIX-10 PARALLEL DECIMAL MULTIPLIER

Hermite Splines in Lie Groups as Products of Geodesics

ELEC 377 Operating Systems. Week 6 Class 3

Skew Angle Estimation and Correction of Hand Written, Textual and Large areas of Non-Textual Document Images: A Novel Approach

Cache Performance 3/28/17. Agenda. Cache Abstraction and Metrics. Direct-Mapped Cache: Placement and Access

CS221: Algorithms and Data Structures. Priority Queues and Heaps. Alan J. Hu (Borrowing slides from Steve Wolfman)

An Efficient Chaos-Based Feedback Stream cipher (ECBFSC) for Image Cryptosystems

Problem Set 3 Solutions

CMPS 10 Introduction to Computer Science Lecture Notes

Programming in Fortran 90 : 2017/2018

Assembler. Shimon Schocken. Spring Elements of Computing Systems 1 Assembler (Ch. 6) Compiler. abstract interface.

Insertion Sort. Divide and Conquer Sorting. Divide and Conquer. Mergesort. Mergesort Example. Auxiliary Array

3D vector computer graphics

Meta-heuristics for Multidimensional Knapsack Problems

Fault Detection in Rule-Based Software Systems

Wishing you all a Total Quality New Year!

Stitching of off-axis sub-aperture null measurements of an aspheric surface

Wavefront Reconstructor

Sorting. Sorting. Why Sort? Consistent Ordering

VRT012 User s guide V0.1. Address: Žirmūnų g. 27, Vilnius LT-09105, Phone: (370-5) , Fax: (370-5) ,

Providing Stronger Authentication at a LowCost to RFID Tags Operating under the EPCglobal Framework

Storage Binding in RTL synthesis

Outline. Digital Systems. C.2: Gates, Truth Tables and Logic Equations. Truth Tables. Logic Gates 9/8/2011

Design and Analysis of Algorithms

Sequential search. Building Java Programs Chapter 13. Sequential search. Sequential search

SLAM Summer School 2006 Practical 2: SLAM using Monocular Vision

A Fast Visual Tracking Algorithm Based on Circle Pixels Matching

NOVEL CONSTRUCTION OF SHORT LENGTH LDPC CODES FOR SIMPLE DECODING

Memory Modeling in ESL-RTL Equivalence Checking

ETAtouch RESTful Webservices

CSE 326: Data Structures Quicksort Comparison Sorting Bound

THE PULL-PUSH ALGORITHM REVISITED

CHAPTER 4 PARALLEL PREFIX ADDER

Esc101 Lecture 1 st April, 2008 Generating Permutation

Concurrent Apriori Data Mining Algorithms

Conditional Speculative Decimal Addition*

Parallel Inverse Halftoning by Look-Up Table (LUT) Partitioning

System-on-Chip Design Analysis of Control Data Flow. Hao Zheng Comp Sci & Eng U of South Florida

Parallelism for Nested Loops with Non-uniform and Flow Dependences

Solving Planted Motif Problem on GPU

Range images. Range image registration. Examples of sampling patterns. Range images and range surfaces

Implementation and Evaluation of Authenticated Encryption Algorithms on Java Card Platform

Accounting for the Use of Different Length Scale Factors in x, y and z Directions

Deep learning is a good steganalysis tool when embedding key is reused for different images, even if there is a cover source-mismatch

THE low-density parity-check (LDPC) code is getting

Cluster Analysis of Electrical Behavior

Floating-Point Division Algorithms for an x86 Microprocessor with a Rectangular Multiplier

Exercises (Part 4) Introduction to R UCLA/CCPR. John Fox, February 2005

Classification Based Mode Decisions for Video over Networks

Genetic Key Guided Neural Deep Learning based Encryption for Online Wireless Communication (GKNDLE)

Random Kernel Perceptron on ATTiny2313 Microcontroller

AADL : about scheduling analysis

Efficient Broadcast Disks Program Construction in Asymmetric Communication Environments

Lecture 5: Multilayer Perceptrons

Convolutional interleaver for unequal error protection of turbo codes

Problem Definitions and Evaluation Criteria for Computational Expensive Optimization

Parallel matrix-vector multiplication

Module Management Tool in Software Development Organizations

Solving two-person zero-sum game by Matlab

Sorting Review. Sorting. Comparison Sorting. CSE 680 Prof. Roger Crawfis. Assumptions

Some Advanced SPC Tools 1. Cumulative Sum Control (Cusum) Chart For the data shown in Table 9-1, the x chart can be generated.

A Practical Attack on KeeLoq

CSE 326: Data Structures Quicksort Comparison Sorting Bound

On Fault-Tolerant Embedding of Meshes and Tori in a Flexible Hypercube with Unbounded Expansion

[33]. As we have seen there are different algorithms for compressing the speech. The

Edge Detection in Noisy Images Using the Support Vector Machines

Sum of Linear and Fractional Multiobjective Programming Problem under Fuzzy Rules Constraints

Enhanced Watermarking Technique for Color Images using Visual Cryptography

A mathematical programming approach to the analysis, design and scheduling of offshore oilfields

DLK Pro the all-rounder for mobile data downloading. Tailor-made for various requirements.

A new attack on Jakobsson Hybrid Mix-Net

CE 221 Data Structures and Algorithms

Minimum Cost Optimization of Multicast Wireless Networks with Network Coding

News. Recap: While Loop Example. Reading. Recap: Do Loop Example. Recap: For Loop Example

A MOVING MESH APPROACH FOR SIMULATION BUDGET ALLOCATION ON CONTINUOUS DOMAINS

Performance Evaluation of Information Retrieval Systems

TN348: Openlab Module - Colocalization

Alufix Expert D Design Software #85344

Biclique Cryptanalysis Of PRESENT, LED, And KLEIN

Classifier Selection Based on Data Complexity Measures *

Transcription:

The stream cpher MICKEY-128 (verson 1 Algorthm specfcaton ssue 1. Steve Babbage Vodafone Group R&D, Newbury, UK steve.babbage@vodafone.com Matthew Dodd Independent consultant matthew@mdodd.net www.mdodd.net 29 th Aprl 25 Abstract: The stream cpher MICKEY-128 (whch stands for Mutual Irregular Clockng KEYstream generator wth a 128-bt key s amed at resource-constraned hardware platforms, but where a key sze of 128 bts s requred. It s ntended to have low complexty n hardware, whle provdng a hgh level of securty. It uses rregular clockng of shft regsters, wth some novel technques to balance the need for guarantees on perod and pseudorandomness aganst the need to avod certan cryptanalytc attacks. Keywords: MICKEY, MICKEY-128, stream cpher, ECRYPT, rregular clockng. 1. Introducton We present the stream cpher MICKEY-128 (whch stands for Mutual Irregular Clockng KEYstream generator wth a 128-bt key. MICKEY s amed at resource-constraned hardware platforms mplementaton platforms, but where a key sze of 128 bts s requred. It s ntended to have low complexty n hardware, whle provdng a hgh level of securty. 2. Input and output parameters MICKEY-128 takes two nput parameters: a 128-bt secret key K, whose bts are labelled k K k ; an ntalsaton varable IV, anywhere between and 128 bts n length, whose bts are labelled vkv IVLENGTH 1. The keystream bts output by MICKEY-128 are labelled z, z, 1 K. Cphertext s produced from plantext by btwse XOR wth keystream bts, as n most stream cphers. 3. Acceptable use The maxmum length of keystream sequence that may be generated wth a sngle ( I V K, par s 2 64 bts. It s acceptable to generate 2 64 such sequences (tme permttng!, all from the same K but wth dfferent values of IV. It s not acceptable to use two ntalsaton

MICKEY v1 specfcaton 2 varables of dfferent lengths wth the same K. And t s not, of course, acceptable to reuse the same value of IV wth the same K. 4. Components of the keystream generator 4.1 The regsters The generator s bult from two regsters R and S. Each regster s 128 stages long, each stage contanng one bt. We label the bts n the regsters r K r and s K s respectvely. Broadly speakng, we thnk of R as the lnear regster and S as the non-lnear regster. 4.2 Clockng the regster R Defne a set of feedback tap postons for R : RTAPS = {,1,2,3,6,7,9,11,12,13,14,15,23,26,27,28,31,32,35,37,4,43,47,48,52,54,55,61,62,63, 64,69,7,71,73,74,76,77,78,81,82,83,84,85,87,89,9,94,95,96,1,12,14,16, 17,18,11,114,115,12,121,124,125,126} We defne an operaton CLOCK_R (R, follows: INPUT _ BIT _ R, CONTROL _ BIT _ R as Let r K r be the state of the regster R before clockng, and let r K r be the state of the regster R after clockng. FEEDBACK BIT = r INPUT _ BIT _ For 1, r = r 1 ; r = For, f RTAPS, r = r FEEDBACK _ BIT If CONTROL _ BIT = 1 : For, r = r r 4.3 Clockng the regster S Defne four sequences COMP 1 KCOMP 126, COMP 1 K COMP 1 126, FB K FB, FB1 K FB1 as follows: 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 24 25 26 COMP 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 COMP 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FB 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FB 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 27 28 29 3 31 32 33 34 35 36 37 38 39 4 41 42 43 44 45 46 47 48 49 5 51 52 53 COMP 1 1 1 1 1 1 1 1 1 1 1 1 COMP 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FB 1 1 1 1 1 1 1 1 1 1 1 1 1 FB 1 1 1 1 1 1 1 1 1 1 1 1 1 54 55 56 57 58 59 6 61 62 63 64 65 66 67 68 69 7 71 72 73 74 75 76 77 78 79 8 COMP 1 1 1 1 1 1 1 1 1 1 1

MICKEY v1 specfcaton 3 COMP 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FB 1 1 1 1 1 1 1 1 1 1 FB 1 1 1 1 1 1 1 1 1 1 1 1 81 82 83 84 85 86 87 88 89 9 91 92 93 94 95 96 97 98 99 1 11 12 13 14 15 16 17 COMP 1 1 1 1 1 1 1 1 1 1 COMP 1 1 1 1 1 1 1 1 1 1 1 FB 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FB 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 18 19 11 111 112 113 114 115 116 117 118 119 12 121 122 123 124 125 126 COMP 1 1 1 1 1 1 1 1 1 1 1 1 1 1 COMP 1 1 1 1 1 1 1 1 1 1 FB 1 1 1 1 1 1 1 1 FB 1 1 1 1 1 1 1 1 1 1 1 1 We defne an operato n CLOCK_ S (S, INPUT_BIT _ S, CONTROL _ BIT _ S as follows: Le t s K s be the state of the regster S before clockng, and let s K s be the state of the regster after clockng. We wll also use ˆ s ˆ K s as ntermedate varables to smplfy the specfcaton. FEEDBACK _ BIT = s INPUT _ BIT For 1 126, ˆ s s (( s COMP.( s COMP 1 If CONTROL _ BIT = : For ˆ s =. = 1 + 1 ; ˆ s = ; s126, s = ˆ s ( FB. FEEDBACK _ BIT If nstead CONTROL _ BIT = 1 : For s = ˆ s FB1. FEEDBACK _ BIT, ( 4.4 Clockng the overall generator We defne an operaton CLOCK_KG (R, S, MIXING, INPUT _ BIT as follows: CONTROL _ BIT _ R = s43 r85 CONTROL _ BIT _ S = s85 r42 If MIXING = TRUE, CLOCK_R (R, INPUT _ BIT _ R = INPUT _ BIT s64, CONTROL _ BIT _ R = CONTROL _ BIT CLOCK_S (S, INPUT _ BIT _ S = INPUT _ BIT, CONTROL _ BIT _ S = CONTROL _ BIT If nstead MIXING = FALSE, CLOCK_R ( R, INPUT _ BIT _ R = INPUT _ BIT, CONTROL _ BIT _ R = CONTROL _ BIT

MICKEY v1 specfcaton 4 CLOCK_S (S, INPUT _ BIT _ S = INPUT _ BIT, CONTROL _ BIT _ S = CONTROL _ BIT 5. Key loadng and ntalsaton The regsters are ntalsed from the nput varables as follows: Intalse the regsters R and S wth all zeros. (Load n IV. For IVLENGTH 1: CLOCK_KG (R, S, MIXING = TRUE, INPUT_BIT = v (Load n K. For : CLOCK_KG (R, S, MIXING = TRUE, INPUT_BIT = k (Precloc k. For : CLOCK_KG ( R, S, MIXING = TRUE, INPUT_BIT = 6. Generatng keystream Havng loaded and ntalsed the regsters, we generate keystream bts z K z L 1 as follows: For L 1 : z = r s CLOCK_KG ( R, S, MIXING = FALSE, INPUT_BIT = 7. Desgn prncples The desgn prncples of MICKEY-128 are exactly the same as those of MICKEY [3]. We wll not repeat them here. We have treated MICKEY-128 as a separate algorthm purely to keep the specfcaton of each verson smpler. In secton 7.1 of the MICKEY specfcaton [3], we menton a value J = 2 4 23 related to the clockng of regster R. For MICKEY-128, the correspondng value of J s 2 64 55. 8. The ntended strength of the algorthm When used n accordance wth the rules set out n secton 3, MICKEY-128 s ntended to resst any attack faster than exhaustve key search. The desgners have not delberately nserted any hdden weaknesses n the algorthm. 9. Performance of the algorthm MICKEY-128 s not desgned for notably hgh speeds n software, although t s straghtforward to mplement t reasonably effcently. Our own reasonably effcent (but not turbo-charged mplementaton generated 1 8 bts of keystream n 5.5 seconds, usng a PC wth a 3.4GHz Pentum 4 processor.

MICKEY v1 specfcaton 5 There may be scope for more effcent software mplementatons that produce several bts of keystream at a tme, makng use of look-up tables to mplement the regster clockng and keystream dervaton. 1. IPR The desgners of the algorthm do not clam any IPR over t, and make t freely avalable for any purpose. To the best of our knowledge no one else has any relevant IPR ether. We wll update the ECRYPT stream cpher project coordnators f we ever dscover any. 11. References [1] C.J.A.Jansen, Streamcpher Desgn: Make your LFSRs jump!, presented at the ECRYPT SASC (State of the Art n Stream Cphers workshop, Bruges, October 24, and n the workshop record at http://www.sg.rhul.ac.uk/research/projects/ecrypt/stvl/sasc-record.zp. [2] E.Dawson, A.Clark, J.Golć, W.Mllan, L.Penna, L.Smpson, The LILI-128 Keystream Generator, NESSIE submsson, n the proceedngs of the Frst Open NESSIE Workshop (Leuven, November 2, and avalable at http://www.cryptonesse.org. [3] S.H.Babbage, M.W.Dodd, The strea m cpher MICKEY (verson 1, Algorthm specfcaton Issue 1., ECRYPT stream cpher submsson, n the proceedngs of the SKEW Workshop (Århus, May 25, and expected to become avalable va the ECRYPT web ste.