@אוריי כתב באתגר | האם אפשר להחזיר את התהליך אחורה?:
האם אפשר לדבג אותם אחורה או שכתבתי מעולה
אני רוצה להציע אפשרות שלישית: ייתכן שקשה או בלתי אפשרי לדבג אחורה, אבל לא כתבת מעולה
קיבלתי מרבותי: "לא ממציאים שיטות הצפנה מקוריות"
ההסבר: (מדובר כאשר ההצפנה הוא לצרכי אבטחה) אבטחה הוא נושא רגיש, והצפנה הוא נושא מתמטי קשה כאשר פרט קטן יכול לשבש את כל הבטיחות של האלגוריתם. היו מקרים של אלגוריתמים שמומחים גדולים חשבו שהם טובים עד שהגיע אחד והצביע על חולשה. לכן סומכים על אלגוריתמים שעברו ביקורת של הרבה אנשים חכמים מאוד ולא מנסים להמציא משהו מקורי משלנו.
לגבי עצם האתגר: גם בלי הרבה חישובים לכאורה אפשר להחליט שאי אפשר להחזיר את התהליך אחורה לגמרי מסיבה פשוטה: יש יותר מקלט אחד שיתאים לפלט של האלגוריתם. זה יכול להיות קצת בעיה באלגוריתם לשמירת סיסמאות...
אני לא טוב במתמטיקה ולא מומחה בקריפטולוגיה (וגם עצלן, אם אפשר להעביר ביקורת בלי להתאמץ עם חישובים מתמטיים, למה לא...), אבל חולשות שאני רואה מיד (לעומת אלגוריתם גיבוב בטיחותי כמו SHA1 לדוגמה)
- מה שהזכרתי למעלה: לכאורה יש אפשרות קלה מדי להתנגשויות (לא עיינתי כל הצורך בזה)
- האורך של הפלט תמיד זהה לאורך של הקלט, דבר שמגלה מידע חשוב לפורץ
- שינוי של חלק אחד של הקלט משנה רק מקומית את הפלט, תוקף יכול לזהות איזה מחרוזות יש להם חלקים זהים
בכל מקרה, יהיה מעניין גם לקבל תשובה לאתגר המקורי שלך: נסיון להחזיר אחורה את התהליך בלי brute force
אגב, הדבר הראשון שעשיתי כאשר קראתי את השאלה זה לבקש מ-chatGPT לתרגם את הקוד לשפה יותר קריאה...