ความแตกต่างระหว่าง CRC และ Checksum (พร้อมตาราง)

สารบัญ:

Anonim

เมื่อข้อมูลถูกเก็บไว้ในคอมพิวเตอร์เพื่อส่ง ข้อมูลจะต้องไม่ถูกทำลาย หากให้ข้อมูลผิดพลาด จะส่งข้อมูลที่ไม่ถูกต้อง และระบบอาจทำงานไม่ถูกต้อง ดังนั้น ก่อนการเข้ารหัสหรือส่ง จำเป็นต้องมีระบบตรวจจับข้อผิดพลาดเพื่อให้แน่ใจว่าทุกข้อมูลที่ให้มานั้นถูกต้องและไม่ถูกทำลาย สองวิธีที่ใช้กันมากที่สุดสำหรับการตรวจสอบข้อมูลคือ CRC และ Checksum

CRC กับ Checksum

ความแตกต่างระหว่าง CRC และ Checksum คือ ในการตรวจสอบความผิดปกติของข้อมูล CRC จะใช้สูตรทางคณิตศาสตร์ตามการเข้ารหัสแบบ 16 บิตหรือ 32 บิต แทนที่จะใช้การตรวจสอบแบบ 8 ไบต์ CRC ใช้วิธีแฮช แต่ Checksum ใช้การเพิ่มข้อมูลที่ตัดทอนทั้งหมด ซึ่งอาจมีความยาว 8 หรือ 16 บิต ดังนั้น CRC จึงมีความสามารถในการตรวจจับปัญหาข้อมูลได้ดีขึ้น เช่น การสูญเสียบิตเดียวในระบบการแฮชที่ทำให้ผลลัพธ์ทั้งหมดเปลี่ยนไป

การตรวจสอบความซ้ำซ้อนแบบวนซ้ำหรือ CRC ตามที่ทราบกันดีว่าเป็นแนวคิดที่ใช้ในการตรวจสอบข้อมูลเช่นกัน หลักการทำงานของ CRC นั้นเหมือนกับของ Checksum แต่แทนที่จะใช้วิธี 8 ไบต์ที่ Checksum ใช้ในการตรวจสอบความถูกต้องของข้อมูล มันกลับใช้การหารพหุนามเพื่อคำนวณ CRC ความยาว CRC ทั่วไปที่สุดคือ 16 หรือ 32 บิต หากไม่มีไบต์เดียว ข้อมูลจะถูกรายงานว่าไม่สอดคล้องกันเนื่องจากไม่ได้เพิ่มลงในข้อมูลดั้งเดิม

เช็คซัมเป็นวิธีแรกสุดในการตรวจสอบข้อมูลก่อนที่จะส่ง Checksum ยังช่วยตรวจสอบข้อมูล เนื่องจากข้อมูลต้นฉบับและข้อมูลอินพุตต้องตรงกัน หากพบความผิดปกติ กล่าวคือ Checksum ไม่ถูกต้อง แสดงว่าอาจมีการละเมิดข้อมูลเกิดขึ้นในลักษณะเฉพาะ

ตารางเปรียบเทียบระหว่าง CRC และ Checksum

พารามิเตอร์ของการเปรียบเทียบ

CRC

เช็คซัม

แนวคิด CRC เป็นแนวคิดที่ครอบคลุมสำหรับการตรวจจับและการรายงานข้อผิดพลาด ไม่ใช่แนวคิดที่ครอบคลุมสำหรับการตรวจจับและการรายงานข้อผิดพลาด
ตรวจจับ สามารถระบุข้อผิดพลาดด้วยตัวเลขสองหลักได้ สามารถตรวจจับการเปลี่ยนแปลงข้อมูลเพียงเล็กน้อย
ข้อผิดพลาด สามารถระบุข้อผิดพลาดได้มากขึ้นเนื่องจากการคำนวณที่ซับซ้อน สามารถคำนวณข้อผิดพลาดได้น้อยกว่า CRC
ใช้แล้ว มีการใช้อย่างกว้างขวางสำหรับการตรวจสอบความถูกต้องของข้อมูลในการส่งสัญญาณแบบแอนะล็อก มักใช้สำหรับการตรวจสอบข้อมูลระหว่างการพัฒนาซอฟต์แวร์
เข้าใกล้ มันใช้วิธีแฮช มันใช้วิธีการเพิ่ม

ซีอาร์ซีคืออะไร?

CRC ย่อมาจาก Cyclic Redundancy Check ซึ่งเป็นกลไกการตรวจจับข้อผิดพลาดที่ใช้โดยโปรโตคอลระดับสูงเพื่อระบุข้อผิดพลาด เครื่องกำเนิดพหุนามมีอยู่ที่ผู้ส่งและผู้รับในเวลาเดียวกัน โดยหลักการแล้ว CRC นั้นคล้ายกับเช็คซัม แต่ค่าของ CRC ซึ่งมีความยาว 16 หรือ 32 บิต ถูกกำหนดโดยการหารพหุนาม

ข้อดีของ CRC คือค่อนข้างแม่นยำ หากบิตผิด ค่า CRC จะไม่ตรงกัน ทั้ง Checksum และ CRC มีประสิทธิภาพในการขจัดข้อผิดพลาดในการส่งแบบสุ่ม แต่ไม่มีการป้องกันการโจมตีข้อมูลของคุณโดยเจตนา เทคนิคต่างๆ เช่น การเข้ารหัสแบบสมมาตรและคีย์สาธารณะนั้นปลอดภัยกว่ามาก ขั้นตอนทั้งหมดเหล่านี้ทำงานร่วมกันเพื่อให้คุณมีเครื่องมือที่จำเป็นในการปกป้องความปลอดภัยของข้อมูลที่คุณส่งและรับทางอินเทอร์เน็ต

ที่จริงแล้ว การถ่ายโอนข้อมูลผ่านเครือข่ายคอมพิวเตอร์มักจะปลอดภัยกว่าการส่งข้อมูลด้วยวิธีอื่น การดักฟังเป็นไปได้บนโทรศัพท์ โดยเฉพาะอย่างยิ่งโทรศัพท์ไร้สาย โดยบุคคลที่ไร้ยางอายที่ใช้เครื่องสแกนวิทยุ จดหมายแบบดั้งเดิมและสื่อที่จับต้องได้อื่นๆ มักเดินทางผ่านเส้นทางต่างๆ ไปยังผู้รับที่ตั้งใจไว้ ซึ่งทำให้เสี่ยงต่อการทุจริต

Checksum คืออะไร?

ผู้เชี่ยวชาญด้านไอทีใช้เช็คซัมเพื่อระบุข้อผิดพลาดระดับสูงในการถ่ายโอนข้อมูล เช็คซัมคือค่าที่สะท้อนถึงจำนวนบิตในข้อความส่ง หลังจากดำเนินการฟังก์ชันแฮชเข้ารหัสบนแต่ละส่วนของข้อมูลหรือไฟล์ก่อนส่ง ค่าเช็คซัมสามารถกำหนดได้ คำว่า Checksum เรียกอีกอย่างว่าค่าแฮชหรือผลรวมของแฮช

Checksums ดำเนินการโดยการให้ข้อมูลเกี่ยวกับการส่งข้อมูลไปยังบุคคลที่รับข้อมูล เพื่อให้มั่นใจว่าข้อมูลทั้งหมดจะถูกส่งผ่าน ค่าเช็คซัมโดยทั่วไปจะเป็นสตริงของตัวอักษรและตัวเลขที่ยาว ซึ่งทำหน้าที่เป็นลายนิ้วมือสำหรับไฟล์หรือกลุ่มของไฟล์ ซึ่งระบุจำนวนบิตที่มีอยู่ในไฟล์หรือชุดของไฟล์ หากค่า checksum ของผู้ใช้แตกต่างไปจากค่า checksum เดิมของไฟล์เพียงเล็กน้อย ก็สามารถแจ้งทุกฝ่ายที่เกี่ยวข้องในการส่งข้อมูลว่าไฟล์ได้รับความเสียหายหรือถูกแก้ไขโดยบุคคลที่สาม

ผู้รับสามารถตรวจสอบสิ่งที่ผิดพลาดหรือพยายามดาวน์โหลดไฟล์อีกครั้ง โปรโตคอลควบคุมการส่ง (TCP) และโปรโตคอลไดอะแกรมผู้ใช้เป็นสองวิธีทั่วไปในการกำหนดหมายเลขเช็คซัม (UDP) โดยปกติแล้ว TCP จะเชื่อถือได้มากกว่าสำหรับการติดตามแพ็กเก็ตข้อมูลที่ส่ง ในขณะที่ UDP อาจมีประโยชน์ในการหลีกเลี่ยงความล่าช้าในการส่ง

ความแตกต่างหลักระหว่าง CRC และ Checksum

บทสรุป

เช็คซัมคือจำนวนบิตคงที่ที่เพิ่มลงในข้อมูลที่คำนวณเป็นฟังก์ชันของข้อมูลที่จะป้องกัน ฟังก์ชันนี้คำนวณใหม่เพื่อระบุข้อผิดพลาด และผลลัพธ์จะถูกเปรียบเทียบกับค่าที่ผนวกเข้ากับข้อมูล การนำ checksum ไปใช้งานที่ง่ายที่สุดคือการแบ่งพาร์ติชั่นข้อมูลออกเป็นชิ้น ๆ ที่มีความยาวเท่ากัน และทำการแยกส่วนหรือทุกส่วน เทคนิคการตรวจสอบความซ้ำซ้อนแบบวนซ้ำใช้ประโยชน์จากลักษณะทางคณิตศาสตร์ของรหัสไซคลิก ในแง่ของการตรวจจับและการรายงานข้อผิดพลาด CRC ครอบคลุมมากกว่า Checksum

แอปพลิเคชันที่เก่ากว่าของทั้งสองคือ Checksum นอกจาก Checksum แล้ว CRC ยังต้องการการคำนวณที่ซับซ้อนกว่านี้ Checksums ใช้เพื่อระบุการเปลี่ยนแปลงข้อมูลแบบบิตเดียว ในขณะที่ CRC จะใช้เพื่อตรวจสอบและตรวจจับข้อผิดพลาดที่เป็นตัวเลขสองหลัก เนื่องจากวัตถุประสงค์ที่ซับซ้อนมากขึ้น CRC อาจระบุข้อผิดพลาดมากกว่าเช็คซัม เมื่อใช้ซอฟต์แวร์ เช็คซัมส่วนใหญ่จะใช้สำหรับการตรวจสอบความถูกต้องของข้อมูล ในการส่งข้อมูลแอนะล็อก CRC ส่วนใหญ่จะใช้สำหรับการประเมินข้อมูล

ความแตกต่างระหว่าง CRC และ Checksum (พร้อมตาราง)