יש לי מערך של מפתחות, לדוג 100 200 300 ... ואני רוצה שהמשתמש יזין מספר כלשהו הוא יעוגל למספר המפתח הקרוב ביותר.
יש לי כמה דרכים לעשות את זה, אבל אני מחפש את הדרך הכי קצרה ויעילה.
אולי יש למשהו דרך יצירתית לעשות את זה?
יש לי מערך של מפתחות, לדוג 100 200 300 ... ואני רוצה שהמשתמש יזין מספר כלשהו הוא יעוגל למספר המפתח הקרוב ביותר.
יש לי כמה דרכים לעשות את זה, אבל אני מחפש את הדרך הכי קצרה ויעילה.
אולי יש למשהו דרך יצירתית לעשות את זה?
@פלורידה שכוייח זה לא בדיוק מה שהתכוונתי אבל גם זה יכול להיות רעיון טוב.
@צדיק-תמים אמר בהוספת תיקיה מוכרת מותאמת אישית ב-Windows:
@קומפיונט פשוט תלחץ מקש ימני על התקיה ותבחר ב"הצמדה לגישה מהירה" (ואם אתה רוצה גם בהתחל, אז גם בהצמדה להתחל..)
אני לא מעוניין באמצעות הצמדה לגישה מהירה, זה חלש מידי. אני רוצה שזה יהיה כמו התיקיות המוכרות של המחשב שנמצאות בסייר תחת 'מחשב זה', כגון מוסיקה, הורדות וכו'.
@מעמד תנסה לעשות שחזור מערכת
@NH-LOCAL אמר בהוספת תיקיה מוכרת מותאמת אישית ב-Windows:
בשביל אתה צריך בסך הכל להמיר תמונה לקובץ ico.
ומה אחרי זה?
אגב, אולי לא הסברתי את עצמי בשאלה טוב אז אני מתכוון לשאול איך מוסיפים תיקיה כמו שיש בסייר הקבצים בצד ימין, לדוג' מוסיקה, מסמכים, הורדות וכו', אז אני רוצה להוסיף עוד תיקיה שאני אחליט איזה שם לקרוא לה ואיזה סמל יהיה בה.
אני רוצה להוסיף תיקיה מותאמת אישית (מה שנקרא בלע"ז Known Folder) שתופיע בסייר הקבצים ובהתחל.
ראיתי כאן שאפשר עם ה-API. וראיתי גם שאפשר עם התוכנה Winaero Tweaker.
אבל אני רוצה דרך פשוטה בלי התקנות. משהו מכיר כלי שעושה את זה?
על הדרך אני ישאל אם משהו יודע לעשות גם תמונה מותאמת אישית?
@yossiz אנחנו מצפים בכיליון עיניים להסבר שלך.
@dovid במקור האחרון שהבאת מציינים במפורש שזה לא מוסיף אבטחה.
תראה את הפסקה האחרונה:
Hopefully it’s obvious that this adds no actual security to a system; it’s obscurity, at best.
@dovid אמר בתרגיל מתמטי של הסתרת מזהה רץ:
זה לא רק עניין של max גבוה.
כעת ניסיתי מספר אחר נמוך בהרבה (פי עשר פחות) רק פחות עגול. וגם אולי במפתח הרנדומלי היה פשוט גבוה בהרבה.
עבור הפלט הזה
699115, 1015520, 310513, 626918, 943323, 238316, 554721, 871126, 166119, 482524, 798929, 93922, 410327, 726732, 21725
הרצתי קוד C# מקבילי (AsParallel().ForAll) על 6 ליבות של I5 11500, ניצולת של 100% מעבדים טוטלית, זה לוקח מלא מלא זמן והוא לא בכיוון.
אני הרצתי את הרצף ספרות האלו בתרד אחד והתשובה הגיעה אחרי חצי דקה.
זה הרצף:
551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565
וזה המודולו:
1021412
@dovid המחשב שלי ישן טוב בלילה, (גם אני, לכן לא ראיתי שדיברו על המחשב שלי ) אבל זה לא העניין. כי גם אם זה ייקח הרבה זמן יש לפורצים קצת יותר רעיונות משלך, יש להם מחשבים עם חומרה יקרה, ואם לא תשתמש במספרים גדולים מאוד אז במקרה הטוב ייקח להם ימים ובמקרה הגרוע חודשים (ואם זה ממש חשוב להם הם אפילו יכולים להפיץ וירוס שיריץ בדיקות עם רצפים שונים על אלפי מחשבים), אבל זה השקעה חד פעמית ובסוף הם יעלו על המפתח.
המסקנה שלי שאין עצה ואין תבונה נגד הפצחנים. הרעיון שלך הוא מצוין ל 95% מהמשתמשים, אבל בשביל ה 5% הנותרים שביניהם פצחנים מקצוענים לא יעזור שום דבר. רק שימוש עם הצפנות קונבנציונליות או התרגיל שנכתב עם מספרים גבוהים (לדעתי זה גם לא יעיל, כי לפי רצף הספרות המעורפלים אפשר להסיק כמה וכמה דברים שמאוד יעזרו לפיענוח).
@dovid אמר בתרגיל מתמטי של הסתרת מזהה רץ:
לא שיערת שום דבר, הMAX היה תמיד זהה.
איך יכולתי לדעת?! (משום מה לא הצלחתי לראות את הקוד שלך)
@dovid תצטרך למצוא פתרון חדש עבור האתר, כי אני הולך להרוס לך את הרעיון עקב הבקשה של @yossiz...
בהתאם לקריטריונים שנתנו לשאלה הכללית פה אני חושב שאין תשובה אפשרית.
אני אסביר בדיוק למה.
להלן הקריטריונים שניתנו לשאלה:
א. תרגיל מתמטי פשוט
ב. פשוט וזול למעבד (בפשטות מצריך למנוע שימוש עם BigInt)
ג. עמיד בפני פורץ מיומן
ד. הפורץ יודע את התרגיל
ה. הפורץ יכול להזין 30 כניסות ברצף
זהו, עד כאן זה כבר לא אפשרי. כל פורץ טירון יכול עם הנתונים הללו 'לכפות' את המפתח על ידי הרצה של כל המספרים האפשריים עד למציאת 'מספר הזהב' שפיענוח באמצעותו נותן רצף של מספרים עוקבים.
וזה התרגיל הפשוט שעשיתי, לאחר השערה של הטווח של ה-MAX ושל המספר המפענח. נתתי למחשב לעבוד, הוא מצא את הפתרון אחרי שניה.
@dovid הנה:
551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565
@dovid האם אלו המספרים המקוריים?
[550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564]
@dovid התכוונתי לשיטה שאתה מצאת.
@dovid אשמח אם תיתן לנו אתגר קטן. להיכנס לראש של הפורץ עם ה-30 כניסות ברצף...
תביא רצף ספרות (עוקבים, כמובן) מעורפלים, ואנחנו ננסה לעלות על המפתח לפיענוח והמודולו.
ככה נראה האם זה ניתן לפיצוח. (ודאי שזה בר פיצוח, השאלה כמה זה קשה, וכמה זמן יקח למחשב).
@ארי אין שום הגיון שתוכנה ב-32 סיביות תהיה יותר טובה מתוכנה של 64 סיביות, למעבד 64 סיביות.
אם זה יגדיל את המהירות, זה לא בטוח, אבל מה שבטוח שזה לא יאט את המהירות.
ככה לענ"ד.
@dovid אמר בתרגיל מתמטי של הסתרת מזהה רץ:
למשל הרעיון של הXOR אני לא יודע לפענח, אבל אני בטוח שהוא קל לפענוח.
פיענוח XOR נעשה על ידי פעולה נוספת של XOR.
לוקחים את המספר המקורי והמספר המוצפן, עושים תרגיל XOR על שניהם והתוצאה היא מספר ה'מפתח'.
יש דרך פשוטה ונחמדה (שאולי אתם כבר מכירים) להצפנה סימטרית בסיסית, באמצעות xor:
דוגמא קטנה:
בחרו מספר שהוא יהיה ה'מפתח', בשביל הדוגמא נבחר במספר: 613.
בחרו מספר שאותו תרצו להצפין, לצורך הדוג' ניקח את המספר 234.
עכשיו נבצע xor (במחשבון מדעי או ב'מצב מתכנת' זה הסימון ^) על שני המספרים באמצעות התרגיל:
613 ^ 234, והתוצאה היא: 655. יופי, זהו המספר המוצפן.
עכשיו כדי לפענח אותו בחזרה נעשה את אותה הפעולה שוב עם המספר המוצפן:
613 ^ 655, והתוצאה היא: 234!
בדרך הזאת אפשר להצפין מספרים וטקסטים, לא משהו מאוד מאובטח, אבל ממש נחמד. גם מי שידע באיזה דרך עשינו את ההצפנה לא יוכל לעלות על המספר המקורי מבלי שידע את המספר ה'מפתח' שאתו עשינו את ההצפנה.