/ / אלגוריתם Diffie-Hellman: הקצאה

אלגוריתם דיפי-הלמן: המטרה

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

מהי טכניקת דיפי-הלמן?

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

אלגוריתם דיפי הלמן

כפי שכבר הבין, בהעדר הגנה שלערוץ ליירט או לשנות קבצים שנמצאים בתהליך של שליחה וקבלה, יכול להיות גם תוקף. עם זאת, אלגוריתם ההפצה של Diffie-Hellman לגישה לנתונים המועברים והתקבלו הוא כזה שהפרעה חיצונית מוחקת כמעט לחלוטין. יחד עם זאת, התקשורת על ערוץ התקשורת המשומש (מבלי להגן עליו) הופכת בטוחה אם שני הצדדים משתמשים באותו מפתח.

פרהיסטוריה

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

סקירה אלגוריתם

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

ההסבר הפשוט ביותר

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

שיטת ההצפנה של נתונים לתקופות מוקדמות

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

דיפי הלמן אלגוריתם על ג 'אווה

שים לב כי רוב עדיין לאטקסטים ומכתבים של השומרים והמצרים הקדומים עדיין אינם מובנים על ידי האנליטיקאים, פשוט משום שאינם יודעים כיצד לקבוע את רצף הסמלים הרצוי.

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

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

ובכן, עכשיו תן לנו להתעכב על מערכת ההצפנה עצמה, היישום המעשי שלה ואת מידת ההגנה.

אלגוריתם דיפי-הלמן: המטרה

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

דיפי הלמן אלגוריתם על c

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

אלגוריתם Diffie-Hellman: סקירה כללית

לכן, האלגוריתם עצמו כרוך בשימוש במספר מושגים בסיסיים. נניח שיש לנו את המקרה הפשוט ביותר, כאשר יש שני מנויים (המשתמש) על החיבור. אנו מייחסים אותם כ- A ו- B.

הם משתמשים בשני מספרים X ו- Y שאינםסוד בערוץ התקשורת נתון, עבור שליטה על שידור השידור. כל העניין הוא ליצור על בסיס שלהם ערך חדש זה יהיה המפתח. אבל! המנוי הראשון משתמש במספר ראשוני גדול, והשני - בהכרח את כל (מחלקים ללא שארית), אבל קטן יותר מאשר הראשון.

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

נוסחאות בסיסיות לחישוב המפתח

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

כך, למשל, כל אחד המנויים מייצר מספרים אקראיים א ו . מראש הם יודעים את המשמעויות x ו y, אשר יכול להיות אפילו "תפור" לתוך התוכנה הרצויה.

בעת שליחה או קבלה של הודעה כזו, מנוי א 'מחשב ערך מפתח המבוסס על הנוסחה A = xאmod y, והשני משתמש בשילוב B = xmod y, ולאחר מכן את העברת המפתח המפוענח למשתמש הראשון. זהו השלב הראשון.

דיפי הלמן למשל אלגוריתם

עכשיו נניח כי האדם השלישי מודאגיש למפלגה גם ערכים מחושבים של A ו- B. בכל זאת, היא אינה יכולה להפריע לתהליך העברת הנתונים, שכן בשלב השני יש לדעת כיצד מחושב המפתח המשותף.

בהתבסס על הנוסחאות לעיל, אנחנו יכולים להפסיק על החישוב של המפתח הציבורי. אם אתה מסתכל על האלגוריתם Diffie-Hellman, הדוגמה עשויה להיראות כך:

1) המנוי הראשון מחשב את המפתח מבוסס על x לפי הנוסחה באmod y = xasmamod y;

2) השני, החל מהמספר הראשוני y ו שהתקבלו בפרוטוקול הרשת של הפרמטר B, קובע את המפתח בהתבסס על הפרמטר הזמין A: אmod y = x bamod y.

כפי שאנו רואים, את הערכים הסופיים גם כאשר המעלות משתנים חופפים. לפיכך, הפרשנות של הנתונים על-ידי שני הצדדים היא, כאמור, צמצמה למכנה אחד.

פגיעות בהפרעות לתהליך העברת הנתונים

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

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

דיפי האלמן

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

שימוש באלגוריתם עבור פלטפורמת Java

אלגוריתם Java Diffie-Hellman משמש אך ורק לשיחות כגון שרת לקוח.

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

אלגוריתם ההפצה של Diffie Hellman

שימוש באלגוריתם עבור פלטפורמת C (+ / +)

אם אתה מסתכל על אלגוריתם Diffie-Hellman על "C"(+ / +), והנה לא כל כך חלקה. העובדה היא כי לפעמים יש בעיה כאשר שפת התכנות עצמה בעיקר עובד עם חישובים נקודה צפה. לכן, כאשר מציינים ערכים שלמים או כאשר מנסים לעגל (אפילו במהלך expountiation) בעיות עלולות להתרחש במהלך ההידור. זה נכון במיוחד של שימוש לא נכון של הפונקציה int.

עם זאת, כדאי לשים לב לכל השאררכיבי הפעלה, אשר, ככלל, מייצגים את הקצאת השיעורים, אותו exponentiation או הנלוות להצטרף לספריות GMP.

אלגוריתמים מודרניים להצפנה

הוא האמין כי האלגוריתם Diffie-Hellman הוא עדייןאף אחד לא יכול לעלות. למעשה, הוא שימש כבסיס להופעתן של מערכות הגנה ידועות כאלה בתחום הצפנת הנתונים, כמו AES128 ו- AES256.

האלגוריתם של דיפי הלמן דורש זאת

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

במקום מילת מפתח

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

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

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

</ p>>
קרא עוד: