Upload
terrel
View
40
Download
0
Embed Size (px)
DESCRIPTION
הגנה במערכות מתוכנתות. תרגול 4 – קריפטוגרפיית מפתח פומבי. הערה: שקפים אלה אינם מהווים תחליף לחומר התרגולים המפורסם באתר הקורס, ומשמשים כעזר הוראה בלבד. קריפטוגרפית מפתח פומבי. קריפטוגרפית מפתח פומבי RSA אלגוריתם אוקלידס המורחב חתימה דיגיטלית פונקצית תמצות קריפטוגרפית. - PowerPoint PPT Presentation
Citation preview
הגנה במערכות מתוכנתות
– קריפטוגרפיית מפתח 4תרגול פומבי
הערה:
שקפים אלה אינם מהווים תחליף לחומר התרגולים המפורסם באתר הקורס, ומשמשים כעזר הוראה
בלבד.
קריפטוגרפית מפתח פומבי
קריפטוגרפית מפתח פומביRSAאלגוריתם אוקלידס המורחבחתימה דיגיטליתפונקצית תמצות קריפטוגרפית
4הגנה במערכות מתוכנתות - תרגול 2(c ) 2007אריק פרידמן
4הגנה במערכות מתוכנתות - תרגול 3(c ) 2007אריק פרידמן
קריפטוגרפיית מפתח פומבי
שני מפתחותמפתח פומבי)מפתח פרטי )סודי
נציג שני שימושיםהצפנה באמצעות צופן מפתח פומביחתימה דיגיטלית
4הגנה במערכות מתוכנתות - תרגול 4(c ) 2007אריק פרידמן
RSARon Rivest, Adi Shamir, Leonard Adleman
(MIT)
4הגנה במערכות מתוכנתות - תרגול 5(c ) 2007אריק פרידמן
RSAאלגוריתם
אלגוריתם ליצירת מפתחות:q ו-pבוחרים שני מספרים ראשוניים גדולים 1.
)n=pq, φ)n(=)p-1()q-1מחשבים 2. [φ)n(-שווה למספר המספרים הקטנים מ n-והזרים ל n]
.)n(φ זר ל-e, ו-)e<φ)n≥3 שלם כך ש- eבוחרים 3.(e,n )המפתח הפומבי להצפנה:
e – ההופכי של dבעזרת אלגוריתם אוקלידס המורחב מחשבים את 4..)φ)nמודולו
(d,n)המפתח הפרטי )לפענוח(:
M: C=Me mod nהצפנה של הודעה C: M=Cd mod nפענוח הודעה
4הגנה במערכות מתוכנתות - תרגול 6(c ) 2007אריק פרידמן
אלגוריתם אוקלידס
A=a;
B=b;
r=A mod B;
while )r!=0(
{
A=B;
B=r;
r=A mod B;
}
Output B as gcd)a,b(
, נניח b ו-aקלט: שני שלמים a≤b.
)gcd)a,bפלט:
4הגנה במערכות מתוכנתות - תרגול 8(c ) 2007אריק פרידמן
הערות
האלגוריתם מסתמך על בעיית פירוק מספרגדול לגורמיו הראשוניים )נחשבת בעיה קשה(
:סודייםd, p, q, φ)n(-נתייחס לMכאל מספר בכתיב בינארי |M|<|n| ההצפנה ידועה תמיד.1, -1, 0עבור הערכים
4הגנה במערכות מתוכנתות - תרגול 9(c ) 2007אריק פרידמן
מפתח פומבימפתח סימטרי
,מפתח הצפנה פומבימפתח פענוח פרטי.
.קשה לממש בחומרה.חישובים איטיים מספר המפתחות
כמספר המשתמשים במערכת.
מפתח יחיד להצפנהוגם לפענוח.
.מהיר בחומרה ותוכנה.קשה להחליף מפתחות במערכת עםN
משתמשים דרושים O)N2(.מפתחות
|| )RSApubB)Kבד"כ משלבים בין השיטות, למשל: EK)M(
4הגנה במערכות מתוכנתות - תרגול 10(c ) 2007אריק פרידמן
חתימה דיגיטלית
:מטרותאימות זהות השולחשלמות ההודעהתכונת אי ההכחשה
:השימוש עם מפתח פומביהמפתח הפרטי משמש לחתימה על ההודעההמפתח הפומבי משמש לאימות ההודעה
4הגנה במערכות מתוכנתות - תרגול 11(c ) 2007אריק פרידמן
אלגוריתם חתימה דיגיטלית
S
M
Sig)M(
PrUV
M || Sig)M(
True/False
PubU
)M || Sig)Mשולחים:
פונקציית חתימה
פונקציית אימות
4הגנה במערכות מתוכנתות - תרגול 12(c ) 2007אריק פרידמן
RSAחתימה דיגיטלית באמצעות
S
M
Sig)M(
PrUV
M || Sig)M(
True/False
PubU
Sig)M( = S )M, )d,n(( = Md )mod n(
פונקציית חתימה
פונקציית אימות
V)M,Sig)M(, )e,n(( = true
iff M=]Sig)M([e )mod n(
4הגנה במערכות מתוכנתות - תרגול 13(c ) 2007אריק פרידמן
בעיות...
Existential Forgery עבורSig כלשהו, מחשבים Sige)mod n(. מאפשר "לזייף" חתימה, למרות שאין שליטה על
התוכן.Multiplication Property
תוקף ששמע שתי הודעות והחתימות עליהן, יכול)M=)M1·M2( )mod nלשלוח הודעה חתומה
4הגנה במערכות מתוכנתות - תרגול 14(c ) 2007אריק פרידמן
RSAשאלה על (18.9.03)אביב תשס"ג, מועד ב',
רוני הוא הסטודנט היחיד שניגש לבחינה במקצוע מתמטיקה טהורה מ'.( בבחינה.1לרוע המזל, קיבל רוני ציון חד-ספרתי )גדול מ-
רוני גילה שהמרצה עומד להעביר את ציונו למזכירות בפורמט הבא:Name, Grade, Sig)Grade(
כאשר:Sig)Grade( חתימת – RSA ללא( hash.של המרצה על הציון )
(e,n) מפתח – RSA הפומבי של המרצה, כאשר n ביט.1024 מספר גדול באורך
הנח שהמפתח הפומבי של המרצה ידוע לכולם, וזו הפעם הראשונה שהמרצה חותם על הודעה כלשהי. ניתן להניח שרוני יכול לקרוא
ולשנות הודעות שנשלחות מהמרצה למזכירות.האם רוני יכול לגרום לכך שהציון שיועבר יהיה דו-ספרתי?
אם כן, הראה כיצד, אחרת נמק.
4הגנה במערכות מתוכנתות - תרגול 15(c ) 2007אריק פרידמן
הפתרון – שילוב עם פונקציית תמצות קריפטוגרפית
פונקציהh( תיקרא פונקציית תמצות hash )קריפטוגרפית אם היא מקיימת:
.1h:{0,1}*→{0,1}c
.2hחד כיוונית
.3hחסרת התנגשויות :לדוגמהSHA-1, SHA-256, Tiger, )MD5(
4הגנה במערכות מתוכנתות - תרגול 16(c ) 2007אריק פרידמן
RSA'פונקציית תמצות קריפט +
S
M
Sig)M(
PrUV
M || Sig)M(
True/False
PubU
Sig)M( = S )M, )d,n(( = )h)M((d )mod n(
פונקציית חתימה
פונקציית אימות
V)M,Sig)M(, )e,n(( = true
iff h)M(=]Sig)M([e )mod n(
4הגנה במערכות מתוכנתות - תרגול 17(c ) 2007אריק פרידמן
איך פותר?
אין מגבלת אורך חד-כיווניות שלh פותרת Existential Forgery שימוש בפונקציית התמצות "מחביא" תכונות
RSAאלגבריות של בפועל חתימה והצפנה בצורה נכונה עםRSA
(PKCS#1, ANSI X9.31הינה מורכבת יותר )