240 likes | 579 Views
Kasumi Block Cipher. Data Encryptors Darshan Gandhi Rushabh Pasad. Introduction. Used in 3GPP Confidentiality and Integrity Algorithms. Technical Specifications: Key Size: 128 bits Block Size: 64 bits (64 bit output from a 64 bit input). Number of Rounds: 8. Block Diagram.
E N D
Kasumi Block Cipher Data Encryptors Darshan Gandhi Rushabh Pasad
Introduction • Used in 3GPP Confidentiality and Integrity Algorithms. • Technical Specifications: • Key Size: 128 bits • Block Size: 64 bits (64 bit output from a 64 bit input). • Number of Rounds: 8
Statistical Test Suite • NIST • Developed to test randomness of binary sequences produced by hardware or software based cryptographic random or pseudorandom number generators. • Focuses on variety of different types of non-randomness that could exist in a sequence. • Consists of 15 sub-tests.
Random Number Generation Tests • Frequency Test • Frequency Test within a block • Runs Test • Longest Run of Ones in a block • Binary Matrix Rank Test • Discrete Fourier Transform Test • Non-overlapping Template Matching Test • Overlapping Template Matching Test • Universal Statistical Test • Linear Complexity Test • Serial Test • Approximate Entropy Test • Cumulative Sums Test • Random Excursions Test • Random Excursions Variant Test
Random Input Data Program • Generic Program. Can be used with any Block Cipher. • Operates in Output Feedback Mode • Output is in binary format. • Usage: % java GenerateRandomInput <Cipher-class> <Initialization-Vector> <key> <numberOfRounds> <output-data-size> <output-file> • <Cipher-Class>: Name of the implementing Block Cipher Class. • <Initialization-Vector>: A Hex String equivalent to block size of cipher. • <key>: Key to be used for Encryption. A Hex string equivalent to key size of cipher. • <numberOfRounds>: Number of Rounds for encryption. • <output-data-size>: Generates (<output-data-size>*block size) bits in output.(i.e. Number of iterations to be performed) • <output-file>: Path to the file in which the output should be saved. Eg. % java GenerateRandomInput Kasumi 62A540981BA6F9B7 8CE33E2CC3C0B5FC1F3DE8A6DC66B1F3 8 1000 output.txt
Test Suite Results • Tests were run on 10 streams of 100,000 bits long data sequences for each reduced rounds. • Universal Test requires 1,000 million bits of data for best accuracy. So the test was run only once on the cipher reduced to round 1. The recorded P-Value was: 0.213309
Literature Search • ETSI SAGE 3GPP Standard Algorithms Task Force • Performed 12 statistical tests. • S9 does not show the avalanche effect. • No other statistical weaknesses. • Evaluator 1 • Found a key attack when reduced to 5 rounds. • Found a structural attack on the cipher when reduced to 6 rounds.
Literature Search • Evaluator 2 • Performed cryptanalytic attacks. • Could not detect any weaknesses in the cipher. • Evaluator 3 • No practical attack possible on the reduced 5 round version. • Theoretically, when reduced to 6 rounds, found a weakness.
Analysis and Conclusion • Analysis On observing the P-Values, we conclude that, If Kasumi Cipher is reduced to Round 1, non-randomness is detected (P-Value is less than 0.01). For further Rounds, non-randomness was detected only in one of the binary rank matrix test (Reduced to 7 Rounds). • Conclusion Kasumi Cipher is strong cipher that generates pseudo random data in which non-randomness is not being detected. No practical attacks have been found and the algorithm is well-fitted for the intended use.
Lessons Learned • Principles of Cryptography • Implementing Cryptographic Primitives • Bit level data manipulation and code optimization • Encrypting and Decrypting Data using Cipher Algorithms
Future Work • Testing using other test suites such as • TestU01 • DieHard • Perform cryptanalysis to detect any other weaknesses