מה ההבדל בין SHA להצפנת SHA-1?

SHA הוא ראשי תיבות של Secure Hash Algorithm, תקן הצפנה שהומצא על ידי הסוכנות לביטחון לאומי ופורסם על ידי המכון הלאומי לתקנים וטכנולוגיה. לאלגוריתם SHA המקורי נמצאו חולשות בשיטות ההצפנה שלו, והוחלף ב-SHA-1 לאבטחה חזקה יותר.

אלגוריתם Hash מאובטח

SHA היא פונקציית גיבוב קריפטוגרפית. פונקציית Hash לוקחת טקסט ראשוני לא מוצפן, הנקרא טקסט פשוט, ומייצרת מספר ייחודי תיאורטית המהווה את ההודעה המוצפנת. SHA יוצר מספר של 160 סיביות, שהוא מספר בין 0 ל-1.46 x 10^48. לא ניתן להבטיח שמספר זה יהיה ייחודי עבור כל הודעות הטקסט הפשוט האפשריות, מכיוון שמספר ההודעות הללו הוא תיאורטית אינסופית, אבל הסיכויים הם בערך 2^80, או 1.21 x 10^24, כנגד שתי הודעות שמפיקות את אותה מוצפנת תוֹצָאָה. אם זה מתרחש, זה נקרא התנגשות. התנגשות מספקת התקפה מתמטית על אלגוריתם הצפנה, ומאפשרת לקריפטוגרף לפענח את הטקסט הפשוט.

סרטון היום

SHA-0 ו-SHA-1

לאחר פרסומו, התגלו פגמים באלגוריתם SHA המקורי שאפשרו מתקפה קריפטוגרפית לייצר התנגשויות חשיש, והחלישו מאוד את יעילותו. פותחה גרסת SHA מתוקנת, SHA-1, שיצרה את אותן תוצאות של 160 סיביות ללא הפגמים המקוריים באלגוריתם. שמו של ה-SHA המקורי שונה רטרואקטיבית ל-SHA-0 כדי להבחין בין השימוש בו לבין השימוש ב-SHA-1.

שינויים ב-SHA-1

הפגמים המקוריים ב-SHA-0 מעולם לא פורסמו, מכיוון שפגמים אלו מספקים ערכת כלים לכל תוקף המנסה לפענח הודעה באמצעות הצפנת SHA-0. המידע הציבורי היחיד על החולשות באלגוריתם המקורי מצביע על כך שסביר יותר להתנגשויות חשיש מאשר במקרה אקראי בעת שימוש ב-SHA-0, וכי התנגשויות בשיטה שלא פורסמה בוטלו בעת שימוש SHA-1. מכיוון ש-SHA-1 ו-SHA-0 מייצרים תוצאות מתמטיות באותו אורך, ניתן להשתמש ב-SHA-1 כתחליף ל-Drop-in בתוכנת מחשב עבור אלגוריתם SHA-0 המקורי מבלי לדרוש שכתובים גדולים בשאר החלקים תוֹכנָה.

SHA-2 ו-SHA-3

נמצא כי SHA-1 חזק יותר מ-SHA-0, אך משאיר מקום לשיפור. ניתוח מתמטי של תוצאות SHA-1 הדגים שיטה שבה הצפנת SHA-1 יכולה להישבר מהיר פי 2,000 ממה שיהיה אפשרי תיאורטית על ידי בדיקת כל 10^48 השילובים האפשריים שלו תְפוּקָה. מכיוון שאלגוריתם הצפנה אידיאלי מונע שיפורי מהירות פענוח מסוג זה, אלגוריתם SHA-2 גם מונע את ההתקפה הזו וגם מגדיל את גודל הגיבוב האפשרי ל-512 סיביות, או 1.34 x 10^154. SHA-3, אלגוריתם הצפנה חזק יותר, נמצא כעת בפיתוח.