بایگانی ماهیانه: اردیبهشت ۱۳۸۵

گوگل و حریم خصوصی

اگر اکانت gmail داشته باشید حتما دیدید که گوگل سعی کرده تمام خدماتش رو تا حد ممکن یکپارچه بکنه. مثلا شما میتونید برای چت از google talk استفاده کنین (که اخیرا امکان چت در محیط وب اکانت شما هم فراهم شده) در همین حال از آنچه که در اکانت ایمیل شما میگذره هم خبر داشته باشین و از خدمات دیگه گوگل از جمله جستجو استفاده کنین. در واقع یک گوگل کاملا شخصی بر مبنای اکانت ایمیل در اختیار شماست. شاید در نگاه اول این خیلی عالی به نظر بیاد اما در واقع شما دارید به راحتی تمام فعالیت های خودتون در گوگل از جمله تمام جستجو هاتون رو همراه هویت خودتون به گوگل میدین! اینکه شخص x با اکانت x@gmail.com در فلان تاریخ و ساعت با یک IP معین به گوگل وصل شده و در باره فلان موضوع جستجو کرده ٬ میتونه اطلاعات محرمانه و شخصی تلقی بشه. پس اگر به حریم خصوصی خودتون علاقه مند هستین بهتره هنگام جستجو دقت کنین که در گوشه سمت راست بالای صفحه ٬ x@gmail.com درج نشده باشه.

 

 

اشتراک گذاری

اعداد اول و سیستم های رمز

در اکثر قریب به اتفاق الگوریتمهای رمز مدرن (متقارن و نامتقارن) بر خلاف سیستمهای رمز ساده (جانشینی و جایگشتی) از اعمال ریاضی فراتر از ۴ عمل اصلی استفاده شده است. نقطه قوت و امنیت عملی این الگوریتمها دقیقاً ناشی از همین پیچیدگی محاسبات ریاضی لازم برای تحلیل کردن (شکستن) آنهاست. اساسی ترین عمل ریاضی در رمز های مدرن ، محاسبات پیمانه ای یا همنهشتی است. در اینجا هدف پرداختن به جزئیات عملیات همنهشتی (۴ عمل اصلی در یک مبنای دلخواه مثل n) نیست، فقط مایلم به نقش کلیدی و استثنایی اعداد اول در اینگونه محاسبات اشاره کنم. علم رمز مدرن بدون شک مدیون خواص بی مانند و جادویی اعداد اول است. در بسیاری از الگوریتمهای رمز مدرن از دیفی هلمن گرفته تا RSA ، Elgamal و … از اعداد اول (و یا حاصلضرب چند عدد اول) به عنوان پیمانه محاسبات تولید کلید، رمز کردن و ترجمه رمز استفاده می­شود. همین خواص است که در کنار پیچیدگی مسایلی مثل لگاریتم گسسته، فاکتورگیری و … امکان شکستن رمز را از تحلیل گر (که کلید را در اختیار ندارد) سلب می­کند. تولید اعداد اول بزرگ، بسیار مشکل است و در حالت کلی الگوریتمی برای آن وجود ندارد، اما از آن پیچیده تر، مساله فاکتورگیری است، یعنی تجزیه یک عدد بسیار بزرگ به حاصلضرب فاکتورهای اول. برای مثال، متن زیر تحت الگوریتم RSA با کلید عمومی e = 5 و عامل N (که حاصلضرب دو عدد اول مخفی است) رمز شده:

 

۲۴۳۶۸۹۵۱۸۷۷۴۰۵۲۲۱۴۹۳۰۰۸۹۵۰۶۰۳۳۹۹۸۵
۹۶۳۳۵۷۸۲۸۷۹۸۳۹۱۰۷۰۵۱۶۲۵۳۶۰۷۱۴۰۴۴۸۰
۵۵۱۱۴۹۳۲۷۷۱۲۰۱۰۲۷۳۵۰۳۲۵,۳۲۳۹۱۵۶۶۶۱۳
۳۱۸۷۷۷۷۱۷۴۶۳۳۷۴۳۳۰۷۶۶۵۷۴۱۴۹۵۱۵۸۵۱۳
۵۸۷۳۸۷۶۲۱۶۶۷۴۴۲۸۴۵۱۵۰۶۵۹۰۳۱۲۱۸۴۵۸۴
۱۷۲۴۸۲۲۲۳۶۶۷۶

 

N = 51920810450204744019132202403246112
۸۸۴۶۲۹۹۲۵۴۲۵۶۴۰۸۹۷۳۲۶۵۵۰۸۵۱۵۴۴۹۹۸۲۵۵۹۶۸
۲۳۵۶۹۷۳۳۱۴۵۵۵۴۴۲۵۷

 

کلید عمومی e و عامل N علنی و در اختیار تحلیل گر قرار دارد. با توجه به اینکه تحلیل گر کلید خصوصی را در اختیار ندارد، برای شکستن متن رمز شده باید N را فاکتورگیری کند، که این کار برای قدرتمندترین کامپیوترهای موجود هم در زمان مناسب عملاً غیر ممکن است. به همین خاطر است که RSA و بسیاری دیگر از الگوریتمها در برابر تحلیل مقاومند.

 

اشتراک گذاری