-
ما به یک روند عددی نیاز داریم که
-
از یک طرف راحت
-
و از طرف دیگر سخت است.
-
همین ما را با حسابهای مدولار،
-
شناخته شده به حسابهای ساعتی روبرو می کند
-
مثلا، برای پیدا کردنباقیمانده ی تقسیم
-
۴۶ بر ۱۲، طنابی به اندازه ۴۶ بر میداریم
-
و آن را دور ساعتی با ۱۲ عدد
-
که مدل نامیده می شود می پیچیم
-
جایی که طناب تمام میشود جواب مسئله است
-
پس میگوییم
-
باقیمانده ۴۶ بر ۱۲ برابر است با ۱۰
-
بسیار راحت. حالا، برای اینکه این کار کند،
-
مدلی که عدد اول باشد،
-
مانند ۱۷، را استفاده میکنیم
-
سپس یک ریشه اولیه آن را،
-
در این مورد ۳، پیدا میکنیم
-
که این ویژگی مهم را دارد
-
که هنگامی که به توان برسد
-
جواب به طور یکنواخت دور ساعت توزیع میشود
-
۳ به عنوان ژنراتور شناخته شده است،
-
اگر ۳ را به توان هر x برسانیم
-
جواب با احتمالهای مساوی میتواند
-
بین ۰ تا ۱۷ باشد.
-
حالا، روند برعکس این سخت است.
-
مثلا، با داشتن عدد ۱۲، عددی که ۳ باید
-
به توان آن برسد را پیدا کنید
-
این لگاریتم گسسته نام دارد
-
حالا ما تابع یک طرفه را داریم
-
راحت در اجرا و سخت در برعکس کردن
-
با داشتن ۱۲، باید یا آزمون و خطا
-
توان مناسب را پیدا کنیم
-
این چقدر سخت است؟
-
با اعداد کوچک سخت نیست
-
اما اگر عدد اول ما هزاران رقم باشد
-
حل آن غیرعملی می شود
-
حتی اگر به تمام قدرتهای کامپیوتری
-
روی زمین دسترسی داشتید،
-
این میتوانست صدها سال طول بکشد
-
تا تمام احتمالات بررسی شود
-
پس، قدرت یک تابع یکطرفه به زمانی است
-
که برای عکس کردن آن لازم است.