MD5 CUDA by n VIDIA BARSWF NETWORK SECURITY. MD5  Designer Ronald L. Rivest  Published April 1992  Digest size 128 bits  Rounds 4  ReplacesMD4 

Slides:



Advertisements
Similar presentations
1 ITCS 6/8010 CUDA Programming, UNC-Charlotte, B. Wilkinson, Jan 28, 2011 GPUMemories.ppt GPU Memories These notes will introduce: The basic memory hierarchy.
Advertisements

Monte-Carlo method and Parallel computing  An introduction to GPU programming Mr. Fang-An Kuo, Dr. Matthew R. Smith NCHC Applied Scientific Computing.
GPU System Architecture Alan Gray EPCC The University of Edinburgh.
MD Collision Sought Marian Ščerbák University of Pavol Jozef Šafárik Košice.
HPCC Mid-Morning Break High Performance Computing on a GPU cluster Dirk Colbry, Ph.D. Research Specialist Institute for Cyber Enabled Discovery.
Acceleration of the Smith– Waterman algorithm using single and multiple graphics processors Author : Ali Khajeh-Saeed, Stephen Poole, J. Blair Perot. Publisher:
Hash and MAC Algorithms
Hash functions a hash function produces a fingerprint of some file/message/data h = H(M)  condenses a variable-length message M  to a fixed-sized fingerprint.
Announcements:Questions? This week: Discrete Logs, Diffie-Hellman, ElGamal Discrete Logs, Diffie-Hellman, ElGamal Hash Functions and SHA-1 Hash Functions.
Chapter 4  Hash Functions 1 Overview  Cryptographic hash functions are functions that: o Map an arbitrary-length (but finite) input to a fixed-size output.
Module 4 Hash Functions Highline Community College Seattle University University of Washington in conjunction with the National Science Foundation.
1 Pertemuan 09 Hash and Message Digest Matakuliah: H0242 / Keamanan Jaringan Tahun: 2006 Versi: 1.
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
 Contents 1.Introduction about operating system. 2. What is 32 bit and 64 bit operating system. 3. File systems. 4. Minimum requirement for Windows 7.
Attacking MD5: Tunneling & Multi- Message Modification Team Short Bus: Daniel Liu John Floren Tim Sperr.
Team Grey Skies – Pete Biancaniello and Anton Schraut January 18 th, 2012.
GPGPU overview. Graphics Processing Unit (GPU) GPU is the chip in computer video cards, PS3, Xbox, etc – Designed to realize the 3D graphics pipeline.
Chapter 8.  Cryptography is the science of keeping information secure in terms of confidentiality and integrity.  Cryptography is also referred to as.
Dzongkha Unicode Agenda System Requirements: Hardware & Software
THE CPU Cpu brands AMD cpu Intel cpu By Nathan Ferguson.
OpenSSL acceleration using Graphics Processing Units
HPCC Mid-Morning Break Dirk Colbry, Ph.D. Research Specialist Institute for Cyber Enabled Discovery Introduction to the new GPU (GFX) cluster.
Chapter-4 Windows 2000 Professional Win2K Professional provides a very usable interface and was designed for use in the desktop PC. Microsoft server system.
Chapter 7 Microsoft Windows XP. Windows XP Versions XP Home XP Home XP Professional XP Professional XP Professional 64-Bit XP Professional 64-Bit XP Media.
CuMAPz: A Tool to Analyze Memory Access Patterns in CUDA
Practical PC, 7th Edition Chapter 17: Looking Under the Hood
Shared memory systems. What is a shared memory system Single memory space accessible to the programmer Processor communicate through the network to the.
Computer Graphics Graphics Hardware
History of Microprocessor MPIntroductionData BusAddress Bus
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Hashing Algorithms: Basic Concepts and SHA-2 CSCI 5857: Encoding and Encryption.
Hardware. Make sure you have paper and pen to hand as you will need to take notes and write down answers and thoughts that you can refer to later on.
Hash and MAC Functions CS427 – Computer Security
GPU Architecture and Programming
Hyper Threading Technology. Introduction Hyper-threading is a technology developed by Intel Corporation for it’s Xeon processors with a 533 MHz system.
Chapter 17 Looking “Under the Hood”. 2Practical PC 5 th Edition Chapter 17 Getting Started In this Chapter, you will learn: − How does a computer work.
Jie Chen. 30 Multi-Processors each contains 8 cores at 1.4 GHz 4GB GDDR3 memory offers ~100GB/s memory bandwidth.
COMPUTER COMPARISON Period 4 By : Matthew Walker Joseph Deahn Philip Wymer Joshua Deloraya.
1)Leverage raw computational power of GPU  Magnitude performance gains possible.
Architecture of Microprocessor
Hash Functions Ramki Thurimella. 2 What is a hash function? Also known as message digest or fingerprint Compression: A function that maps arbitrarily.
Computer Science CSC 474Dr. Peng Ning1 CSC 474 Information Systems Security Topic 2.3 Hash Functions.
G043 – Lecture 03 Motherboards and Processors Mr C Johnston ICT Teacher
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
 System Requirements are the prerequisites needed in order for a software or any other resources to execute efficiently.  Most software defines two.
HOW TO INSTALL WINDOWS 7? This step-by-step guide demonstrates how to install Windows 7 Ultimate. The guide is similar for other versions of Windows 7.
GFlow: Towards GPU-based High- Performance Table Matching in OpenFlow Switches Author : Kun Qiu, Zhe Chen, Yang Chen, Jin Zhao, Xin Wang Publisher : Information.
Computer Interview Project BY: ADRIAN CASTRO ADRIAN RIVAS RAY’LENE JACKSON.
GPGPU introduction. Why is GPU in the picture Seeking exa-scale computing platform Minimize power per operation. – Power is directly correlated to the.
3/12/2013Computer Engg, IIT(BHU)1 CUDA-3. GPGPU ● General Purpose computation using GPU in applications other than 3D graphics – GPU accelerates critical.
Hash Algorithms Ch 12 of Cryptography and Network Security - Third Edition by William Stallings Modified from lecture slides by Lawrie Brown CIM3681 :
Fast and parallel implementation of Image Processing Algorithm using CUDA Technology On GPU Hardware Neha Patil Badrinath Roysam Department of Electrical.
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
CS480 Cryptography and Information Security Huiping Guo Department of Computer Science California State University, Los Angeles 13.Message Authentication.
Hardware Architecture

Heterogeneous Processing KYLE ADAMSKI. Overview What is heterogeneous processing? Why it is necessary Issues with heterogeneity CPU’s vs. GPU’s Heterogeneous.

Personal Computer (PC)  Computer advertisement specification Intel® Pentium 4 Processor at 3.06GHz with 512K cache 512MB DDR SDRAM 200GB ATA-100 Hard.
General Purpose computing on Graphics Processing Units
Computer Engg, IIT(BHU)
Computer Graphics Graphics Hardware
Chapter 12 – Hash Algorithms
PC Components Microprocessor - performs all computations RAM - larger RAM memory contains more data Motherboard - holds all the above components Ports.
Graphics Processor Graphics Processing Unit
CS427 Multicore Architecture and Parallel Computing
What happens inside a CPU?
Programming Languages
Press ESC for Startup Options © Microsoft Corporation.
Computer Graphics Graphics Hardware
Presentation transcript:

MD5 CUDA by n VIDIA BARSWF NETWORK SECURITY

MD5  Designer Ronald L. Rivest  Published April 1992  Digest size 128 bits  Rounds 4  ReplacesMD4  SeriesMD, MD2, MD3, MD4, MD5, MD6  UsageCheck Integrity of Files Digital Signatures Password Storage Security Applications including : GPG, KERBEROS, TLS/ SSL, RADIUS

MD5 ALGORITHM  Produces an one way cryptographic hash of a message  Processes a variable-length message into a fixed-length output of 128 bits 1. The input is divided in blocks of 512 bits 2.The last block of the message is padded so that its length in bits is congruent to 448 mod 512 Padding consists of a single bit, 1, followed by as many necessary 0 bits 3. The remaining bits are filled up with a 64-bit integer representing the length of the original message  A, B, C, D are 32-bit long words  Operates in 4 rounds of 16 operations

MD5 ALGORITHM  There are four possible functions  A, B, C, D are mixed with F, G, H, I  A different function is used on each round M i denotes a 32 –bit word of the current block K i denotes a 32 –bit constant <<< s denotes a cyclical left shift of s bits denotes an addition mod 2 32 denote the XOR, AND, OR, NOT operations k[i] := floor(abs(sin(i + 1)) × (2 pow 32))

MD5 VULNERABILITY Birthday Paradox  To find the probability of two independent events we have to multiply the probability of each of the events together. The chance of tossing two heads on a coin is 1/2 x 1/2 = 1/4, or 1 in 4 or 25%  In case we have 30 children in a classroom, the chance of two of them having birthday the same day is more than 50% In case the first person has birthday Nov 9 The probability of the second person having birthday a different day is 364/365 For the third person having birthday a different day is363/365 The probability of 23 children not having birthday the same day is 364*363*362*…*343/ or 49%

MD5 VULNERABILITY Birthday Attack  The goal is given a function f, to find two different inputs x1, x2 such that f(x1)=f(x2) For a 64 –bit hash we have 1.8 x possible outputs For a 128 –bit hash we have 3.4 x possible outputs  In case we have 50% probability of random collision For a 64 –bit hash it would take 5.1 x 10 9 attempts For a 128 –bit hash it would take 2.2 x attempts  MD5 has a Collision Attack complexity of 2 32 = 4,294,967,296 = 4,29 *10 9

MD5 VULNERABILITY Tunnels in Hash Functions  Published by Vlastimil Klima in 2006  The idea behind this method is to create MD5 collisions using tunnels in the existing multi-message modification methods. We modify the 3 rd and 4 th step in order to manipulate the result  An Intel 1.6 GHz can create an MD5 collision in less than a minute  This method is not limited only in MD5 but can be applied in SHA –x series as well

CUDA Compute Unified Device Architecture

CUDA GPU vs. CPU

CUDA Advantages  Scattered reads - reads from arbitrary addresses in memory  Shared memory - 16KB fast shared memory GDDR3,GDDR5  Faster downloads and readbacks from the GPU  Full support of integer and bitwise operations

CUDA Programming Language: C for CUDA Compiler: PathScale Open64 Supports: OpenCL, DirectCompute Development: CUDA Toolkit Wrappers: Python, Fortran, Java, Matlab Works on: NVIDIA GPUs, G8X series or later

CUDA GPU vs. CPU  Specialized for math-intensive highly parallel computation  GPU threads are extremely lightweight with very little overhead  GPU handles 100’s of cores and 1000’s of threads vs. a few of CPU  GPU memory is faster than the main memory of the system

CUDA GPU vs. CPU HOW CAN HARDWARE MAKE THE DIFFERENCE

Hardware Specifications Alienware M17x Processor: Intel Core2 Duo 2.8 GHz Overclocked 3.55 GHz Front Side Bus: 1066 MHz 1291 MHz Cash Level 2: 6 MB Number of Cores: 2 Number of threads: 2

Hardware Specifications Alienware M17x Memory: Samsung PC MHz 1291 MHz Size: 4 GB Type: DDR3 FSB:DRAM 1:2 Timings:

Hardware Specifications Alienware M17x Graphics Card – Integrated Manufacturer: NVIDIA Model:GeForce 9400M G Code Name: MCP79MX Bus Interface: Integrated Memory: 256 DDR3 (shared) Core Speed: 580 MHz Shader Speed: 1400 MHz Memory Speed: 1333 MHz Memory Bandwidth: 21.1 GB/s Bus Width: 128 bit GFLOPs: 52.8

Hardware Specifications Alienware M17x Graphics Card – Dedicated Manufacturer: NVIDIA Model:GeForce GTX 280M Code Name: G92b Bus Interface: PCIe 2.0 x 16 Memory: 1024 GDDR3 Core Speed: 585 MHz Shader Speed: 1463 MHz Memory Speed: 1900 MHz Memory Bandwidth: 60.8 GB/s Bus Width: 256 bit GFLOPs: 562

Hardware Specifications Alienware M17x Operating System: Windows 7 Professional x64 NVIDIA drivers: ForceWare Beta

Step by Step Installation Drivers Install Very important not to leave previous drivers installed 1.Enter Safe Mode press F8 before Windows start booting and choose safe mode 2.From the Programs and Features uninstall the PhysX and the NVIDIA display drivers 3.Reboot and enter Safe Mode again 4.Run Driver Sweeper to remove any remaining DLLs or other files from the drivers 5.Run CCleaner to remove any files left and clean the Windows registry from any values left 6.Reboot and enter Normal Mode to install the latest drivers

Step by Step Installation NVIDIA Drivers Configuration 1.Right Click on the desktop and click NVIDIA Control Panel 2.Under the 3D Setting, on Set SLI and PhysX configuration we disable both of them 3.We press apply and wait for the screen to refresh

BarsWF Author: Svarychevski Michail Aleksandrovich Program Versions: AMD BROOK Beta 0.9 ATI/AMD card 2xxx, 3xxx, 4xxx CUDA 0.8 NVIDIA GeForce 8xxx and later, minimum 256 MB memory SSE2 P4, Core2Duo, Athlon64,Sempron64, Phenom

BarsWF

BarsWF_CUDA_x64.exe -h ed9dafbb85d9b2f4a33ddc4deb04c89d -c 0aA~ -min_len 8 -thread_n 256 -grid_n 256 -gpu_time 1500

Brute Force example Password Length: 8 Possible characters: 62 (a-z, A-Z, 0-9) Possibilities:62 8 = 2 x With 1000 MHashes/s it would take less than 3 days