מדריך למתחילים לקריפטוגרפיה

על מנת להבין מטבעות קריפטוגרפיים ברמת הפרוטוקול, חובה להבין את היחסים המתמטיים העומדים בבסיס כל ההצפנה. אפשר להתחיל את המסע הזה על ידי חזרה עד ההתחלה: לידת הביט & האבולוציה לקראת בתים.

בסיסי ליסודות

לפני חצי מאה פרסם אבי עידן המידע, קלוד שאנון, את הנערץ כיום בתעשייה תיאוריה מתמטית של תקשורת מַסָה. זה השם של מסווג הגרסה שפורסמה בפומבי על ידי המתמטיקאי דאז של אמצע שנות ה -30 בשנת 1949. עם זאת, הגרסה המסווגת בעבר הייתה מאמץ מלחמה שפרסמה מעבדות בל היוקרתיות בשם “תיאוריה מתמטית של קריפטוגרפיה”. רבים מעקרונות הליבה שפורסמו בתורת התקשורת הפופולרית נבעו מהתיאוריה הסודית של קריפטוגרפיה. למעשה, שאנון אמר במפורסם את הדברים הבאים לגבי הפנימיות & תכונות חופפות של תורת תקשורת המידע & קריפטוגרפיה:

הם היו כל כך קרובים זה לזה שלא יכולת להפריד ביניהם.

בעוד שרוב מאמר זה יתמקד במה שהגיע לאחר התזה שלו “תיאוריה מתמטית של תקשורת”, כדי להבין סטנדרט מסוים, חובה שנלך עשור חזור בקריירה של שאנון – עד שהיה סטודנט לתואר שני ב- 28 ב- MIT. חיפש תואר שני בהנדסת חשמל, משימתו העיקרית הייתה תכנון מעגלי חשמל חדשים לגרסה מוקדמת של המחשב. מתמטיקאי בנשמתו, נזכר במתמטיקה הבוליאנית המופשטת שלמד בלימודי התואר הראשון באוניברסיטת מישיגן. מתמטיקה בוליאנית, כפי שבטח ניחשתם, היא ענף במתמטיקה העוסק באמיתי & הצהרות כוזבות (או 0 ו -1). למתמטיקה בוליאנית, אמנם מרתקת, אך מעט מאוד יישומים נפוצים באמצע שנות ה -30; מצד שני, תכנון מעגלים חשמליים, פריצת דרך מדעית מודרנית, נזקק נואשות למסגרת ממושמעת להבנה נוספת.

בשנת 1938 פרסם שאנון את עבודת המאסטר שלו: ניתוח סמלי של ממסר & החלפת מעגלים. תזה גאונית זו הוכיחה כי באמצעות אלגברה בוליאנית, ניתן באופן רעיוני להפוך את סידור הממסרים למרכזיות טלפון ידניות באותה עת. בהרחבה, פירוש הדבר כי שימוש בתכונות הבינאריות של מתגים חשמליים כפונקציות לוגיות, ניתן להשתמש באלגברה בוליאנית כדי לייצג & לִפְתוֹר כל עיצובי מעגלים.

מסגרת בסיסית זו של בניית מעגלים עומדת כיום בבסיס כל חומרת המחשבים הדיגיטליים המודרניים.

עשור לאחר עבודת המאסטר הראשונית שלו, תוך כדי יצירת עבודתו חתיכת דה התנגדות תִקשׁוֹרֶת & בתורת ההצפנה עמוק במעבדת בל, הוא החליט לבסוף לקרוא למה שהוא האמין שהוא יחידה בסיסית של כל המידע: א בחפירת אינריזה, או, א קצת.

מ- Bits ל- Bytes

וכך מתישהו במהלך השנים שהברק של שאנון נפרש על פני תקשורת מידע מדעית & קריפטוגרפיה בזמן מלחמה (1944–1949), ה- bit הפכה ליחידת המידע הסטנדרטית לכל המחשוב. מחשבים מבינים היטב 0s & 1s … אז השאלה הבאה, איך נעבור מקוד בינארי, למשל, לאותם תווים אלפאנומריים שאתה קורא על המסך הזה?

סימון ביט

בודד קצת הוא רק פעם אפס או אחד – יש לו רק שתי מדינות אפשריות[0,1]. ל שתיים ביטים שאנחנו מקבלים בסך הכל ארבע אפשרויות: [00, 01, 10, 11].

בעקבות דפוס זה, ברור למדי שעבור כל אחד נ ביטים שיש לנו 2 ^ נ מדינות אפשריות.

בסופו של דבר, הצורך בסמלים נוספים & אותיות, על מנת להפוך את העבודה עם מחשבים ליותר ידידותית למפתחים, הגיעו לקדמת הבמה של מדעני המחשב: איך בונים מערכת מספרים, שלא לדבר על אלפבית שלם, מ- 0 בלבד & 1s?

הקסדצימלי

אם אי פעם היית צריך להתאים אישית צבע מקוון, כנראה שנתקלת במחרוזת הקסדצימלי בנקודה זו או אחרת – הם נראים בדרך כלל כדלקמן: # 012f5b

מעצבים מכירים היטב את מערכת המספור הזו מכיוון שזו הדרך הסטנדרטית לציין צבעים בצורה דיגיטלית. כלל הליבה של מערכת המספור ההקסדצימאלית הוא שכל תו מיוצג על ידי אחד מהבאים לחלוטין שש עשרה ערכים: 0–9 & A – F. עשרת המספרים השלמים הראשונים (סופרים אפס) בתוספת שש האותיות הראשונות של האלף-בית האנגלי מהווים את מכלול מערכת המספור ההקסדצימלי. שוב, בסך הכל שש-עשרה (16) מדינות אפשריות; דרך אחרת לכתוב 16 היא 2⁴. כיצד נוכל לייצג את המדינות האפשריות הללו?

עם סך של ארבע ביטים: 4 ביטים = 2⁴ מצבים אפשריים

ASCII

מספרים שלמים חד ספרתיים & שש האותיות הראשונות של האלף-בית האנגלי הן בהחלט צעד לקראת שפת מחשב ידידותית יותר – אך האם זה מספיק? איך היינו למשל מציינים חלל? להבדיל בין אותיות קטנות & אותיות רישיות? או להשתמש בפיסוק כמו סימן קריאה או סימן שאלה? לא, שש עשרה תווים לא היו עושים.

הגרסה המקורית של התקן של ימינו, ASCII, הציעה א שבע-מערכת סיביות; עם זאת, זמן קצר לאחר מכן, הפך להיות סטנדרטי להשתמש בגרסת הרחבה (או נגזרת) של ה- ASCII שקראה ל- תקן של שמונה סיביות. משמעות הסטנדרט הזה הייתה כל פלט תווים קריא אנושי על ידי מחשב יכול להיות מיוצג על ידי שמונה סיביות, מה שיתורגם ל -2⁸ = 256 מצבים אפשריים! תקן תווים זה של שמונה סיביות עד אלפא-נומריות מסוכם בצורה הטובה ביותר בטבלה שלהלן:

כל אחד מ- 256 התווים יכול להיות מיוצג על ידי שילוב של שמונה סיביות

בתים & מעבר

כעת סיקרנו את הלידה & פרגמטיזם של מחשוב עם, כמו גם הגדרת, ביטים. משם הסברנו כיצד ארבעה ביטים (2⁴) נותנים לנו את המערכת ההקסדצימאלית שלנו & כיצד שמונה ביטים (2⁸) נותנים לנו את שפת ASCII המורחבת שעדיין בשימוש. כעת אנו מציגים עקרון סופי שבתקווה יבהיר מדוע הבנת יסודות הסיביות מכריעה להבנה מעמיקה של הצפנה. & בהרחבה מטבעות קריפטוגרפיים.

שמונה ביטים (2⁸) הם למעשה מספר סופר חשוב לא רק בקריפטוגרפיה & מטבעות קריפטוגרפיים אך בכל המחשוב. למעשה, שמונה ביטים כל כך סטנדרטיים שהם קיבלו שם חדש לסמל מחרוזת של שמונה סיביות: א בתים. א בתים הוא מחרוזת של שמונה סיביות: 8 סיביות = 1 בת.

העובדה שבתים יכולים לייצג תו בודד היא סיבה מרכזית לכך שגורמים של שמונה הם מספרים נפוצים במיוחד בקריפטוגרפיה, כגון 128, & 256 (מתוך אלגוריתם ה- hash של קונצנזוס הביטקוין המפורסם SHA256). הבנה אינטואיטיבית כיצד לעבור מביטים, לערכים הקסדצימאליים לתווים אלפאנומריים לבייטים תהיה חלק מרכזי בידע הדרוש להתקדם ולהבין באמת את הכוחות המניעים מאחורי מטבעות קריפטוגרפיים..

אם אתה מרגיש מוצף, אל תדאג, זה טבעי לחלוטין כשאתה מפר נושאים מורכבים כל כך. קח דקה לפני שתעבור לפונקציות Hash Cryptographic.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me