פורסם 2006 בדצמבר 2618 שנים מחבר ביליתי שעות לא מועטות בנסיון להבין את הנושא. למצוא מוכן ברשת כל טיפש יכול אבל הדרישה שאני אממש לבד. ואדע להסביר.אז האם מה שאתה אומר זה שזה בלתי אפשרי שאצליח לפתח לבד אלגוריתם שיפיק מספרים אקראיים מספקים בשביל הצפנה בסיסית יחסית?אני אפילו לא אמור לעשות DES או משהו כזה.כמה אלגוריתמים בסיסים עם כל מני התמרות הכפלות סיבובים וערבולים למיניהם יספיקו.
פורסם 2006 בדצמבר 2618 שנים שוב - תחליט אם זה צריך להיות רציני או לא.א) כן, אני אומר שאם לא תקדיש זמן ללמוד את הנושא כמו שצריך, אז אין סיכוי שתמציא בעצמך אלגוריתם סביר להצפנה שתוכל גם להסביר.ב) לא, אלגוריתם בסיסי שהמצאת בעצמך עם כל מני "הכפלות התמרות וסיבובים" לא יספיק אם אתה מתכוון לעשות הצפנה אפילו קצת רצינית, כל קריפטואנליסט מתחיל יפרוץ את זה, או סתם חובב מוכשר. ההצפנה (אם אפשר לקרוא לזה ככה) של DVD-ים נפרצה ע"י בחור בן 16. הצפנות או PRNG אחרים נפרצים מדי פעם. אני בטוח שניסית פעם הצפנה בעזרת XOR וחשבת שזה טוב. זו הצפנה קלה מאוד לפריצה. כנ"ל עם PRNG - תבחר פולינום או פרמטרים לא מתאימים, וקיבלת PRNG דפוק לגמרי. בחרת אלגוריתם פשוט כמו LFSR או LCG וקיבלת אחד שלא בטוח קריפטוגרפית.ג) 3DES דווקא לא מסובך למימוש, ויכול להיות שתוכל להסביר תיאורטית איך הוא עובד (אבל אולי לא למה הוא טוב) - אבל זה אלגוריתם הצפנה ולא PRNG.אם אתה לא רוצה להיות רציני אז סתם תעשה משהו דבילי כמו LSFR יחד עם HASH פשוט של הזמן הנוכחי, ואז תשתמש באלגוריתם שהמצאת.כמובן שהוא לא יהיה בטוח בכלל. אני מניח שהוא יעצור מישהו שהוא לא מאוד מוכשר, או מישהו שאין לו כוח להשקיע קצת זמן.קצת כמו מנעול תלי דק: אפשר לשבור אותו או לפרוץ אותו בקלות, לא הייתי נועל בעזרתו משהו יקר - אבל אם אתה רק רוצה שלא יגנבו לך את הבגדים, המגבת והשמפו - אז הוא מספיק טוב בשביל לנעול אותם בלוקר של הבריכה.ועדיין תקרא קצת ברשת!! תבדוק ב-numerical recipes in C לגבי אלגוריתמי PRNG. אפשר למצוא את הספר on line באתר www.nr.com
פורסם 2006 בדצמבר 2618 שנים מחבר אני יודע את מעט כל מה שאמרתה. אני לא רוצה לעשות משהו שיפרץ ע"י כל קריפטואנליסט מתחיל. אבל אני מוגבל בזמן משאבים וידע.
פורסם 2006 בדצמבר 2618 שנים כמו שאני רואה, אלה האפשרויות שלך:1. תמצא מישהו שמבין בנושא ותשאל אותו את השאלות האלה. שהוא ינפיץ לך משהו פשוט אבל טוב מספיק. לא נראה שיש מישהו כזה בפורום.2. הבעיה שלך זה דרישות לא סבירות - משהו שיהיה גם טוב אבל לא מסובך כדי שתוכל להסביר אותו. אין כאלה דברים. תוותר על הדרישה לפשטות או על הדרישה שתוכל להסביר, או על הדרישה לקושי הפריצה. יש אמרה שחוקה שנראה לי שמתאימה למקרה שלך: fast, good or cheap. pick two3. תשתמש בספריה קיימת, ובאלגוריתם קיים. כדי למצוא אותם, תצטרך להשקיע זמן ולקרוא. ראה אפשרויות (1) ו-(2).
פורסם 2006 בדצמבר 2618 שנים נראה לי שאם יש לך אלגוריתם הצפנה טוב ו- hash סביר, אתה יכול לצמצם את הבעיה לבעיה של בחירת ה- seed.אתה בוחר את ה- seed בתור המפתח לאלגוריתם ההצפנה, ובתור ערך התחלתי, ואז כל פעם אתה מצפין את הערך הנוכחי ומוציא hash שלו בתור הערך הרנדומלי.
פורסם 2006 בדצמבר 2718 שנים בדיוק, וכאן אנחנו נתקלים בשאלות:1) איך בוחרים seed טוב, באורך מתאים כמפתח לאלגוריתם ההצפנה?2) מה אתה מתכוון להצפין מראש?3) איזה אלגוריתם הצפנה סביר?4) איזה hash לקחת, ועם מה לעשות את ה-hash?והבעיה הגדולה:ההצעה שלך מתחילה במילים "נראה לי". אני חייב להודות שגם לי נראה שזה לא רע. נניח שבחרת שיטה: תמיד אפשר לקחת את הזמן הנוכחי, להשתמש בו כמפתח ל-DES3, להצפין איזו מחרוזת קבועה (רעיון רע!!!), לעשות על זה MD5, ואז להוציא את הפלט כמספר אקראי "בטוח".בעצם המצאת אלגוריתם PRNG.איך אתה יודע שהוא בטוח מבחינה קריפטוגרפית? האם הוא בכלל טוב כ-PRNG? מה המחזור שלו? מה ההתפלגות של הערכים שהוא נותן? האם יכול להיות שבהנתן X ערכים קודמים של ה-PRNG, אפשר יהיה לנחש את הערך ה-X+1 בסבירות גבוהה מספיק?אבל האמת היא שאנחנו לא יודעים מספיק בשביל לענות על השאלות האלה. יתכן מאוד שכל קריפטואנליסט מתחיל יפצח את האלגוריתם וכך ידע לנחש בקלות את המספר האקראי הבא.
פורסם 2006 בדצמבר 2718 שנים ברעיון כשלעצמו אני לא חושב שיש בעיה. (הידע שלי בהצפנה זה בסה"כ קורס מבוא להצפנה שעשיתי לקראת סוף התואר).ברגע שמשתמשים באלגוריתמים ספציפיים צריך לבדוק את החולשות שלהם, ואם הצירוף שלהם לא יוצר חולשה יותר גדולה.לא המצאתי כאן PRNG, אלא רק נתתי רדוקציה מ- PRNG ל- לצירוף של הצפנה ו- hash.בחירת ה- seed הוא לא בדיוק חלק אינטגרלי של PRNG. הבנתי שבכל מיני ספריות הצפנה "מגרדים" מידע מרחבי המערכת (process IDs, מספר threads, הקשות משתמש, ואפילו input מהמיקרופון) כדי לקבל seed שהוא באמת רנדומלי.
פורסם 2006 בדצמבר 2718 שנים מחבר כל זה ממש מרתק אבל אני אפילו לא באוניברסיטה! אני רוצה משהו שלפרוץ אותו בצורה ברוטלית יקח ימים או אפילו שבועות זה הכל. וכמובן לא יהיה יותר מדי קל לפתור עי כל קריפטואנאליסט מתחיל. אפשר מעט להתמקד בבעיה שלי ? אם אני אצליח לעשות DES יהיה לי 100 על בטוח. אין צורך ביותר.מישהו ראה איזה ישום של DES ב C? או אולי TUTORIAL איך להכין אחד?
פורסם 2006 בדצמבר 2718 שנים מישהו ראה איזה ישום של DES ב C? או אולי TUTORIAL איך להכין אחד?כמו שנאמר כאן, יש את openssl (פרוייקט קוד פתוח שמיישם הרבה אלגוריתמי הצפנה ציבוריים).
פורסם 2006 בדצמבר 2818 שנים DES הוא יחסית פשוט למימוש, הוא מבוסס על פעולות על סיביות שקל מאוד לממש.וכמובן תממש DES3 (שהוא משהו כמו לחזור על DES רגיל 3 פעמים) כי DES בסיסי פשוט חלש מדי.עדיין עדיף למצוא מימוש נורמלי באינטרנט במקום לממש בעצמך.תחפש בגוגל על איך הוא בנוי ואיך לממש אותו. זה סטנדרט ידוע ונפוץ.
פורסם 2006 בדצמבר 2818 שנים המימוש של DES דווקא די מעצבן, וכולל הרבה מידע סטטי (המימוש של ה- S-Boxes).למעשה, אחד השיקולים בשימוש באלגוריתם היו (בזמן שנכתב) היא שיהיה קשה (לא יעיל) לממש אותו בתוכנה. אז נכון שהרבה מאוד שנים עברו מאז, אבל יש הרבה אלגוריתמים יותר סימפתיים ממנו. נדמה לי ש- AES למשל יותר סביר.
פורסם 2006 בדצמבר 2818 שנים גם AES משתמש בטבלאות (ליתר דיוק הוא משתמש בחישובים אלגבריים מורכבים למדי, שיותר פשוט לייצג אותם באמצעות טבלאות שחושבו מראש).אם אני לא טועה, אלגוריתמי RC5 ו-RC6 הם מאוד פשוטים (משהו בסגנון אוסף של סכומים וקסורים).
פורסם 2006 בדצמבר 2818 שנים RC5 ו-RC6 דומים מימושית ל-DES (שילוב של טבלאות עם פעולות ביטים).תקחו את הטבלאות המוכנות מראש ותממשו את כמה פעולות הביטים שצריך. זה כולה משהו כמו יומיים עבודה לתלמיד תיכון שיודע קצת לתכנת.אם אתם חושבים ש-DES מסובך למימוש, אז קשה לי להאמין שתמצאו אלגוריתם הצפנה מודרני שהוא קל למימוש, ועדיף שתשתמשו ב-Caesar cipher או משהו.הערה למי שלא מזהה סרקאזם - אל תשתמשו ב-caesar cipher, הוא לא חזק.
פורסם 2007 בינואר 1718 שנים כדאי לך לנסות את האלגוריתם BlowFish. הוא אלגוריתם חינמי ויש לו מימושים שאפשר למצוא בקלות
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.