SlideShare a Scribd company logo
CRC and its effectiveness
         Part 1
  Martin Brenn, 28.04.2012
     brenn@depon.net



           Depon.Net
Messages
• Messages are sent everywhere and
  everyday.

• For example:
  – CAN (created by automotive industry)
  – SPI (Inter-CPU)
  – Wired Ethernet (LAN)
  – Wireless LAN (IEEE 80211.x)
  – And many many more
Corruption
• Corruption of messages occurs everywhere and
  every day!
• Typical failure modes:
  –   Loss
  –   Repetition
  –   Wrong order of packets (especially in Internet)
  –   Manipulation of content
       • Bit flips (0->1 or 1-0)
       • Duplication or omission of bits (11100->1100)
  – Disagreement about communication parameters
       • „What he says?“ or „Ariane 5 Flight 501“
Ariane 5




                                        Result of converting a 64-Bit float to 16-bit Integer
                                        without check for Arithmetic Overflow
                                        • http://en.wikipedia.org/wiki/Ariane_5_Flight_501

Source of images:
1)    http://www.capcomespace.net/dossiers/espace_europeen/ariane/ariane
      5/AR501/V88%20explosion%2003.jpg
2)    http://de.wikipedia.org/wiki/Ariane_5
Scope

• Today, we just take care of manipulation of
  data

• Competition against systematic failures is
  also quite interesting but not in my today‘s
  scope.
Result




Corrupted cat is corrupt
Manipulation types
• Typical Effects:
  – Single bit error: Just one bit flips
     • 0100 1011 -> 0101 1011
  – Double bit error: Two bits flips
     • 0100 1011 -> 1110 1011
     • 0100 1011 -> 0100 1000
  – Multiple bit error: More bit errors
     • 0100 1011 -> 1001 0011
  – Burst error: Multiple bits flip or get a new value
     • 0100 1011 -> 1111 1011
What do?
• Create redundandy!
  – Simple: Repeat message twice and check if
    content is the same
  – Problem: 6 Mbit-DSL will just give 3 Mbit.
  – Does duplication really help against systematic
    failures?
  – i.e. Dual-Channel FlexRay
• Usually, information about validity of
  message is enough!
  – Add checksum for detection!
Checksum vs. CRC
• Checksums are not checksums!
• Typically, „checksums“: are a summation of
  all values multiplied with factors depending
  on their position:
  – Checksum = Sum(Value[n] * Lookup[n%m])
  – Not very effective (i.e: TCP)
• CRC:
  – Quite funny thing, difficult to explain
  – http://en.wikipedia.org/wiki/Computation_of_
    CRC
Properties of CRC
• Main Properties of a CRC:
  – Polynomial, implying the length of CRC
  – Seed [Not Seeed (Dickes B)]
  – Inverting, +1, etc…

• The calculated CRC will be appended to
  message
• CRC increases hamming distance of
  messages.
  – Corruption can be detected!
Choice of Polynomial
• So, let‘s choose a CRC…
• Where to start?
• For example:
  – http://www.ece.cmu.edu/~koopman/roses/ds
    n04/koopman04_crc_poly_embedded.pdf
  – Nice work!
Task
• Task:
  – Find the probability that a corrupted message
    will be assumed as corrupt!

  – We will use „Monte Carlo Method“
     •   http://en.wikipedia.org/wiki/Monte_Carlo_method
     •   Simple things need complex words!
     •   Do random guessing and take this as the truth
     •   Simple, quite effective
• Part 1 completed!
• Part 2 will present the application!

More Related Content

Similar to CRC and its effective

Osi model
Osi model Osi model
Osi model
maha tce
 
HowTheInternetWorks.ppt
HowTheInternetWorks.pptHowTheInternetWorks.ppt
HowTheInternetWorks.ppt
Prakhar Pandey
 
06 pipeline
06 pipeline06 pipeline
06 pipeline
Master Haui
 
Raptor codes
Raptor codesRaptor codes
Raptor codes
José Lopes
 
Source coding
Source coding Source coding
Source coding
Shankar Gangaju
 
Error detecting and correcting codes
Error detecting and correcting codesError detecting and correcting codes
Error detecting and correcting codes
saraswathi12
 
Slides internet technology
Slides internet technologySlides internet technology
Slides internet technology
Inexk Pedrero
 
Datalink_func.pptx
Datalink_func.pptxDatalink_func.pptx
Datalink_func.pptx
ThangamaniR3
 
Error detection and correction
Error detection and correctionError detection and correction
Error detection and correction
Abdul Razaq
 
Humming code error detector 7_communications.ppt
Humming code error detector 7_communications.pptHumming code error detector 7_communications.ppt
Humming code error detector 7_communications.ppt
nesarahmad37
 
Secure Coding Practices for Middleware
Secure Coding Practices for MiddlewareSecure Coding Practices for Middleware
Secure Coding Practices for Middleware
Manuel Brugnoli
 
Binary and EC codes
Binary and EC codesBinary and EC codes
Binary and EC codes
Mahesh Singh Madai
 
Ch6.ppt
Ch6.pptCh6.ppt
Ch6.ppt
BezaAlem2
 
Digital Communication Techniques
Digital Communication TechniquesDigital Communication Techniques
Digital Communication Techniques
Prof. Swapnil V. Kaware
 
Computer Networks
Computer NetworksComputer Networks
Computer Networks
Aabha Tiwari
 
On codes, machines, and environments: reflections and experiences
On codes, machines, and environments: reflections and experiencesOn codes, machines, and environments: reflections and experiences
On codes, machines, and environments: reflections and experiences
Vincenzo De Florio
 
Introduction to the Data Link Layer
Introduction to the Data Link LayerIntroduction to the Data Link Layer
Introduction to the Data Link Layer
Meenakshi Paul
 
Error.pdf
Error.pdfError.pdf
Error.pdf
IvyRamosCaones
 
The Power of Determinism in Database Systems
The Power of Determinism in Database SystemsThe Power of Determinism in Database Systems
The Power of Determinism in Database Systems
Daniel Abadi
 
lecture04.ppt
lecture04.pptlecture04.ppt
lecture04.ppt
AmanuelZewdie4
 

Similar to CRC and its effective (20)

Osi model
Osi model Osi model
Osi model
 
HowTheInternetWorks.ppt
HowTheInternetWorks.pptHowTheInternetWorks.ppt
HowTheInternetWorks.ppt
 
06 pipeline
06 pipeline06 pipeline
06 pipeline
 
Raptor codes
Raptor codesRaptor codes
Raptor codes
 
Source coding
Source coding Source coding
Source coding
 
Error detecting and correcting codes
Error detecting and correcting codesError detecting and correcting codes
Error detecting and correcting codes
 
Slides internet technology
Slides internet technologySlides internet technology
Slides internet technology
 
Datalink_func.pptx
Datalink_func.pptxDatalink_func.pptx
Datalink_func.pptx
 
Error detection and correction
Error detection and correctionError detection and correction
Error detection and correction
 
Humming code error detector 7_communications.ppt
Humming code error detector 7_communications.pptHumming code error detector 7_communications.ppt
Humming code error detector 7_communications.ppt
 
Secure Coding Practices for Middleware
Secure Coding Practices for MiddlewareSecure Coding Practices for Middleware
Secure Coding Practices for Middleware
 
Binary and EC codes
Binary and EC codesBinary and EC codes
Binary and EC codes
 
Ch6.ppt
Ch6.pptCh6.ppt
Ch6.ppt
 
Digital Communication Techniques
Digital Communication TechniquesDigital Communication Techniques
Digital Communication Techniques
 
Computer Networks
Computer NetworksComputer Networks
Computer Networks
 
On codes, machines, and environments: reflections and experiences
On codes, machines, and environments: reflections and experiencesOn codes, machines, and environments: reflections and experiences
On codes, machines, and environments: reflections and experiences
 
Introduction to the Data Link Layer
Introduction to the Data Link LayerIntroduction to the Data Link Layer
Introduction to the Data Link Layer
 
Error.pdf
Error.pdfError.pdf
Error.pdf
 
The Power of Determinism in Database Systems
The Power of Determinism in Database SystemsThe Power of Determinism in Database Systems
The Power of Determinism in Database Systems
 
lecture04.ppt
lecture04.pptlecture04.ppt
lecture04.ppt
 

Recently uploaded

Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 

Recently uploaded (20)

Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 

CRC and its effective

  • 1. CRC and its effectiveness Part 1 Martin Brenn, 28.04.2012 brenn@depon.net Depon.Net
  • 2. Messages • Messages are sent everywhere and everyday. • For example: – CAN (created by automotive industry) – SPI (Inter-CPU) – Wired Ethernet (LAN) – Wireless LAN (IEEE 80211.x) – And many many more
  • 3. Corruption • Corruption of messages occurs everywhere and every day! • Typical failure modes: – Loss – Repetition – Wrong order of packets (especially in Internet) – Manipulation of content • Bit flips (0->1 or 1-0) • Duplication or omission of bits (11100->1100) – Disagreement about communication parameters • „What he says?“ or „Ariane 5 Flight 501“
  • 4. Ariane 5 Result of converting a 64-Bit float to 16-bit Integer without check for Arithmetic Overflow • http://en.wikipedia.org/wiki/Ariane_5_Flight_501 Source of images: 1) http://www.capcomespace.net/dossiers/espace_europeen/ariane/ariane 5/AR501/V88%20explosion%2003.jpg 2) http://de.wikipedia.org/wiki/Ariane_5
  • 5. Scope • Today, we just take care of manipulation of data • Competition against systematic failures is also quite interesting but not in my today‘s scope.
  • 7. Manipulation types • Typical Effects: – Single bit error: Just one bit flips • 0100 1011 -> 0101 1011 – Double bit error: Two bits flips • 0100 1011 -> 1110 1011 • 0100 1011 -> 0100 1000 – Multiple bit error: More bit errors • 0100 1011 -> 1001 0011 – Burst error: Multiple bits flip or get a new value • 0100 1011 -> 1111 1011
  • 8. What do? • Create redundandy! – Simple: Repeat message twice and check if content is the same – Problem: 6 Mbit-DSL will just give 3 Mbit. – Does duplication really help against systematic failures? – i.e. Dual-Channel FlexRay • Usually, information about validity of message is enough! – Add checksum for detection!
  • 9. Checksum vs. CRC • Checksums are not checksums! • Typically, „checksums“: are a summation of all values multiplied with factors depending on their position: – Checksum = Sum(Value[n] * Lookup[n%m]) – Not very effective (i.e: TCP) • CRC: – Quite funny thing, difficult to explain – http://en.wikipedia.org/wiki/Computation_of_ CRC
  • 10. Properties of CRC • Main Properties of a CRC: – Polynomial, implying the length of CRC – Seed [Not Seeed (Dickes B)] – Inverting, +1, etc… • The calculated CRC will be appended to message • CRC increases hamming distance of messages. – Corruption can be detected!
  • 11. Choice of Polynomial • So, let‘s choose a CRC… • Where to start? • For example: – http://www.ece.cmu.edu/~koopman/roses/ds n04/koopman04_crc_poly_embedded.pdf – Nice work!
  • 12. Task • Task: – Find the probability that a corrupted message will be assumed as corrupt! – We will use „Monte Carlo Method“ • http://en.wikipedia.org/wiki/Monte_Carlo_method • Simple things need complex words! • Do random guessing and take this as the truth • Simple, quite effective
  • 13. • Part 1 completed! • Part 2 will present the application!