דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. תרגיל מתמטי של הסתרת מזהה רץ

תרגיל מתמטי של הסתרת מזהה רץ

מתוזמן נעוץ נעול הועבר תכנות
92 פוסטים 14 כותבים 4.3k צפיות 12 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • M mekev

    @dovid
    היות ואתה לא מחפש להונות את הפורץ החפרן שתרמו לך הרבה
    אלא רק לגרום לו לחוסר ידע בפיענוח

    האם ניתן לשרשר את התאריך/שעה/דקות/שניות/מילישניות (לחלק למספרים ולעשות ++ ברמת מספר בודד)
    ואז בתוצאות יהיה רמת אי אחידות מספיק גבוהה

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

    dovidD מנותק
    dovidD מנותק
    dovid
    ניהול
    כתב ב נערך לאחרונה על ידי
    #20

    @mekev אמר בתרגיל מתמטי של הסתרת מזהה רץ:

    האם ניתן לשרשר את התאריך/שעה/דקות/שניות/מילישניות (לחלק למספרים ולעשות ++ ברמת מספר בודד)

    איך אני אשחזר את המספר המקורי?

    @mekev אמר בתרגיל מתמטי של הסתרת מזהה רץ:

    (בתרגיל מתמטי של כפל/חילוק וכו, תמיד ככל שהמספור שלך יעלה כך יהיה תוצאה בהנ"ל גבוהה יותר,

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

    • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
    • בכל נושא אפשר ליצור קשר dovid@tchumim.com
    M תגובה 1 תגובה אחרונה
    0
    • dovidD dovid

      @nigun אמר בתרגיל מתמטי של הסתרת מזהה רץ:

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

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

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

      nigunN מנותק
      nigunN מנותק
      nigun
      כתב ב נערך לאחרונה על ידי
      #21

      @dovid אמר בתרגיל מתמטי של הסתרת מזהה רץ:

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

      אפשר להגדיר את המספר הראשון כהיסט למיקום של המספרים
      זה יראה משהו כזה
      123 = 356913523479653286272326583666899739
      124 = 465661562668776693796762568882628834

      מייל: nigun@duck.com

      dovidD תגובה 1 תגובה אחרונה
      0
      • nigunN nigun

        @dovid אמר בתרגיל מתמטי של הסתרת מזהה רץ:

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

        אפשר להגדיר את המספר הראשון כהיסט למיקום של המספרים
        זה יראה משהו כזה
        123 = 356913523479653286272326583666899739
        124 = 465661562668776693796762568882628834

        dovidD מנותק
        dovidD מנותק
        dovid
        ניהול
        כתב ב נערך לאחרונה על ידי
        #22

        @nigun אתה משפר יפה את האלוגריתם על הגב של הנושא.
        אשמח לתשובה בשלה לשאלה הפשוטה הזאת:

        @dovid אמר בתרגיל מתמטי של הסתרת מזהה רץ:

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

        • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
        • בכל נושא אפשר ליצור קשר dovid@tchumim.com
        nigunN תגובה 1 תגובה אחרונה
        1
        • dovidD dovid

          @nigun אתה משפר יפה את האלוגריתם על הגב של הנושא.
          אשמח לתשובה בשלה לשאלה הפשוטה הזאת:

          @dovid אמר בתרגיל מתמטי של הסתרת מזהה רץ:

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

          nigunN מנותק
          nigunN מנותק
          nigun
          כתב ב נערך לאחרונה על ידי
          #23

          @dovid
          לא הבנתי שאתה מחפש דווקא נוסחה מתמטית
          חשבתי שאתה מחפש פתרון לחסוך גישה למסד נתונים

          מייל: nigun@duck.com

          dovidD תגובה 1 תגובה אחרונה
          0
          • dovidD dovid

            @mekev אמר בתרגיל מתמטי של הסתרת מזהה רץ:

            האם ניתן לשרשר את התאריך/שעה/דקות/שניות/מילישניות (לחלק למספרים ולעשות ++ ברמת מספר בודד)

            איך אני אשחזר את המספר המקורי?

            @mekev אמר בתרגיל מתמטי של הסתרת מזהה רץ:

            (בתרגיל מתמטי של כפל/חילוק וכו, תמיד ככל שהמספור שלך יעלה כך יהיה תוצאה בהנ"ל גבוהה יותר,

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

            M מנותק
            M מנותק
            mekev
            כתב ב נערך לאחרונה על ידי
            #24

            @dovid אמר בתרגיל מתמטי של הסתרת מזהה רץ:

            איך אני אשחזר את המספר המקורי?

            @dovid אמר בתרגיל מתמטי של הסתרת מזהה רץ:

            בעת כל ביקור בדף התרומה נרשמת שורה לטבלת ביקורים,

            עד כמה שאתה מתעד את הביקורים
            אתה בכוונה שומר את זה ללא תיעוד על התאריך כניסה?
            זה לא מהווה אינדיקציה ומקור מידע בפני עצמו לפילוח נתונים?

            וגם אם זה לא נשמר בנפרד
            אתה יכול להצמיד אותו למזהה כניסה לאחר השרשור

            רק שבשונה מסתם שרבוב תווים שאותם בכניסות רצופות ניתן בקלות להבחין ולפענח את הנותר
            כאן סה"כ המספר יותר מורכב לפעינוח

            ובסה"כ זה תרגיל מתמטי של חיבור וחיסור פשוט של מידע זמין


            מקווה שאתה אח"כ מוחק את כל השרשור
            אחרת התוקף יעשה גוגל ויגיע לפה.....

            dovidD תגובה 1 תגובה אחרונה
            0
            • M mekev

              @dovid אמר בתרגיל מתמטי של הסתרת מזהה רץ:

              איך אני אשחזר את המספר המקורי?

              @dovid אמר בתרגיל מתמטי של הסתרת מזהה רץ:

              בעת כל ביקור בדף התרומה נרשמת שורה לטבלת ביקורים,

              עד כמה שאתה מתעד את הביקורים
              אתה בכוונה שומר את זה ללא תיעוד על התאריך כניסה?
              זה לא מהווה אינדיקציה ומקור מידע בפני עצמו לפילוח נתונים?

              וגם אם זה לא נשמר בנפרד
              אתה יכול להצמיד אותו למזהה כניסה לאחר השרשור

              רק שבשונה מסתם שרבוב תווים שאותם בכניסות רצופות ניתן בקלות להבחין ולפענח את הנותר
              כאן סה"כ המספר יותר מורכב לפעינוח

              ובסה"כ זה תרגיל מתמטי של חיבור וחיסור פשוט של מידע זמין


              מקווה שאתה אח"כ מוחק את כל השרשור
              אחרת התוקף יעשה גוגל ויגיע לפה.....

              dovidD מנותק
              dovidD מנותק
              dovid
              ניהול
              כתב ב נערך לאחרונה על ידי dovid
              #25

              @mekev זה נשמר עם התאריך והכל. יש גם מזהה שלפיו אני יכול לשלוף. אבל אני מעדיף לא לגשת בכלל שוב לטבלה הזו.

              @mekev אמר בתרגיל מתמטי של הסתרת מזהה רץ:

              מקווה שאתה אח"כ מוחק את כל השרשור
              אחרת התוקף יעשה גוגל ויגיע לפה.....

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

              • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
              • בכל נושא אפשר ליצור קשר dovid@tchumim.com
              תגובה 1 תגובה אחרונה
              3
              • nigunN nigun

                @dovid
                לא הבנתי שאתה מחפש דווקא נוסחה מתמטית
                חשבתי שאתה מחפש פתרון לחסוך גישה למסד נתונים

                dovidD מנותק
                dovidD מנותק
                dovid
                ניהול
                כתב ב נערך לאחרונה על ידי dovid
                #26

                @nigun אמר בתרגיל מתמטי של הסתרת מזהה רץ:

                @dovid
                לא הבנתי שאתה מחפש דווקא נוסחה מתמטית
                חשבתי שאתה מחפש פתרון לחסוך גישה למסד נתונים

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

                • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                nigunN תגובה 1 תגובה אחרונה
                0
                • dovidD dovid

                  @nigun אמר בתרגיל מתמטי של הסתרת מזהה רץ:

                  @dovid
                  לא הבנתי שאתה מחפש דווקא נוסחה מתמטית
                  חשבתי שאתה מחפש פתרון לחסוך גישה למסד נתונים

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

                  nigunN מנותק
                  nigunN מנותק
                  nigun
                  כתב ב נערך לאחרונה על ידי nigun
                  #27

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

                  מייל: nigun@duck.com

                  dovidD תגובה 1 תגובה אחרונה
                  0
                  • nigunN nigun

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

                    dovidD מנותק
                    dovidD מנותק
                    dovid
                    ניהול
                    כתב ב נערך לאחרונה על ידי dovid
                    #28

                    @nigun ראית את ההודעה השני שלי פה בנושא? ראית את התרגיל שיש שמה? אתה לא מבין שאני שואף למשהו כ"כ כיף שכזה?
                    בקשר לרעיון שלך כתבתי מפורש שהוא יפה. הוא לא הפתיע אותי כי הוא מוכר לי, צפנים אמיתיים בעבר הסתמכו על רעיונות כאלו. אין לי מושג איך מפענחים אותם אבל מפענחים אותם בקלי קלות. למשל הרעיון של הXOR אני לא יודע לפענח, אבל אני בטוח שהוא קל לפענוח.
                    אתה אומר שעדיף להשתמש בהצפנה ולא להמציא את הגלגל, אני מסכים לגמרי! רק ש:
                    א. להשתמש בהצפנה במקרה שלי זה רע. זה עבודה למחשב על לא דבר, כדאי לו כבר לשלוף מהמסד רק במקרה תרומה (זה מה שכעת אני עושה) מאשר להצפין בשלוש מאות ביקורי סרק של בוטים.
                    ב. אני לא רציתי להמציא את הגלגל, אני הייתי בטוח שיש דרך מסודרת למה שאני מבקש, ואני עדיין בטוח. ולכן שאלתי אולי מישהו פה מכיר, אבל אתה ברוחת להצפנות דומות ופחות יעילות מהסוגים שכתבתי עליהם מפורש בשאלה.

                    • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                    • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                    קומפיונטק תגובה 1 תגובה אחרונה
                    0
                    • dovidD dovid

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

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

                      Men770M מנותק
                      Men770M מנותק
                      Men770
                      כתב ב נערך לאחרונה על ידי
                      #29

                      @dovid אמר בתרגיל מתמטי של הסתרת מזהה רץ:

                      תוסיף 14 ותחלק לחמש ותוסיף את השארית

                      ברגע שהוספת את השארית, זה לא הפיך.


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

                      יחי אדוננו מורנו ורבינו מלך המשיח לעולם ועד!

                      Y.Excel.AccessY תגובה 1 תגובה אחרונה
                      0
                      • Men770M Men770

                        @dovid אמר בתרגיל מתמטי של הסתרת מזהה רץ:

                        תוסיף 14 ותחלק לחמש ותוסיף את השארית

                        ברגע שהוספת את השארית, זה לא הפיך.


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

                        Y.Excel.AccessY מנותק
                        Y.Excel.AccessY מנותק
                        Y.Excel.Access
                        כתב ב נערך לאחרונה על ידי Y.Excel.Access
                        #30

                        @Men770 אמר בתרגיל מתמטי של הסתרת מזהה רץ:

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

                        מוסיף עוד נקודה - אפשר להוסיף עירפול על זה לפי שניות + תאריך. לדוגמא כל שניה ביום יהיה לה מספר רנדומלי (ולמקילים - מספר הקשור לספרה/דקה/שעה שלה כדי למהר את החישוב) שיוכפל / יחוסר / יחובר בו, עם עוד חישוב הקשור למספר התאריך.

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

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

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

                        Y.Excel.Access @ gmail.com

                        dovidD תגובה 1 תגובה אחרונה
                        1
                        • Y.Excel.AccessY Y.Excel.Access

                          @Men770 אמר בתרגיל מתמטי של הסתרת מזהה רץ:

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

                          מוסיף עוד נקודה - אפשר להוסיף עירפול על זה לפי שניות + תאריך. לדוגמא כל שניה ביום יהיה לה מספר רנדומלי (ולמקילים - מספר הקשור לספרה/דקה/שעה שלה כדי למהר את החישוב) שיוכפל / יחוסר / יחובר בו, עם עוד חישוב הקשור למספר התאריך.

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

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

                          • נ.ב. אני מכיר מתכנת שעשה קוד לכניסה עבור תוכנה בתשלום - כל נסיון כניסה התוכנה מביאה קוד מספרי ארוך ומצפה לקוד חוזר. והקוד החוזר הוא תוצאה של חישוב מסובך בקוד הראשון.
                          dovidD מנותק
                          dovidD מנותק
                          dovid
                          ניהול
                          כתב ב נערך לאחרונה על ידי dovid
                          #31

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

                          אני הולך לכתוב פה בחוסר התלהבות את הפתרון, שכבר כתבתי עליו בהודעה השניה אבל אז לא הבנתי איך הוא עובד.
                          ב"ה כעת הבנתי ואני הולך להשתמש בו.

                          להלן המ"מ שעזרו לי:
                          https://stackoverflow.com/a/8555047
                          https://ericlippert.com/2013/11/14/a-practical-use-of-multiplicative-inverses/
                          https://jmcphers.github.io/techniques/2015/08/20/id-obfuscation.html

                          אז ככה, מגדירים 3 מספרים קבועים חד פעמית:
                          א. מספר מקסימום שודאי לא נעבור בשום שלב, למשל אם מדובר בביקורים, נחליט על 10 מליארד.
                          ב. מספר כל שהוא שניתן לבחור אקראית, שהוא קטן מהמקסימום ושהוא גם מספר זר למספר המקסימום (אפשר פשוט לנסות בכלי בסעיף ג', אם יש תוצאה תקינה אז זה מספר זר).
                          ג. מוצאים את הModular multiplicative inverse של ב', על ידי כלי כמו זה https://www.dcode.fr/modular-inverse (שמים את המספר של ב', ובמודלו שמים את המקסימום מא').

                          אחרי שיש לנו את שלושת המספרים הללו, נקרא להם בשמות MAX, A, B.
                          בשביל להסתיר את המספר פשוט נביא את השארית של חלוקת הA * המספר, בMAX:

                          mask = number * A % MAX;
                          

                          בשביל לפענח נעשה משהו דומה:

                          original = mask * B % MAX;
                          

                          המחשה של הפעולה:
                          https://replit.com/@davidlevtov/EnormousJoyousDesign#index.js

                          הקידוד וגם הפיענוח נעשים ע"י שני פעולות אריתמטיות פשוטות.
                          ולמי שיש חלום לנוסחה שמתקרבת לקרסולי קרסוליים של המהירות של זה,
                          הוא מוזמן לבדוק פה את פתרונו
                          https://jsben.ch/SA0T6
                          שמתי בתור "תופס מקום" אלגוריתם שלא עושה כלום אבל משרשר טקסט למספר ובהמרה מחזיר למספר.

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

                          • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                          • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                          WWWW תגובה 1 תגובה אחרונה
                          8
                          • dovidD dovid

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

                            אני הולך לכתוב פה בחוסר התלהבות את הפתרון, שכבר כתבתי עליו בהודעה השניה אבל אז לא הבנתי איך הוא עובד.
                            ב"ה כעת הבנתי ואני הולך להשתמש בו.

                            להלן המ"מ שעזרו לי:
                            https://stackoverflow.com/a/8555047
                            https://ericlippert.com/2013/11/14/a-practical-use-of-multiplicative-inverses/
                            https://jmcphers.github.io/techniques/2015/08/20/id-obfuscation.html

                            אז ככה, מגדירים 3 מספרים קבועים חד פעמית:
                            א. מספר מקסימום שודאי לא נעבור בשום שלב, למשל אם מדובר בביקורים, נחליט על 10 מליארד.
                            ב. מספר כל שהוא שניתן לבחור אקראית, שהוא קטן מהמקסימום ושהוא גם מספר זר למספר המקסימום (אפשר פשוט לנסות בכלי בסעיף ג', אם יש תוצאה תקינה אז זה מספר זר).
                            ג. מוצאים את הModular multiplicative inverse של ב', על ידי כלי כמו זה https://www.dcode.fr/modular-inverse (שמים את המספר של ב', ובמודלו שמים את המקסימום מא').

                            אחרי שיש לנו את שלושת המספרים הללו, נקרא להם בשמות MAX, A, B.
                            בשביל להסתיר את המספר פשוט נביא את השארית של חלוקת הA * המספר, בMAX:

                            mask = number * A % MAX;
                            

                            בשביל לפענח נעשה משהו דומה:

                            original = mask * B % MAX;
                            

                            המחשה של הפעולה:
                            https://replit.com/@davidlevtov/EnormousJoyousDesign#index.js

                            הקידוד וגם הפיענוח נעשים ע"י שני פעולות אריתמטיות פשוטות.
                            ולמי שיש חלום לנוסחה שמתקרבת לקרסולי קרסוליים של המהירות של זה,
                            הוא מוזמן לבדוק פה את פתרונו
                            https://jsben.ch/SA0T6
                            שמתי בתור "תופס מקום" אלגוריתם שלא עושה כלום אבל משרשר טקסט למספר ובהמרה מחזיר למספר.

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

                            WWWW מנותק
                            WWWW מנותק
                            WWW
                            כתב ב נערך לאחרונה על ידי
                            #32

                            @dovid אמר בתרגיל מתמטי של הסתרת מזהה רץ:

                            המחשה של הפעולה:
                            https://replit.com/@davidlevtov/example-obfuscating-ids#index.js

                            אין לך שם טעות?
                            זה הפלט:

                            { aNumber: 747346087, bNumber: 453920023 }
                            [
                              300, 301, 302, 303,
                              304, 305, 306, 307,
                              308, 309, 310, 311,
                              312, 313, 314
                            ]
                            [
                              203826100, 951172187,
                              698518274, 445864361,
                              193210448, 940556535,
                              687902622, 435248709,
                              182594796, 929940883,
                              677286970, 424633057,
                              171979144, 919325231,
                              666671318
                            ]
                            [
                              304, 320, 320, 288,
                              304, 320, 320, 320,
                              304, 320, 320, 320,
                              320, 320, 320
                            ]
                            

                            המערך השלישי לא אמור להיות שווה לראשון?

                            WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                            dovidD תגובה 1 תגובה אחרונה
                            2
                            • WWWW WWW

                              @dovid אמר בתרגיל מתמטי של הסתרת מזהה רץ:

                              המחשה של הפעולה:
                              https://replit.com/@davidlevtov/example-obfuscating-ids#index.js

                              אין לך שם טעות?
                              זה הפלט:

                              { aNumber: 747346087, bNumber: 453920023 }
                              [
                                300, 301, 302, 303,
                                304, 305, 306, 307,
                                308, 309, 310, 311,
                                312, 313, 314
                              ]
                              [
                                203826100, 951172187,
                                698518274, 445864361,
                                193210448, 940556535,
                                687902622, 435248709,
                                182594796, 929940883,
                                677286970, 424633057,
                                171979144, 919325231,
                                666671318
                              ]
                              [
                                304, 320, 320, 288,
                                304, 320, 320, 320,
                                304, 320, 320, 320,
                                320, 320, 320
                              ]
                              

                              המערך השלישי לא אמור להיות שווה לראשון?

                              dovidD מנותק
                              dovidD מנותק
                              dovid
                              ניהול
                              כתב ב נערך לאחרונה על ידי dovid
                              #33

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

                              • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                              • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                              dovidD צדיק תמיםצ 2 תגובות תגובה אחרונה
                              2
                              • dovidD dovid

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

                                dovidD מנותק
                                dovidD מנותק
                                dovid
                                ניהול
                                כתב ב נערך לאחרונה על ידי dovid
                                #34

                                יש לציין בגלל הערתו ש @WWW שכשנדרשים לעבוד עם מספרים גדולים
                                אז צריך לעבוד עם BigInt שאיטי בהרבה:
                                https://jsben.ch/CneOB
                                אבל אני עדיין מזמין לאתגר את המעוניינים להציע אלגוריתם חילופי.

                                • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                                • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                                תגובה 1 תגובה אחרונה
                                0
                                • dovidD dovid

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

                                  צדיק תמיםצ מנותק
                                  צדיק תמיםצ מנותק
                                  צדיק תמים
                                  כתב ב נערך לאחרונה על ידי
                                  #35

                                  @dovid אמר בתרגיל מתמטי של הסתרת מזהה רץ:

                                  הבעיה היא בגלל ההנתהגות של JS כשיש גלישה אריתמטית.

                                  תוכל לפרט יותר? תודה.

                                  Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
                                  טיפים

                                  dovidD תגובה 1 תגובה אחרונה
                                  0
                                  • צדיק תמיםצ צדיק תמים

                                    @dovid אמר בתרגיל מתמטי של הסתרת מזהה רץ:

                                    הבעיה היא בגלל ההנתהגות של JS כשיש גלישה אריתמטית.

                                    תוכל לפרט יותר? תודה.

                                    dovidD מנותק
                                    dovidD מנותק
                                    dovid
                                    ניהול
                                    כתב ב נערך לאחרונה על ידי dovid
                                    #36

                                    @צדיק-תמים אמר בתרגיל מתמטי של הסתרת מזהה רץ:

                                    @dovid אמר בתרגיל מתמטי של הסתרת מזהה רץ:

                                    הבעיה היא בגלל ההנתהגות של JS כשיש גלישה אריתמטית.

                                    תוכל לפרט יותר? תודה.

                                    בשלב השני, כלומר בפיענוח, המספרים גבוהים מאוד.
                                    הרשימה המוצפנת מכילה למשל באיבר השני את המספר 951172187, אותו מכפילים כפול bNumber שערכו בדוגמה של @WWW הוא 453920023.
                                    951172187*453920023 יוצא באקסל 431756101000000000, אולם בקונסול הוא יוצא 431756101000000300, בגלל שזה גודל מספר שחורג בהרבה מקיבולת הביטים המוקצים לטיפוס הנתונים של מספר בjavascript (שזה 53, לא כולל עוד כמה לסימון שלילי/חיובי וחזקות).
                                    המקסימום המספרי שעובד כצפוי בJS זה הערך בקבוע Number.MAX_SAFE_INTEGER = 9007199254740991 (זה המון...).

                                    באמת במקרה הזה די להשתמש בBigInt רק בפיענוח.

                                    • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                                    • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                                    תגובה 1 תגובה אחרונה
                                    4
                                    • dovidD dovid

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

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

                                      chvC מנותק
                                      chvC מנותק
                                      chv
                                      כתב ב נערך לאחרונה על ידי
                                      #37

                                      @dovid אולי אני מבלבל את המוח.
                                      אבל קראתי עכשיו את כל השרשור וניכר שלא ברור ככ לאנשים מה אתה רוצה.
                                      עד כמה שאני הבנתי ממה שכתבת, היית צריך לכתוב כותרת פשוטה של 'אני צריך הצפנה, (סימטרית), אבל מאוד פשוטה וקלה על המעבד'.

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

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

                                      בלוג | מייל

                                      dovidD 2 תגובות תגובה אחרונה
                                      3
                                      • chvC chv

                                        @dovid אולי אני מבלבל את המוח.
                                        אבל קראתי עכשיו את כל השרשור וניכר שלא ברור ככ לאנשים מה אתה רוצה.
                                        עד כמה שאני הבנתי ממה שכתבת, היית צריך לכתוב כותרת פשוטה של 'אני צריך הצפנה, (סימטרית), אבל מאוד פשוטה וקלה על המעבד'.

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

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

                                        dovidD מנותק
                                        dovidD מנותק
                                        dovid
                                        ניהול
                                        כתב ב נערך לאחרונה על ידי dovid
                                        #38

                                        @chv קראת טוב טוב את השאלה? ניכר שלא.
                                        גם הטענה שלך עם הצעת הכותרת החילופית, וגם ההצעה שלך למזהה גלובלי לא רלוונטיים אם תקרא טוב את השאלה.

                                        • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                                        • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                                        chvC תגובה 1 תגובה אחרונה
                                        0
                                        • chvC chv

                                          @dovid אולי אני מבלבל את המוח.
                                          אבל קראתי עכשיו את כל השרשור וניכר שלא ברור ככ לאנשים מה אתה רוצה.
                                          עד כמה שאני הבנתי ממה שכתבת, היית צריך לכתוב כותרת פשוטה של 'אני צריך הצפנה, (סימטרית), אבל מאוד פשוטה וקלה על המעבד'.

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

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

                                          dovidD מנותק
                                          dovidD מנותק
                                          dovid
                                          ניהול
                                          כתב ב נערך לאחרונה על ידי dovid
                                          #39

                                          @chv אמר בתרגיל מתמטי של הסתרת מזהה רץ:

                                          'אני צריך הצפנה, (סימטרית), אבל מאוד פשוטה וקלה על המעבד'

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

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

                                          • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                                          • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                                          תגובה 1 תגובה אחרונה
                                          3
                                          תגובה
                                          • תגובה כנושא
                                          התחברו כדי לפרסם תגובה
                                          • מהישן לחדש
                                          • מהחדש לישן
                                          • הכי הרבה הצבעות


                                          • 1
                                          • 2
                                          • 3
                                          • 4
                                          • 5
                                          בא תתחבר לדף היומי!
                                          • התחברות

                                          • אין לך חשבון עדיין? הרשמה

                                          • התחברו או הירשמו כדי לחפש.
                                          • פוסט ראשון
                                            פוסט אחרון
                                          0
                                          • דף הבית
                                          • קטגוריות
                                          • פוסטים אחרונים
                                          • משתמשים
                                          • חיפוש
                                          • חוקי הפורום