stanford-oval/wikipedia huggingface dataset:
STS-133
המשימה > פעילות חוץ רכבית

|  | אסטרונאוטים | החלה | הסתיימה | משך | המשימה |
| --- | --- | --- | --- | --- | --- |

| הליכת החלל הראשונה | סטיבן בואן  אלווין דרו | 28 בפברואר  15:46  UTC | 28 בפברואר 22:20  UTC | 6 שעות ו-34 דקות | פירוק משאבה מקולקלת והתקנת כבלי חשמל חדשים |
| הליכת החלל השנייה | סטיבן בואן  אלווין דרו | 2 במרץ  15:41  UTC | 2 במרץ 21:55  UTC | 6 שעות ו-14 דקות | טיפול בבידוד טרמי, התקנת מצלמה חדשה ופעולות תחזוקה |
ראו גם

משימות מעבורות החלל
STS-135

STS-135 הייתה המשימה האחרונה בתוכנית מעבורות החלל של נאס"א, ששוגרה ב-8 ביולי 2011. משימה זו נוספה בעקבות חוק ההרשאה של נאס"א 2010, שנחקק על ידי הקונגרס האמריקאי כדי להשלים את בניית תחנת החלל הבינלאומית.
זוהי המשימה ה-33 והאחרונה של מעבורת החלל אטלנטיס. ב-21 ביולי 2011 נחתה האטלנטיס בשלום וסיימה את עידן מעבורות החלל.
צוות

| תפקיד | אסטרונאוט |
| --- | --- |
מפקד החללית: ארצות הברית כריסטופר פרגוסון, נאס"א   טיסת חלל שלישית
טייס: ארצות הברית דאגלס הארלי, נאס"א   טיסת חלל שנייה
מומחית משימה 1: ארצות הברית סנדרה מגנוס, נאס"א   טיסת חלל שלישית
מומחה משימה 2: ארצות הברית רקס ולהיים, נאס"א   טיסת חלל שלישית
המשימה

בהיותה המשימה האחרונה בתוכנית המעבורות, היא נוצלה להבאת כמות גדולה ככל האפשר של אספקה אל תחנת החלל. המעבורת נשאה בתא המטען שלה את המודול הלוגיסטי הרב תכליתי "רפאלו", הנושא בתוכו כ-4,300 קילוגרם של מטען.
בנוסף, נשאה המעבורת רובוט הדגמה שנועד לבדוק טכנולוגיות לתדלוק לוויינים במסלול; חלקי חילוף לתחנת החלל; ולוויין זעיר עבור מחלקת ההגנה של ארצות הברית.
המשימה > יום טיסה ראשון

ביציע המכובדים באתר השיגור, נכחו לכבוד השיגור המיוחד מושל פלורידה ריק סקוט, 14 חברי קונגרס, והאדמירל מייקל מאלן, יושב ראש המטות המשולבים של הכוחות המזוינים של ארצות הברית. כמו כן, ישבו בקהל המוזיקאי ג'ימי באפט וסטיב ווזניאק, אחד ממייסדי אפל.
עקב מזג אוויר לא נוח להמראה, היה חשש שהמעבורת לא תשוגר, אך דקות ספורות לפני מועד השיגור המתוכנן התבהרו השמיים זמנית, וניתן אישור להמראה. 31 שניות לפני השיגור, כשהמחשב ששולט במעבורת היה צריך להתחיל לפעול, נעצרה הספירה לאחור בעקבות צינור שנקרע, אך לאחר מכן הספירה לאחור חודשה והמעבורת המריאה בשעה 11:29:03.9 שעון החוף המזרחי של ארצות הברית.
לאחר השלכת מכל הדלק החיצוני והגעה למסלול, העבירו האסטרונאוטים את המעבורת לתצורת טיסה ועברו לשנת לילה ראשונה.
המשימה > יום טיסה שני ושלישי

ביום הטיסה השני בוצעה סריקה של מגן החום של המעבורת, באמצעות הזרוע הרובוטית שלה, כדי לוודא שלא נפגע במהלך השיגור. זאת, כחלק מלקחי אסון מעבורת החלל קולומביה.
ביום השלישי עגנה המעבורת במודול "הרמוני" של תחנת החלל הבינלאומית, בשעה 11:07 בבוקר שעון קיץ מזרח ארצות הברית. הצוהר בין שני הרכבים נפתח כשעה וחצי לאחר מכן. במהלך היום בחנה נאס"א פיסת פסולת חלל, שהייתה בעבר חלק מלוויין רוסי, שנעה במסלול שאיים לפגוע בשני כלי הרכב המחוברים.
המשימה > יום טיסה רביעי

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

היום החל עם הכנות להליכת חלל, שבוצעה על ידי שני אנשי צוות התחנה המארחת, מייק פוסום ורון גאראן. בשונה מהליכות חלל קודמות, הפעם לא קדמה לפעילות שינה בחדר עשיר בחמצן, כדי להוציא עודפי חנקן ממחזור הדם שעלולים לגרום לדקומפרסיה. במקום זאת, לאחר שקמו בבוקר, החלו האסטרונאוטים בנשימת חמצן נקי ממסכות חמצן. לאחר לבישת חליפות החלל המשיכו בנשימת חמצן נקי, תוך שהם מבצעים פעילות גופנית קלה. נוהל חדש זה נוסה לראשונה באחת מהליכות החלל של משימה STS-134. כשעתיים וחצי לאחר ההשכמה יצאו האסטרונאוטים מתחנת החלל.
כשהוא רכוב על הזרוע הרובוטית של התחנה, הנהוגה בידי דאג הרלי, נשא רון גאראן משאבת אמוניה מקולקלת, שאוחסנה ליד מנעל האוויר "קווסט" באופן זמני, והעביר אותה אל תא המטען של המעבורת, לאחר שפירק אותה ממקומה בעזרתו של מייק פוסום.
משימתם הבאה הייתה התקנת רובוט נסיוני, האמור לבחון טכנולוגיות לתדלוק לוויינים בחלל. מייק פוסום החליף את רון גאראן על הזרוע הרובוטית, ונשא את הרובוט מתא המטען של המעבורת אל תחנת החלל, שם הרכיב אותו על צדה החיצוני, בסמוך לרובוט מרובה הגפיים דקסטר.
לאחר מכן, התקינו משטח ועליו חומרים שונים על הצד השמאלי של הקורה הראשית של התחנה, במסגרת ניסוי ארוך טווח שנועד לבדוק את השפעת סביבת החלל על חומרים שונים. לתוצאות הניסוי תהיה השפעה על בחירת חומרים לבניית לוויינים וחלליות בעתיד.
בסיום הליכת החלל, תיקן מייק פוסום כבל משוחרר במודול הרוסי זאריה, בעוד רון גאראן משלים את התקנת ניסוי החומרים ומצלם אותו. לאחר מכן, כיסו בכיסוי מגן יחידת עגינה במודול טרנקוויליטי של התחנה. בסך הכל, ארכה הפעילות החוץ רכבית שש שעות ו-31 דקות.
במהלך היום הודיעה נאס"א כי לאחר סריקה של צילומי מגן החום של המעבורת, שנעשו ביום הטיסה השני, לא נמצאו פגיעות המסכנות את המעבורת.
המשימה > יום טיסה שישי ושביעי

ביום השישי האסטרונאוטים הושכמו לצלילי השיר "רוקט מן" של אלטון ג'ון, שגם בירך את הצוות בהודעה מוקלטת, בה איחל לצוות הצלחה והודה לאנשי נאס"א על שלושה עשורים של טיסות מעבורת.
בעוד צוות המעבורת פורק את הציוד מתוך המודול הלוגיסטי, רון גאראט ומייק פוסום ביצעו פעולות תחזוקה במתקן השירותים של התחנה. בנוסף, התראיינו האסטרונאוטים לתחנות רדיו וטלוויזיה מקומיות ברחבי ארצות הברית.
ביום הטיסה השביעי הושכם הצוות לצלילי השיר Man on the Moon של להקת R.E.M, ולאחריו איחולי הצלחה במשימה מסולן הלהקה, מייקל סטייפ. במשך היום המשיך הצוות בפריקת ציוד מתוך מודול רפאלו, והתראיין לתחנות רדיו וטלוויזיה מקומיות מסנט לואיס, אוקלנד ופילדלפיה. כשעה וחצי לאחר שהחלו בשנת הלילה, התעוררו האסטרונאוטים מהתראה על תקלה באחד מחמשת מחשבי הטיסה של המעבורת. כדי להתגבר על התקלה, העביר מפקד המעבורת כריס פרגוסון את תוכנת ניהול המערכות של המעבורת, שרצה על אותו מחשב, אל אחד המחשבים האחרים. לאחר שצוות הקרקע וידא שההעברה בוצעה בהצלחה, חזרו אנשי הצוות לישון, וקיבלו חצי שעת שינה נוספת כפיצוי על ההשכמה הלא מתוכננת.
המשימה > יום טיסה שמיני ותשיעי

ביום השמיני הצוות הושכם עם השיר "גוד דיי סנשיין" של פול מקרטני, שגם הקליט ברכה מיוחדת בקולו, שהושמעה לאסטרונאוטים. בנוסף להמשך עבודות פריקת המטען, שוחחו האסטרונאוטים עם כלי תקשורת מרחבי ארצות הברית. כמו כן נערכה שיחת טלפון מיוחדת עם הנשיא ברק אובמה.
ביום התשיעי הצוות הושכם לצלילי השיר "Run the World" של ביונסה נואלס, שגם הוסיפה ברכה מוקלטת בקולה, בה התייחסה באופן מיוחד למומחית המשימה סנדי מגנוס, וכל האסטרונאוטיות בעבר ובעתיד. יום זה הוקדש בעיקר לפעילות פריקת ציוד, וטעינת ציוד ישן בחזרה למודול המטען.
המשימה > יום טיסה עשירי

ביום העשירי הסתיימו עבודות העברת המטען בין המעבורת ומודול המטען רפאלו לבין התחנה, כאשר המודול התמלא עד סופו, והסיפון האמצעי של המעבורת התמלא עד כדי 84% משטח המטען שבו, באשפה וציוד מקולקל מן התחנה. דאג הרלי ורקס וולהיים גם ענו לשאלות מוקלטות של תלמידים, שעסקו בחיי האסטרונאוטים בחלל.
המשימה > יום טיסה ה-13

יום הטיסה ה-13 היה היום המלא האחרון בחלל עבור צוות STS-135. הם בילו את היום בבדיקת משטחי בקרת הטיסה של אטלנטיס, כדי לוודא שהכל מוכן לנחיתה. מנהלי המשימה אישרו את לאטלנטיס כניסה מחדש לאחר שבדקו את תוצאות סקר הבדיקה המאוחרת של מגן החום של המעבורת, שבוצע על ידי הצוות ביום הטיסה ה-12. המעבורת התנתקה מתחנת החלל הבינלאומית, והיא התחילה במסעה האחרון חזרה לכדור הארץ.
המשימה > יום ה-14

המעבורת נכנסה לאטמוספירה של כדור הארץ בסביבות השעה 5:25 בבוקר EDT. היא האטה לנחיתה במהירות של 223 מייל לשעה (359 קמ"ש). מעבורת החלל נחתה במרכז החלל קנדי על מסלול 15 בשעה 5:57:00 בבוקר EDT. נגיעה של Nose Gear התרחשה בשעה 5:57:20 בבוקר EDT. עצירת גלגלים התרחשה בשעה 5:57:54.
ראו גם

משימות מעבורות החלל
מעבורת החלל אטלנטיס
הערות שוליים

↑  נטשה מוזגוביה, מעבורת החלל אטלנטיס המריאה למשימתה האחרונה, באתר הארץ, 10 ביולי 2011
↑  אי-פי, מעבורת החלל האמריקאית אטלנטיס עגנה בהצלחה בתחנת החלל הבינלאומית, באתר הארץ, 10 ביולי 2011
↑  אסף שטול-טראורינג, מעבורת החלל האמריקאית אטלנטיס התנתקה מתחנת החלל בדרכה האחרונה לכדור הארץ, באתר הארץ, 19 ביולי 2011
↑  אסף שטול-טראורינג, תם עידן מעבורות החלל בנאס"א: אטלנטיס נחתה בפעם האחרונה, באתר הארץ, 21 ביולי 2011
| משימות מעבורת החלל אטלנטיס |
| --- | --- | --- |
| משימות | STS-51-J • STS-61-B • STS-27 •STS-30 • STS-34 • STS-36 • STS-38 • STS-37 • STS-43 • STS-44 • STS-45  • STS-46 • STS-66 • STS-71 • STS-74 • STS-76 • STS-79 • STS-81 • STS-84 • STS-86 • STS-101 • STS-106 • STS-98 • STS-104 • STS-110 • STS-112 • STS-115 • STS-117 • STS-122 • STS-125 • STS-129 • STS-132 • STS-135 |  |
אטלנטיס על כן השיגור
סרטון השיגור
השיגור של מעבורת החלל אטלנטיס
VATSIM

| --- | --- |
 פעילות:  קהילה מקוונת
 תחום:  תעופה
 שפה רשמית:  אנגלית
 סינוף ארצי:  VATIL
 חברים:  700,000
 נשיא:  טים ברבר (Tim Barber)
 עובדים:  100
 תקופת הפעילות:  2001–הווה (כ־23 שנים)
 www.vatsim.net
 
ואטסים (באנגלית: Virtual Air Traffic Simulation Network בקיצור: VATSIM) הוא ארגון בין-לאומי ללא מטרות רווח המפעיל קהילה מקוונת העוסקת בסימולציית טיסה. חברים בקהילה יכולים לטוס בתור טייסים ברשת או לפקח על תנועות אוויריות בתור פקחי טיסה.
נכון לשנת 2021, בארגון חברים כ-700,000 משתתפים מכל רחבי העולם ומתוכם כ-100,000 פעילים.
המטרה העיקרית של הארגון היא ליצור סימולציה הפועלת על פי תהליכי תעופה ואותות אמיתיים ומאפשרת לטייסים ובקרי תעופה להתאמן ולהתנסות בפעילות שדומה למציאות.
משתמשי המערכת נדרשים לעבוד מבחן אימות שיאשר את בקיאותם בתחום הנבחר ורק לאחר מכן יוכלו להשתמש בסימולציה.
תמונה מתוך סימולטור הטיסה
תמונה מתוך תוכנת המכ"ם
הקמה ופעילות

ארגון VATSIM הוקם בשנת 2001 על ידי הארווי שטיין (Harvey Stein) לאחר פירוק ארגון מבקרי התנועה האווירית המדומה (SATCO).
בשנת 2018, הודיע הארגון שהגיע ל-80,000 חברים פעילים.
בשנת 2020, הודיע הארגון שהגיע ל-100,000 חברים פעילים.
בחודש ספטמבר 2020, הכריז הארגון על מערכת חדשה שתלמד את משתמשי המערכת כיצד להשתמש בה נכון ולצמצם עומסים.
ב-14 במרץ 2022 הוציא לאור הארגון את תוסף הVelocity, אשר שיפר את זמני הסנכרון בין התנועה האווירית ברשת, לבין הסימולטור
הקמה ופעילות > מוקדי פעילות

VATIL - אזור ישראל.
VATPAC - אזור אוסטרליה.
VATEMEA - אירופה, המזרח התיכון ואסיה פסיפיק.
סימולטורים

צוות הלמידה באזורים השונים מפעילים סימולטורים מרובי משתתפים בגרסאות שונות:
| שם סימולטור | יצרן | תיאור |
| --- | --- | --- |
| Flight Simulator | מיקרוסופט | סימולטור טיסה |
| X-Plane | Aerosoft | סימולטור טיסה |
| Prepar3D | לוקהיד מרטין | סימולטור טיסה |
| SquawkBox | Flyaway | סימולטור טיסה |
| VRC | MetaCraft | סימולטור מכ"ם |
| ASRC | AVSIM | סימולטור מכ"ם |
פעילות בישראל

ואטיל (באנגלית: VATIL) היא המחלקה הישראלית של ארגון VATSIM, אשר הוקמה בשנת 2003, המחלקה מפעילה בית ספר לטיסה וירטואלית, מבצעת אירועי טיסה משותפת ברשת העולמית בשיתוף פעולה מול מחלקות נוספות ברחבי העולם ומבצעת הדרכות רבות למשתמשים באמצעות תוכנת הDiscord.
הסימולציות הישראליות משלבות את כל מגדלי הפיקוח והבקרות האוויריות הקיימות בארץ, יחד עם כל חברות התעופה הישראלית: ארקיע, ישראייר ואלעל ובפורום של הקבוצה ניתן למצוא תחקירי טיסות ואירועי בטיחות ברשת.
הערות שוליים

↑  Changes to VATSIM's Leadership | VATSIM.net, www.vatsim.net
↑  VATSIM Achieves membership milestone | VATSIM.net, www.vatsim.net
↑  An Incredible Milestone for VATSIM | VATSIM.net, www.vatsim.net
↑  VATSIM Announces Velocity | VATSIM.net, www.vatsim.net
MD5

מבנה פונקציית התמצות הפנימית של אלגוריתם MD5. הקלט מחולק לארבעה חלקים שווים  A,B,C,D והפונקציה  F היא אחת מארבע טרנספורמציות לוגיות על החלקים  B,C,D כשהתוצאה מחוברת עם  A יחד עם חלק מבלוק הקלט  X וקבועים כלשהם. פירוט הפונקציות וקוד לדוגמה מובאים בהמשך.
בקריפטוגרפיה, MD5 (ראשי תיבות באנגלית: Message Digest algorithm 5, בתרגום חופשי: "אלגוריתם תמצות מסרים גרסה 5") היא פונקציית גיבוב קריפטוגרפית שהייתה פונקציה קריפטוגרפית פופולרית בכל העולם ועדיין נמצאת בשימוש למרות שהתגלתה כפונקציה פגיעה ולא נחשבת בטוחה יותר.  MD5 מקבלת קלט באורך כלשהו ומפיקה ממנו "תמצית" באורך 128 סיביות שהיא מחרוזת סיביות חסרת משמעות המשמשת מעין טביעת אצבע דיגיטלית. עיקר מטרתה היה לספק אמצעי קריפטוגרפי להגנה על שלמות ואימות מסרים ברשת האינטרנט וכחלק ממנגנון חתימה דיגיטלית. ההתאמה בין התמצית לבין הקלט היא חד כיוונית באופן שקשה מאוד למצוא קלט אחר שממנו אפשר להפיק תמצית זהה לכן התמצית מהווה הוכחה לאותנטיות הקלט. נהוג לייצג את תמצית MD5 כמחרוזת טקסט הקסדצימלית.
היסטוריה

פונקציית הגיבוב MD5 פותחה על ידי רונלד ריבסט ב-1991 והחליפה את קודמתה MD4. מקור שמה הוא ראשי התיבות של "Message Digest" (בתרגום חופשי: "תמצית מסרים"). האלגוריתם היה בעבר תקן, כלומר, הוא הוגדר וסווג על ידי ה-IETF, ולכן הוא כלול בתוכנות אבטחה רבות. תיאורו וקוד המקור שלו נמצאים בטיוטה RFC 1321. ב-1996 נמצא פגם באלגוריתם MD5 ואף על פי שלא פגע בביטחונו באופן מהותי, מספר מומחי אבטחה ייעצו לעבור לאלגוריתם בטוח יותר. כיום מרבית התקנים ומומחי ההצפנה ממליצים שלא להשתמש בו כלל לצורך קריפטוגרפי אלא לעבור לאלגוריתם תיקני מסדרת SHA. במרוצת השנים מאז המצאתו התגלו ב-MD5 בעיות וחולשות רבות שנוצלו לצורך התקפות נגד מערכות שעשו בו שימוש, כשהמפורסמת שבהן הייתה הנוזקה להבה שניצלה את חולשתו כדי לזייף חתימה דיגיטלית של מיקרוסופט. הוכח שהוא אינו מספק את המטרה לשמה נועד ואינו מקיים את התכונות החיוניות הנדרשות מפונקציית גיבוב קריפטוגרפית, בעיקר התכונה החזקה יותר שלה - עמידות מפני התנגשויות. הוא עדיין נמצא בשימוש מוגבל בעיקר בגלל תאימות לאחור ושיקולי יעילות. הוא הוצא כליל מפרוטוקולי חתימה דיגיטלית כמו DSA ופרוטוקולי תקשורת כמו SSL, אך נמצא עדיין בשימוש כאלגוריתם תיקון שגיאות או סכום ביקורת, להבטחת שלמות מידע כל עוד השגיאות נגרמות עקב תקלות תקשורת שאינן זדוניות.
תיאור האלגוריתם

אלגוריתם MD5 הוא פונקציית גיבוב איטרטיבית הבנויה בסגנון מרקל-דמגרד. בהינתן הקלט  m באורך  \ell  סיביות שעבורו מעוניינים לייצר תמצית. תחילה מחלקים אותו למקטעים באורך 512 סיביות אותם מעבדים בזה אחר זה, כל מקטע נקרא בלוק. הקלט לא תמיד מתחלק באורך הבלוק. אם למשל מחרוזת הקלט מכילה 75 אותיות, לפי קידוד ASCII שבו כל אות תופסת שמונה סיביות, אורכה הכולל הוא 600 סיביות ולכן היא מתחלקת לשני בלוקים, בלוק אחד מלא באורך 512 סיביות ובלוק שני חלקי המכיל רק 88 סיביות משמעותיות והיתר מאופסות. הבלוקים מסומנים כאן על ידי:
הקלט חייב להיות לפחות באורך בלוק אחד, אך יכול להיות ריק (מכיל רק אפסים). מספר הבלוקים מיוצג על ידי  b. להלן פירוט חמשת הצעדים של האלגוריתם לחישוב תמצית הקלט.
תיאור האלגוריתם > 1. ריפוד

תחילה הקלט "מרופד" כך שאורכו בסיביות יהיה שקול ל-448 מודולו 512. כלומר הקלט מורחב כך שיהיה רק 64 סיביות פחות מכפולה של 512. וב-64 הסיביות הנותרות בבלוק האחרון מעתיקים את קידוד אורך הקלט (להלן). הריפוד מתבצע כך, תחילה מוסיפים את הסיבית '1' לסוף מחרוזת הקלט ולאחר מכן מוסיפים אפסים כנדרש. במקרה הטוב תידרש תוספת של סיבית אחת בלבד ובמקרה הגרוע 512 סיביות. הריפוד חייב להתבצע בכל מקרה גם אם המסר כבר באורך בלוק שלם (במקרה כזה מוסיפים בלוק ריק). הרעיון של תוספת ה-'1' הוא שניתן יהיה תמיד לדעת היכן סוף הקלט מבלי לדעת כמה אפסים נוספו. פשוט מוחקים את כל האפסים המסיימים מסוף הקלט (אם ישנם) עד שנתקלים ב-'1' ואז מסירים גם אותו ומתקבל הקלט באורכו המקורי.
לדוגמה אם מחרוזת הקלט היא המשפט:
"Hello World!"
בבסיס הקסדצימלי המחרוזת נראית כך:
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 48 | 65 | 6c | 6c | 6f | 20 | 57 | 6f | 72 | 6c | 64 | 21 |
כל ספרה הקסדצימלית היא באורך 4 סיביות. כולל הרווח (קוד אסקי 20) וסימן הקריאה (קוד אסקי 21) המחרוזת מכילה 12 תווים שתופסים לפי קידוד ASCII בדיוק 12 בתים בזיכרון (96 סיביות). היות שהמחרוזת נכנסת בבלוק אחד, מוסיפים  448-96=352 סיביות כשהראשונה היא הסיבית '1' ולאחריה 351 אפסים (בסך הכול 44 בתים) ומתקבלת המחרוזת הבאה:
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 48 | 65 | 6c | 6c | 6f | 20 | 57 | 6f | 72 | 6c | 64 | 21 | 80 | 00 | 00 | 00 |
00
00
| 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 |  |  |  |  |  |  |  |  |
ב-64 הסיביות הנותרות של הבלוק מקודדים את אורך המחרוזת המקורית שהוא 96 סיביות או בבסיס הקסדצימלי  {\text{0x60}} ומתקבל:
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 48 | 65 | 6c | 6c | 6f | 20 | 57 | 6f | 72 | 6c | 64 | 21 | 80 | 00 | 00 | 00 |
00
00
| 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 60 | 00 | 00 | 00 | 00 | 00 | 00 | 00 |
כעת מתקבל בלוק שלם (אחד או יותר) באורך 512 סיביות כך שהקלט מוכן לעיבוד.
תיאור האלגוריתם > 2. קידוד האורך

אורך הקלט בסיביות  \ell  (לפני הריפוד) מקודד במשתנה באורך 64 סיביות לפי סדר בתים קטן. משתנה זה מוצב ב-64 הסיביות האחרונות של הבלוק האחרון. בשל כך אורכו הכולל של הקלט לא יעלה על  2^{64} סיביות כי אז לא ניתן לייצג את אורכו במשתנה באורך 64 סיביות. אם במקרה אורך הקלט עולה על מספר זה יש לקחת רק את 64 הסיביות האחרונות (הפחות משמעותיות) של  \ell . הקידוד לפי סדר בתים קטן פירושו שהבית בכתובת הנמוכה ביותר מייצג את הספרות הפחות משמעותיות של המספר. דהיינו המילה  W באורך 32 סיביות מורכבת מארבעה בתים  B_{1},B_{2},B_{3},B_{4} כאשר  B_{1} הוא הבית הראשון (בכתובת הראשונה בזיכרון). אזי לפי סדר בתים קטן  W=2^{24}B_{4}+2^{16}B_{3}+2^{8}B_{2}+B_{1}. במקרה שהמספר מתפרס על פני שתי מילים אזי המילה הראשונה מכילה את החלק הפחות משמעותי של המספר.
לאחר ריפוד ותוספת קידוד האורך מתקבל מערך סיביות המתחלק ללא שארית ב-512. הסיבה לתוספת קידוד אורך המסר נועדה כדי למנוע התקפות שמתמקדות בבלוק האחרון, כך שיהיה קשה יותר למצוא קלט אחר באורך שונה שמפיק פלט זהה.
תיאור האלגוריתם > 3. אתחול זיכרון

מכינים חוצץ באורך 4 מילים המסומנות  A,B,C,D כל מילה מאוחסנת באוגר באורך 32 סיביות. בסך הכול נפח הזיכרון הפנימי הוא 128 סיביות. אתחול האוגרים מתבצע על ידי וקטור האתחול המכיל 4 מילים קבועות  (H_{1},H_{2},H_{3},H_{4}). המכילות את מחרוזת הספרות של הבסיס ההקסדצימלי: "0123456789abcdef" ישר והפוך. לאחר חלוקה למילים לפי סדר בתים קטן מתקבל:
תיאור האלגוריתם > 4. עיבוד הקלט

תחילה מכינים ארבע פונקציות עזר פנימיות המקבלות כקלט שלוש מילים באורך 32 סיביות ומחזירות פלט באורך מילה אחת. הפונקציות הן:
הסימן  \land  מייצג וגם, הסימן  \lnot  מייצג את אופרטור השלילה, הסימן  \lor  מייצג או לוגי והסימן  \oplus  מייצג XOR. בכל פוזיציה של הקלט הפונקציה  F מתנהגת כפסוק לוגי: "אם  x אז  y אחרת  z". אפשר היה להחליף את האופרטור  \lor  בחיבור (+) בגלל שסיביות  (x\land y)\lor (\lnot x\land z) לעולם לא יהיו '1' באותן פוזיציות ולכן לא תהיה בעיה עם הנשא. אפשר לראות שאם סיביות הקלט  x,  y ו- z בלתי מוטות ובלתי תלויות זו בזו, תוצאת הפונקציה תהיה בלתי תלויה גם היא. יתר הפונקציות דומות לפונקציה  F בכך שהן מייצרות במקביל פלט בלתי תלוי הדדית. הפונקציה  H היא פונקציית הזוגיות (XOR) של הקלט.
בנוסף לפונקציות יש להכין טבלת קבועים  T המכילה 64 אלמנטים. עבור כל אינדקס  i כאשר  0\leq i\leq 63 האלמנט  T[i] מכיל את החלק השלם של השבר  4294967296\cdot |\sin(i+1)| (הפונקציה sin היא הסינוס של  i+1 ברדיאנים). אין צורך לחשב את הטבלה בכל פעם שצריכים לחשב תמצית, נהוג לחשבה מראש. להלן ערכי הקבועים בבסיס הקסדצימלי:
במהלך חישוב התמצית, כל בלוק קלט  m_{i} מועתק למשתנה מקומי  X לצורך עיבוד.  X מכיל 16 מילים באורך 32 סיביות שהם 512 סיביות. כל חישובי הפונקציות מבוצעים עם מילים מתוך  X לפי סדר מסוים. סדר עיבוד המילים נקבע לפי הטבלה הבאה בהתאם למספר הסבב:
ב-16 הסבבים הראשונים מעבדים את מילות הבלוק לפי הסדר מהמילה הראשונה עד המילה ה-16. בסבב ה-17 לפי הטבלה מתחילים מהמילה השנייה  X[z[16]]=X[1] במקום הראשונה לאחר מכן מדלגים למילה השביעית וכן הלאה (יש לזכור שהספירה מתחילה תמיד מאפס).
בכל סבב מתבצעת הזזה מעגלית במספר הפוזיציות שונה בהתאם למספר הסבב. הטבלה הבאה מכילה את מספרי ההזזות עבור כל הסבבים:
הטבלה  s מכילה 64 ערכים כשכל ערך מייצג את מספר הפוזיציות שיש להזיז את המשתנה המקומי  t המכיל את פלט הפונקציות האמורות ומהווה חלק מערך הביניים של האלגוריתם. למשל בסבב הראשון  t\lll s[0]=t\lll 7 הזזה של שבע סיביות, לדוגמה  {\text{10F24B1F}}\lll 7={\text{19258FC3}}.
פונקציית התמצות הפנימית של אלגוריתם MD5 מבצעת על כל בלוק קלט 64 פעולות כאשר בסופן היא מעדכנת את המצב הפנימי שהופך לקלט עבור הבלוק הבא. פלט פונקציית הגיבוב יהיה המצב הפנימי האחרון לאחר סיום כל הבלוקים. להלן פסאודו קוד המתאר את המתרחש בלב האלגוריתם:
הביטוי  (A,B,C,D)\leftarrow (H_{1},H_{2},H_{3},H_{4}) פירושו העתקת הערכים מהאגף הימני לאגף השמאלי לפי סדר זה  A=H_{1},  B=H_{2} וכן הלאה. הסימן  \lll  מייצג הזזה מעגלית לשמאל לפי מספר הפוזיציות המופיע לימין הסימן בגבולות מילה באורך 32 סיביות. הזזה מעגלית ניתנת למימוש בתוכנה או בחומרה. למשל בשפת C ממשים הזזה מעגלית כך: (value << count) | (value >> (32 - count)) כאשר האופרטורים "<<" ו-">>" הם אופרטורי ההזזה המובנים בכל שפות התכנות. הפעולה העיקרית באלגוריתם היא המשפט  t\leftarrow (A+F(B,C,D)+X[z[j]]+y[j]), המשתנה המקומי  t מכיל את תוצאת הפונקציה על המצב הפנימי יחד עם חלק מבלוק הקלט והקבועים, כאשר  F מוחלפת בפונקציות האחרות לפי הסדר. הפעולה מומחשת בתרשים למעלה.
תיאור האלגוריתם > 5. פלט

הפלט הוא שרשור ערכי הביניים מהסבב האחרון:  H_{1}\ \|\ H_{2}\ \|\ H_{3}\ \|\ H_{4}
תיאור האלגוריתם > וקטור בדיקה

| פלט | קלט |
| --- | --- |
  {\text{d41d8cd9 8f00b204 e9800998 ecf8427e}}  {\text{0cc175b9 c0f1b6a8 31c399e2 69772661}}  {\text{90015098 3cd24fb0 d6963f7d 28e17f72}}  {\text{c3fcd3d7 6192e400 7dfb496c ca67e13b}} :    {\text{MD5(“”)}}  {\text{MD5(“a”)}}  {\text{MD5(“abc”)}}  {\text{MD5(“abcdefghijklmnopqrstuvwxyz”)}}
שימושים נפוצים

בשל העובדה שהפלט רגיש מאוד לשינויים בקלט (ההודעה), MD5 מאפשר יצירת "חתימה" לכל פלט נתון.
עובדה זו מאפשרת להשתמש בו ביישומים כגון:
אימות זהות ופרטי משתמש תוך הגנה על פרטיותו. האימות מתבצע על ידי הפעלת אלגוריתם MD5 על קלט מהמשתמש (שם משתמש וסיסמה), והשוואת הפלט המתקבל ל"חתימה" השמורה בזיכרון השרת. באופן זה, לא נשמרים בפועל פרטים רגישים אלא רק חתימתם הייחודית. השימוש באלגוריתם MD5 נפוץ, למשל, בפורומים מבוססי IB או PHP.
בדיקת שלמות או תקינות של קבצים. המשתמש יכול להשוות את חתימת ה-MD5 שפורסמה, מול החתימה של הקובץ שהוריד. יש לציין, שבדיקת תקינות זו יכולה לגלות רק אם הקובץ פגום (או לא שלם), אך לא לגלות את השגיאה עצמה.
ביטחון

MD5 לא בטוח כיום לשימוש קריפטוגרפי והוא הוצא ממרבית התקנים וכן מ-SSL לאחר שהתגלו בו בעיות ופגמים רבים. למרות זאת הוא עדיין קיים בשימוש מוגבל. ב-1996 התגלה פגם בתכנון MD5 שבזמנו לא נחשב לבעיה חמורה, אולם לאור הממצאים מומחי הצפנה המליצו כבר אז לעבור לאלגוריתמים טובים יותר כמו פונקציות הגיבוב ממשפחת SHA שבחלקם התגלו גם הם כבעייתיים. ב-2004 הוכח ש-MD5 אינו מספק את המטרה העיקרית לשמה הוא פותח; עמידות מפני התנגשויות, כלומר אמור להיות קשה מאוד מבחינה חישובית למצוא שני קלטים שונים שאם מזינים אותם לפונקציית הגיבוב מקבלים פלט זהה. מסיבה זו MD5 אינו מתאים לתעודת מפתח ציבורי או חתימה דיגיטלית שהם מסתמכים על ההנחה שהתנגשויות בלתי אפשריות (חישובית). באותה שנה קבוצת חוקרים גילו פגמים חמורים נוספים. הם הראו איך אפשר להכין שני מסמכים שונים כך שיפיקו תמצית MD5 זהה. בשנים שלאחר מכן חלה התקדמות נוספת בשבירת האלגוריתם. בדצמבר 2008 קבוצת חוקרים השתמשה בטכניקות שהתגלו כדי לזייף תעודת מפתח ציבורי בתוך מספר שעות. נכון לשנת 2010 הוכרז על ידי ארגון SEI כי אלגוריתם MD5 נפרץ לחלוטין ואינו מתאים יותר לכל שימוש קריפטוגרפי. יישומים ממשלתיים נדרשים כיום להשתמש ב-SHA-2. ב-2012 נוזקת להבה ניצלה את חולשות MD5 כדי לזייף חתימה דיגיטלית של מיקרוסופט. כיום קיימות התקפות התנגשויות נגד MD5 שמסוגלות למצוא התנגשות בתוך שניות על מחשב ביתי. יתרה מזו, קיימת התקפה שנקראת chosen-prefix (תחילית-נבחרת) שמאפשרת ליצור התנגשות עבור שני קלטים עם תחילית קבועה בתוך מספר שעות עם חומרה סטנדרטית.
למרות זאת נכון לשנת 2016 אלגוריתם MD5 נמצא עדיין בשימוש, אם כי מוגבל, משיקולי יעילות. אף על פי שקיימים אלגוריתמים טובים יותר כמו SHA-3 או BLAKE אלגוריתם MD5 ידוע בפשטותו ומהירותו, לכן ישנן חברות אבטחה שעדיין עושות בו שימוש.
ראו גם

פונקציית גיבוב קריפטוגרפית
פונקציה חד-כיוונית
שיטת מרקל-דמגרד
לקריאה נוספת

סיימון סינג, סודות ההצפנה, "ידיעות אחרונות".
Internet Security: Cryptographic Principles, Algorithms and Protocols.
הערות שוליים

↑  Catalin Cimpanu, A quarter of major CMSs use outdated MD5 as the default password hashing scheme, ZDNet (באנגלית)
↑  MD5 vulnerable to collision attacks, Carnegie Mellon University, ‏31/12/2008
↑  Internet Standard: "The MD5 Message-Digest Algorithm"
Juneteenth

חגיגות Juneteenth ב-1900 בטקסס
Juneteenth (באנגלית: Juneteenth Day; קרי: "ג'וּנְטִינְת' דיי") הוא חג פדרלי בארצות הברית לציון סיום העבדות בארצות הברית. החל משנת 2021 הוא נחוג על-פי חוק ב-19 ביוני. עוד קודם לחקיקה יום זה צוין על ידי חברי הקהילה האפרו-אמריקאית. תאריך החג נקבע בעקבות הכרזת הגנרל גורדון גריינג'ר מ-19 ביוני 1865 בגאלווסטון, טקסס, לפיה כל אפרו-אמריקאי בטקסס שהיה משועבד עד אז, הוא מעתה בן חורין. בעקבות זאת נקרא באנגלית "Juneteenth", הלחם בסיסים של תאריך החג באנגלית: "June" (חודש יוני) ו-"Nineteenth" (תשע עשרה).