מספר ראשוני בלתי חוקי
פעולות נוספות
מספר ראשוני בלתי חוקי הוא מספר ראשוני אשר מייצג מידע שהחזקתו או הפצתו אסורה לפי חוק בתחום שיפוט מסוים[1]. המושג נוצר בראשית שנות ה-2000 כצעד מחאה נגד חוקי זכויות יוצרים, במטרה להמחיש את האבסורד שבהוצאתם מחוץ לחוק של אובייקטים מתמטיים.
רקע עריכה
כל מידע דיגיטלי, בין אם הוא טקסט, תמונה או תוכנת מחשב, מיוצג כרצף סיביות (אפסים ואחדים). מכיוון שכל רצף סיביות ניתן לפרש כמספר טבעי יחיד וגדול, המשמעות היא שלכל קובץ קיים מספר המייצג אותו. בנוסף, בשל האפשרות להוסיף לקבצים נתונים חסרי משמעות ("ריפוד" או Padding) שאינם משפיעים על הפענוח שלהם, קיימים אינסוף מספרים שונים היכולים לייצג את אותו המידע בדיוק.
בסוף שנות ה-90 ותחילת שנות ה-2000, חקיקה מודרנית (כגון חוק ה-DMCA בארצות הברית) אסרה על הפצה של מידע מסוים, למשל קוד מחשב שנועד לעקוף מנגנוני הגנה של זכויות יוצרים. שילוב שני היבטים אלו: העובדה שקובץ שמכיל קוד של תוכנה יכול להיות מיוצג כמספר, והעובדה שהפצת התוכנה אסורה, הובילו לפרדוקס פילוסופי ומשפטי: האם ייתכן שמספר, שהוא בסך הכל עובדה מתמטית, ייחשב כבלתי חוקי להפצה?
הוויכוח נשען על המתח שבין חוקי הגנת זכויות יוצרים לבין חופש הביטוי המוגן תחת התיקון הראשון לחוקת ארצות הברית. במסגרת הליכים משפטיים כגון פרשת ״Universal v. Reimerdes״[2], עלתה השאלה האם קוד מחשב נחשב ל"ביטוי" (Speech). בתי המשפט הכירו בכך שקוד מקור הוא צורת ביטוי המעבירה רעיונות בין מתכנתים, אך קבעו כי ניתן להגבילו בשל "המרכיב הפונקציונלי" שבו בשל יכולתו להוציא אל הפועל פעולות המפרות חוק[3].
הדוגמה של DeCSS עריכה
בשנת 1999 פותחה תוכנת DeCSS (אנ') שאיפשרה לעקוף את מנגנון ההצפנה של תקליטורי DVD. בעקבות זאת, החל גל תביעות בארצות הברית שמטרתו הייתה לאסור את הפצת קוד המקור של התוכנה.
כמחאה על ניסיונות הצנזורה, במרץ 2001 פרסם פיל קרמודי (Phil Carmody) מספר ראשוני גדול מאוד, אשר הייצוג הבינארי שלו הוא למעשה קובץ דחוס (בפורמט gzip) המכיל את קוד המקור של תוכנית ה-DeCSS. באותה תקופה, הפצת הקוד נחשבה בארצות הברית להפרת חוק, ולכן הפצת המספר עצמו נחשבה לכאורה כפעולה בלתי חוקית.
מטרתו של קרמודי הייתה לאלץ מאגרי מידע מתמטיים מכובדים (כמו אתר Prime Pages, שמתעד את המספרים הראשוניים הגדולים ביותר הידועים לאדם) לפרסם את המספר בשל ייחודו המתמטי בלבד, ובכך לעורר דיון ציבורי. המספר הראשון שמצא קרמודי היה בן 1,401 ספרות, אולם הוא לא היה גדול מספיק כדי להיכנס לרשימת עשרים הראשוניים הגדולים בארכיון. לפיכך, הוא יצר מספר נוסף בן 1,905 ספרות, שהבטיח את כניסתו למאגר כמספר העשירי בגודלו לאותה תקופה.
בעוד שקוד תוכנה נתפס ככלי טכני, מספר עשרוני נתפס כמידע טהור. הפיכת הקוד למספר אילצה את מערכת המשפט להתמודד עם השאלה היכן מסתיים ה"מכשיר" ומתחיל ה"מידע"[4].
כחלק מפעולת המחאה, קוד ה-DeCSS עצמו הופץ באמצעים בלתי שגרתיים, כגון הדפסתו על חולצות טריקו, כדי לאתגר את החוק (האם לבישת חולצה מהווה עבירה על חוק ההפצה?). בעקבות גילוי המספר הראשוני, הודפסו והופצו חולצות שעליהן הופיע גם המספר עצמו[5][6].
שיטת הבנייה עריכה
על מנת לבנות מספר ראשוני המייצג מידע נתון, נעשה שימוש בשילוב בין שיטות קידוד מידע לבין כלים מתורת המספרים:
- דוחסים את הקוד המקורי בעזרת תוכנת כיווץ gzip שבסיומה מציבה תווי סיום שהם אפסים (Null-terminated).
- ניצול מאפייני הפורמט: תוכנת החילוץ (ההפך מכיווץ} מתוכננת כך שהיא מתעלמת מנתונים שמופיעים לאחר תווי הסיום של הקובץ. עובדה זו אפשרה לקרמודי להוסיף "ריפוד" של ספרות בסוף הקובץ מבלי להרוס את התוכן שיחולץ ממנו.
- מציאת הראשוני: המספר מיוצג במבנה אריתמטי מהצורה ( N=b + k⋅256^n ), כאשר k הוא המספר שמקודד את הקובץ, ו-b נבחר כך שהמספר המתקבל יהיה ראשוני[1]. כלומר "מזיזים שמאלה" את המספר (הקוד המכווץ) ומוסיפים ספרות מימין. כאשר מתרגמים את המספר הסופי בחזרה לבינארי ומחלצים אותו בעזרת תוכנת פתיחת כיווץ, שורות הקוד יחולצו בשלמותן.
שימוש באלגוריתם ECPP עריכה
האתגר המרכזי בבניית מספר ראשוני בלתי חוקי אינו רק איתור מספר שעשוי להיות ראשוני, אלא הוכחה מתמטית ודאית לכך שהוא אכן ראשוני - דרישת חובה כדי שהמספר יתקבל למאגרי מידע מתמטיים.
לשם כך נעשה שימוש באלגוריתמים מתקדמים לבדיקת ראשוניות, ובראשם אלגוריתם Elliptic curve primality (אנ'). אלגוריתם זה מבוסס על עקומים אליפטיים ומאפשר לא רק לאשר אם מספר הוא ראשוני, אלא גם להפיק "תעודת ראשוניות" (Primality certificate) הניתנת לאימות על ידי כל מתמטיקאי או מחשב אחר.
במקרה של המספר שפרסם קרמודי, נעשה שימוש באלגוריתם מסוג זה כדי לאשר שהמספר שנבנה, אשר כולל את קוד ה־DeCSS, הוא אכן מספר ראשוני[1].
קישורים חיצוניים עריכה
- גדי אלכסנדרוביץ', ראשוני מחוץ לחוק בבלוג "לא מדויק"
- Thomas C. Greene, DVD descrambler encoded in 'illegal' prime number, The Register, March 19, 2001
הערות שוליים עריכה
- ^ 1 2 3 The world's first illegal prime number?
- ^ Universal City Studios, Inc. v. Reimerdes, 111 F. Supp. 2d 294 (S.D.N.Y. 2000). קישור לפסק הדין ב-Google Scholar
- ^ Junger v. Daley, 209 F.3d 481 (6th Cir. 2000). קישור לפסק הדין ב-FindLaw
- ^ David S. Touretzky, Gallery of Helpfully Concise DeCSS Programsֿ באתר Carnegie Mellon University
- ^ Has the DVD-hacking case made a t-shirt illegal?, אתר cnn, 8 בספטמבר 2000
- ^ Illegal Prime T-Shirt