Presentation is loading. Please wait.

Presentation is loading. Please wait.

LUCIFER hell's favorite cipher.... By: OUTSOURCED Trevin Maerten Eitan Romanoff.

Similar presentations


Presentation on theme: "LUCIFER hell's favorite cipher.... By: OUTSOURCED Trevin Maerten Eitan Romanoff."— Presentation transcript:

1 LUCIFER hell's favorite cipher...

2 By: OUTSOURCED Trevin Maerten Eitan Romanoff

3 About Lucifer Created by Horst Feistel et al. at IBM One of the earliest block ciphers  “Father” of DES Limited commercial usage with banking software

4 About the Cipher Block Cipher  Plaintext blocks of 128 bits  128 bit key  72 bit sub-keys  Ciphertext blocks of 128 bits Feistel network 16 rounds per encryption

5 The Encryption Round

6 The Function XOR block with sub-key Block nibble swap  Based on bits of first sub-key byte Send nibbles to s-boxes  Left nibble to box 1, right nibble to box 2 Bit permutation

7 Our Approach Separate the cipher from the practical program. Have separate “helper classes”. Permutation Class KeyHandler Class SboxClass Keep readability high. High modularity for easy testing and optimization. Allow output as a hex string. Use Java - stick to what we know best!

8 Class Structure

9 Sample Encrypted Texts INPUT test sample input OUTPUT be15cc3974c2f0ab55e38a881efafa23 09b20463d448c50de9fc6ad609787a8d

10 Timed Results (Version 1) 1,000,000 round encryption: 14716 msec encryption 1000000 repetitions 1.47e-05 sec/encryption

11 Analysis and Improvements A lot of unnecessary for loops  Generic toBitArray function unnecessary Massive overhead with O(n^2) routines!  “Grabbing Bits” too costly. Replace with simple shifts Focus on the methods called the most Overall class structure had negligible overhead

12 Timed Results (Version 2) 1,000,000 round encryption: 5679 msec encryption 1000000 repetitions 5.68e-06 sec/encryption 259% Performance Boost Still a lot of room for unfolding larger loops Final permutation still costly

13 WeLoveLucy Demo

14 What We Learned The low-level programming mindset Bit-level operations on unsigned ints Overhead in non-obvious places Benefits of Feistel networks in decryption

15 Questions?

16 Really? No Questions?

17 References 1) Brown, Lawriem. “Block Ciphers”. April, 1996. Web. 30 Oct 2009. 2) A. Sorkin, (1984). LUCIFER: a cryptographic algorithm. Cryptologia, 8(1), 22--35, 1984 3) Savard, John. "Lucifer - The First Block Cipher." John Savard's Home Page. 30 dec 2005. Web. 30 Oct 2009.. 4) "Lucifer (cipher)." Wikipedia, The Free Encyclopedia. 7 Apr 2009, 20:04 UTC. 7 Apr 2009

18 fin


Download ppt "LUCIFER hell's favorite cipher.... By: OUTSOURCED Trevin Maerten Eitan Romanoff."

Similar presentations


Ads by Google