נשלח בתאריך: 30 December 2008 בשעה 11:37 | | IP רשוּם
|
|
|
|
CRC זאת משפחה של בדיקות, אפשר ליישם אותם בהרבה דרכים שונות ולבסס אותן על הרבה פונקציות שונות, המשותף להן זה שבסופו של דבר הן יכולות לתת לך תשובה פשוטה (Check-sum לדוגמא)- האם המידע שעבר מהתקן A הגיע להתקן B מבלי שיבוצע בו שינוי בזמן המעבר, משתמשים בזה גם בכדי לאתר או לנסות למצוא בעיות או רעשים שנוספו למידע בזמן המעבר, וגם מבחינת אבטחה- לדעת שלא נגעו בחבילה ושינו בה מידע רלוונטי.
שוב, יש הרבה דרכים לממש את זה, יש פרוטוקולים\פונקציות שנכתבו בשביל זה, לדוגמא הCRC32 המוכר (32- גודל הביטים), מבוסס על יחסיות המתמטית שבין וקטור לפולינום שלו, אני לא מכיר את הפונקציה לעומק ככה שאת האלגוריתם אני לא אוכל לכתוב לך פה, אבל אתה לא חייב לבסס את המימוש שלך על זה, אני אתן לך דוגמא _מאוד_ פשוטה לבדיקה כזאת שעכשיו עולה לי לראש:
נניח ויש לנו חבילת מידע:
"ABCDEFGHIJKL".
לפני שנשלח את החבילה, נוסיף אחרי כל שתי אותיות את התו "-":
"AB-CD-EF-GH-IJ-KL".
אחרי שנשלח את החבילה, נפתח אתה ונריץ בדיקה אם התווסף מידע או שונה מידע ע"י בדיקה שבאמת אחרי כל שני תווים יש לנו את התו "-", אם נניח כל החלק האחרון של ההודעה שוכתב עקב רעשים בתקשורת נוכל לדעת את זה כי אין סיכוי שהרעש יתנהג לפי החוקיות שקבענו.
כמובן שזאת בדיקה מאוד שטוטית ויש בדיקות הרבה יותר אפקטיביות יעילות ובטוחות, אבל עדיין, אחרי שמבינים איך כל אחת עובדת- אין יותר מדי בעיות לבצע מניפולציות בהן, ככה שהנושא לא באמת מספק-לבד מבחינת אבטחה.
__________________ [Th3rE R mAnY wAyZ 2 r3aD oN3 EmPty p4gE]
|