Francisco Blas Izquierdo Riera AKA klondike

Slides:



Advertisements
Similar presentations
1 CIS 5371 Cryptography 5b. Pseudorandom Objects in Practice Block Ciphers.
Advertisements

Block Ciphers and the Data Encryption Standard
FEAL FEAL 1.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 5 Wenbing Zhao Department of Electrical and Computer Engineering.
Cryptography and Network Security Chapter 5. Chapter 5 –Advanced Encryption Standard "It seems very simple." "It is very simple. But if you don't know.
Computer Networking Lecture 21: Security and Cryptography Thanks to various folks from , semester’s past and others.
Overview Iterative combinational circuits Binary adders
Lecture 23 Symmetric Encryption
Introduction to Computer and Network Security Iliano Cervesato 26 August 2008 – Modern Cryptography.
Computer Security CS 426 Lecture 3
Chapter 8.  Cryptography is the science of keeping information secure in terms of confidentiality and integrity.  Cryptography is also referred to as.
ECE454/CS594 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2011.
Cryptanalysis. The Speaker  Chuck Easttom  
CSCI 5857: Encoding and Encryption
Chapter 20 Symmetric Encryption and Message Confidentiality.
Chapter 4 – Arithmetic Functions and HDLs Logic and Computer Design Fundamentals.
Chapter 20 Symmetric Encryption and Message Confidentiality.
Cryptography Team Presentation 2
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Logic and Computer Design.
Arithmetic Logic Unit (ALU) Anna Kurek CS 147 Spring 2008.
Lecture 2: Introduction to Cryptography
Advanced Encryption Standard. Origins NIST issued a new version of DES in 1999 (FIPS PUB 46-3) DES should only be used in legacy systems 3DES will be.
Lecture 23 Symmetric Encryption
Topics covered: Arithmetic CSE243: Introduction to Computer Architecture and Hardware/Software Interface.
Fifth Edition by William Stallings
Computer and Network Security Rabie A. Ramadan Lecture 3.
Intro to Cryptography Lesson Introduction
DES Analysis and Attacks CSCI 5857: Encoding and Encryption.
DATA & COMPUTER SECURITY (CSNB414) MODULE 3 MODERN SYMMETRIC ENCRYPTION.
CS 151: Digital Design Chapter 4: Arithmetic Functions and Circuits
Binary Arithmetic for DNA Computers R. Barua and J. Misra Preliminary Proceedings of the Eighth International Meeting on DNA Based Computers, pp ,
Computer Security coursework 3 Dr Alexei Vernitski.
LECTURE 4 Logic Design. LOGIC DESIGN We already know that the language of the machine is binary – that is, sequences of 1’s and 0’s. But why is this?
Module :MA3036NI Symmetric Encryption -3 Lecture Week 4.
Differential Distinguishing Attack on the Shannon Stream Cipher Based on Fault Analysis Mehdi Hassanzadeh University of Bergen Selmer Center, Norway
Block Ciphers and the Data Encryption Standard. Modern Block Ciphers  One of the most widely used types of cryptographic algorithms  Used in symmetric.
Lecture 4 Data Encryption Standard (DES) Dr. Nermin Hamza
Focused obfuscation for 1-day attack delaying
Cryptanalysis using Supercomputers, FPGAs and GPUs
CH15 –Security & Crypto.
School of Computer Science and Engineering Pusan National University
6b. Practical Constructions of Symmetric-Key Primitives.
Symmetric Algorithm of Cryptography
Cryptography.
- Stream Cipher and Block Cipher - Confusion & Diffusion
Simplified IDEA Cryptography and Network Security.
Implementation of IDEA on a Reconfigurable Computer
Data Security and Encryption (CSE348)
How to Break MD5 and Other Hash Functions
Cryptography This week we are going to use OpenSSL
مروري برالگوريتمهاي رمز متقارن(كليد پنهان)
Fifth Edition by William Stallings
ME 4447/6405 Microprocessor Control of Manufacturing Systems and
ADVANCED ENCRYPTION STANDARDADVANCED ENCRYPTION STANDARD
Overview Part 1 – Design Procedure Part 2 – Combinational Logic
Montek Singh Mon, Mar 28, 2011 Lecture 11
Block Ciphers: DES and AES
Overview Iterative combinational circuits Binary adders
Number Representation & Operators
ECE 352 Digital System Fundamentals
Block Ciphers (Crypto 2)
Cryptography and Network Security Chapter 5
Cryptography and Network Security Chapter 5 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
OPERATORS in C Programming
Cryptography Lecture 17.
Cryptography Lecture 18.
Counter Mode, Output Feedback Mode
OPERATORS in C Programming
Presentation transcript:

Francisco Blas Izquierdo Riera AKA klondike Contributor Analysis Francisco Blas Izquierdo Riera AKA klondike

About me Security interested since 17 Computer Engineer & MSc Gentoo Hardened developer Cryptography fan: Implemented AES-SIV in an Atmega (Arduino) bootloader Implemented CTR, CMAC and SIV modes in the Haskell crypto-api library Wrote own efficient TTH implementations Pushed for adding stronger cryptography to the ADC protocol Currently working as pentester and providing cryptographic support at SecureLink

Introduction

Confusion and Diffusion Defined by Claude Shannon in 1945 Confusion: ability of a cipher to hide the relation between plain and cipher text Diffusion: ability of a cipher to apply a bit change to all its outputs

The idea Reproduce the cryptographic algorithm But instead of running operations see how these mix in contributors Focus on diffusion

Mapping operations

Black S-Box N bits input, M bits output They propagate all inputs to all outputs For all output bits, output list = UNION(list for all input lists)

Bitwise NOT No interaction across bits Output list = input list

Bitwise AND, OR, XOR Only interaction between pairs of input bits Output list = Union(Input list1, Input List2)

Shifts The second parameter can have any value Spread all the dependencies of the first input to all the outputs all output lists = UNION(list for all input 1 lists)

Additions Contributions are spread from LSBs to MSBs Think of the usual schoolbook addition For each bit: UNION(Lists for each list of a bit of equal or less significance)

Substractions Subtractions are the addition of a complement of 2 of the second operand Not of the operand (no changes) Add one (propagate as with addition on second operand) Add both operands (propagate as with addition) Equal to addition in all regards

Multiplications Similar to additions, LSBS spread toward MSBs Think of schoolbook, addition of constant shifted products

Modulos Hard to map Use black S-BOX approach instead

Divisions Rarely used (division by 0 risk) Also hard to map Use black S-BOX approach

White S-BOX Like Black S-BOX Bit’s input contributors can be removed if shown to be independent (same value for all inputs)

Optimizing operations

Bitwise AND by constant Empty input list if bit is 0, maintain if 1

Bitwise OR by constant Empty input list if bit is 1, maintain if 0

Bitwise XOR by constant Output lists = input lists

Bitwise Shifts and Rotates by constant Shift or rotate the input lists in the output lists

Arithmetic right shift by constant Shift the input copying the MSB list to all the empty bits introduced on the right

Shifts and Rotates of constant Rarely seen Use union of lists of second parameter for output Can be further optimized but understanding becomes harder

Multiplications by constant Can be replaced by shifts and additions

Still lots left to do

Attacking the ciphers Given one or more known plaintexts, test all values of contributors on the bit with less contributors Filter those which gave the correct result Repeat on next bit with least contributors Independent contributor lists can be ran in parallel

Demo time

Simple demos 8-bit xor 8-bit Caesar Simple ARX cipher

Anything better?

Hard Demos Petya (first version) Salsa 2 Salsa 20

Comparing approaches

The algebraic approach Results on procedure to break cipher for all keys Models cipher as set of equations Adds → groups of xors, ands and ors Rotates → remap bits Xors → xor of each bit

The algebraic approach (buts) Equational reasoning is hard Simplification is painful and takes lots of time (usually NP problem with number of variables).

Contributor Analysis Evolution from pen and paper techniques I use Simpler to reason with Successful attack also leads to technique to break cipher Analyzes input bit contributions to outputs, not how they are made Fast to run on ciphers O(n*m)

Contributor Analysis (buts) Less precise than algebra Only finds blatantly broken ciphers More false negatives Also less precise than rotational cryptanalysis

Thanks! To my mother and father for supporting my curiosity since I was a kid To the Recon organizers for making this talk and conference possible To those who supported me during the research SecureLink for being flexible with my odd “personal research projects” But especially, to you for your attention

Questions?

Material at http://klondike.es/charlas/contributor/ And this is it Material at http://klondike.es/charlas/contributor/