عدد اول ممنوع (انگلیسی: Illegal prime) عدد اولی است که نشان دهنده اطلاعاتی است که در دست داشتن یا پخش آن توسط قانون ممنوع شده‌است. یکی از اولین اعداد اول ممنوع در سال ۲۰۰۱ پیدا شد. وقتی این عدد به‌طور مشخصی تفسیر می‌شد، کد یک برنامهٔ کامپیوتری (به زبان C) را به وجود می‌آورد که می‌توانست قفل بعضی از DVDها را رمزگشایی کند. چون پخش کد این برنامه در آمریکا توسط قانون ممنوع شده‌است، این عدد نیز خود به نوعی ممنوع است.

تاریخچه ویرایش

شرکت‌های تولید فیلم برای اینکه کسی نتواند محصولاتشان را تکثیر کند، با برنامه‌ای به نام DVD ,CSSها را رمزنگاری می‌کردند. در سال ۱۹۹۹ برنامه‌ای به نام DeCSS به‌طور ناشناس در اینترنت پخش شد که می‌توانست این DVDها را رمزگشایی کند. بعد از مدت کمی، انجمن Motion Pictures Association of America فعالیت کرد تا از طریق قانون مانع انتشار این برنامه شود و در نتیجه هرگونه پخش این برنامه در آمریکا ممنوع شد.

ریاضیدانی به نام فیل کارمودی تلاش کرد کاری کند که کد برنامه DeCSS بایگانی شده و از بین نرود. او برای این کار از وب‌سایت Prime Pages (سایتی که در آن اعداد اول بزرگ شناخته شده نگه‌داری می‌شود) استفاده کرد. برای این که این کد در سایت Prime Pages ذخیره شود، باید به نحوی تبدیل به یک عدد اول به اندازهٔ کافی بزرگ می‌شد. در مارس ۲۰۰۱ فیل کارمودی توانست این عدد را بیابد و در این سایت به عنوان دهمین عدد بزرگ اول ذخیره کند.

پیدا کردن اولین عدد اول ممنوع ویرایش

 
کد برنامه DeCSS برای یافتن عدد اول ممنوع

کارمودی ابتدا کد برنامه DeCSS به زبان C را با استفاده از برنامه gzip (یک برنامه استاندارد در یونیکس برای فشرده‌سازی فایل‌ها) فشرده کرد و فایل فشرده شده را به مبنای ۱۰ برد. (هر فایل در کامپیوتر دنباله‌ای از ارقام ۰ و ۱ است، پس به نوعی یک عدد در مبنای ۲ است)

اگر عدد بدست آمده را K بنامیم، با استفاده از نظریه دیریکله در اعداد اول می‌دانیم تعداد اعداد اول به شکل ak+b که در آن a و b نسبت به هم اول می‌باشند بی‌شمار است.

از طرفی چون فایل‌های فشرده شده توسط gzip به کاراکتر null ختم می‌شوند و کاراکترهای بعدی (در صورت وجود) خوانده نمی‌شوند، اگر a توانی از عدد ۲۵۶ و b یک عدد کوچک‌تر از a باشد، تمامی اعداد به شکل ak+b را می‌توان باز (unzip) کرد و به فایل اصلی رسید.

با استفاده از این فرضیات، کارمودی ابتدا عدد اول k × 2562 + ۲۰۸۳ و نهایتاً k × 256211 + ۹۹ را پیدا کرد که عدد دوم به اندازهٔ کافی بزرگ بود و منظور او را برآورده می‌کرد.

جستارهای وابسته ویرایش

منابع ویرایش