مباحث جذاب رمزنگاری!

  • شروع کننده موضوع
  • #161

tiberium

کاربر فوق‌حرفه‌ای
ارسال‌ها
1,057
امتیاز
1,052
نام مرکز سمپاد
شهید بهشتی سمنان
شهر
سمنان
سال فارغ التحصیلی
1389
مدال المپیاد
المپیاد کامپیوتر
دانشگاه
صنعتی شریف
رشته دانشگاه
مهندسی فن آوری اطلاعات
چرا تنبل شدید دوستان:))) فکر کنید و ایده بزنید تاپیک نخوابه و خاک نخوره:D مباحث پر کاربردی هستن ررای اونایی که می خوان بیان علوم کامپیوتر و رمز
 

Moshk

کاربر فوق‌حرفه‌ای
ارسال‌ها
1,141
امتیاز
2,882
نام مرکز سمپاد
شهید بهشتی 1
شهر
ساری
سال فارغ التحصیلی
1397
کلیت قضیه اون x+y=7 هم دقیقا اینه که یه ایکسی میدونم میخوام ثابت کنم میدونم!
پس کافیه رو دو فکر کنیم
این احساس میکنم باید اینجوری باشه که مثل اون حرکت فرد کور و دوتا ماژیک، بی نهایت بار یه الگوریتمی رخ بده که تهش اون فرد به این برسه که من واقعا یه عدد خاص میدونم!
منطقا هم باید اون یه متغیر تصادفی داشته باشه. (مثل اینکه با کدوم ماژیک علامت بزنه)
یخورده فکر میکنم به چیز دقیقی رسیدم اعلام میکنم

این پست صرفا در راستای این بود که تنبل نشدیم ((:
 
  • شروع کننده موضوع
  • #163

tiberium

کاربر فوق‌حرفه‌ای
ارسال‌ها
1,057
امتیاز
1,052
نام مرکز سمپاد
شهید بهشتی سمنان
شهر
سمنان
سال فارغ التحصیلی
1389
مدال المپیاد
المپیاد کامپیوتر
دانشگاه
صنعتی شریف
رشته دانشگاه
مهندسی فن آوری اطلاعات
بچه ها نتیجه گیری ای که تهش می کنیم یه مقاله ی فوق علمیه سنگینه! که بچه ها تو دکترا و یا اواخر فوق شاید بخونن.
هدفم اینه که با تیکه تیکه کردن بتونین اینو هضمش کنیم! خیلی کاربرد های پیچیده ای هم داره

ببین این دو تا مساله یکی نیستن. برای حله دو متغیره به یه متغیره نیاز داریم. ولی مفهوم دو متغیره ساده تره.
 
  • لایک
امتیازات: lys
  • شروع کننده موضوع
  • #164

tiberium

کاربر فوق‌حرفه‌ای
ارسال‌ها
1,057
امتیاز
1,052
نام مرکز سمپاد
شهید بهشتی سمنان
شهر
سمنان
سال فارغ التحصیلی
1389
مدال المپیاد
المپیاد کامپیوتر
دانشگاه
صنعتی شریف
رشته دانشگاه
مهندسی فن آوری اطلاعات
بچه ها اینجا خاک خورده ها! سوال بعدی. یه نفر ادعا می کنه یه لیستی داره شامل 1000000 عدد که هر کدوم بین 1 تا 10 هست.
شما می خواید با تقریب 99% مطمعن بشید که داره راست میگه.
ایده اولی اینه که یک سری نمونه ببینید از لیست. اگر شما 2 عدد از لیست رو ببینید قطعا نمیتونید با این تقریب مطمعن باشید که همه عددا بین 1 تا 10 هستن.!!! کسی ایده ای داره که با 2 تا query زدن چطور بتونیم مطمئن بشیم با احتمال 99% که همه عدداش بین 1 تا 10 هستن.

سوال سختیه خیلی. فکر کنید. جزو جدیدترین مباحث رمزنگاری الانه
 

Iman Rage

کاربر فوق‌حرفه‌ای
ارسال‌ها
608
امتیاز
17,731
نام مرکز سمپاد
نه اینور نه اونور
شهر
.
سال فارغ التحصیلی
1394
میانگین و واریانس رو بپرسیم کارمون راه نمیفته؟
 
  • شروع کننده موضوع
  • #166

tiberium

کاربر فوق‌حرفه‌ای
ارسال‌ها
1,057
امتیاز
1,052
نام مرکز سمپاد
شهید بهشتی سمنان
شهر
سمنان
سال فارغ التحصیلی
1389
مدال المپیاد
المپیاد کامپیوتر
دانشگاه
صنعتی شریف
رشته دانشگاه
مهندسی فن آوری اطلاعات
اخه شاید رو هوا بگه. چطوره میتونی اعتناد کنی ؟ اینجا نمیتونه حتی رو هوا بگه. لو میره
 

Iman Rage

کاربر فوق‌حرفه‌ای
ارسال‌ها
608
امتیاز
17,731
نام مرکز سمپاد
نه اینور نه اونور
شهر
.
سال فارغ التحصیلی
1394
تو این راه حلی که پیشنهاد میشه دوباره همه چیز شفاف است؟یعنی طرف مقابل میدونه قصد شما از سوال پرسیدن چیه؟
 
  • شروع کننده موضوع
  • #168

tiberium

کاربر فوق‌حرفه‌ای
ارسال‌ها
1,057
امتیاز
1,052
نام مرکز سمپاد
شهید بهشتی سمنان
شهر
سمنان
سال فارغ التحصیلی
1389
مدال المپیاد
المپیاد کامپیوتر
دانشگاه
صنعتی شریف
رشته دانشگاه
مهندسی فن آوری اطلاعات
طرف خودش علاقه داره به ما کمک کنه این به ما اثبات بشه. بدون اینکه کل داده هارو بفرسته. پس اره هدف معلومه. می خوایم تقلبم نتونه بکنه
 

Iman Rage

کاربر فوق‌حرفه‌ای
ارسال‌ها
608
امتیاز
17,731
نام مرکز سمپاد
نه اینور نه اونور
شهر
.
سال فارغ التحصیلی
1394
چه سوال جالبی باید نحوه استفاده از اطلاعات را فقط ما بدونیم.پس از سنت ما باید یک متغیر رندوم تولید شه با سوال قاطی شه.بحث این هست که طرف اگه یک درایه ازش بخوایم ممکنه دروغ بگه. ولی قبول دارید که اگه مجموعه کل اعداد رو به صورت فرصی در نظر بگیره(مثلا تو ذهنش بگه همش 5 هست) هیچ راهی واسه اینکه بفهمیم دروغ میگه یا نه نداریم.اینکه چه سوالاتی بپرسیم که همه مجموعه اعداد را در برگیرد سوال سخت و جالبی است چرا که باید رمز شده هم باشد
 
  • شروع کننده موضوع
  • #170

tiberium

کاربر فوق‌حرفه‌ای
ارسال‌ها
1,057
امتیاز
1,052
نام مرکز سمپاد
شهید بهشتی سمنان
شهر
سمنان
سال فارغ التحصیلی
1389
مدال المپیاد
المپیاد کامپیوتر
دانشگاه
صنعتی شریف
رشته دانشگاه
مهندسی فن آوری اطلاعات
آها. خب ببین دو بزار آروم آروم پیش بریم.

یه سوالی که قبلا هم بود. فرض کن x+y=7 . تو می خوای به یکی اثبات کنی یه جواب از این رابطه میدونی ولی نمی خوای جواب رو بگی. چی کار می کنی؟ ( از مساله لگاریتم گسسته استفاده کن )
 

Iman Rage

کاربر فوق‌حرفه‌ای
ارسال‌ها
608
امتیاز
17,731
نام مرکز سمپاد
نه اینور نه اونور
شهر
.
سال فارغ التحصیلی
1394
خب حالا لگاریتم گسسته چی بود؟:D
 
  • شروع کننده موضوع
  • #172

tiberium

کاربر فوق‌حرفه‌ای
ارسال‌ها
1,057
امتیاز
1,052
نام مرکز سمپاد
شهید بهشتی سمنان
شهر
سمنان
سال فارغ التحصیلی
1389
مدال المپیاد
المپیاد کامپیوتر
دانشگاه
صنعتی شریف
رشته دانشگاه
مهندسی فن آوری اطلاعات
بچه ها اینجا خاک خورده ها! سوال بعدی. یه نفر ادعا می کنه یه لیستی داره شامل 1000000 عدد که هر کدوم بین 1 تا 10 هست.
شما می خواید با تقریب 99% مطمعن بشید که داره راست میگه.
ایده اولی اینه که یک سری نمونه ببینید از لیست. اگر شما 2 عدد از لیست رو ببینید قطعا نمیتونید با این تقریب مطمعن باشید که همه عددا بین 1 تا 10 هستن.!!! کسی ایده ای داره که با 2 تا query زدن چطور بتونیم مطمئن بشیم با احتمال 99% که همه عدداش بین 1 تا 10 هستن.

سوال سختیه خیلی. فکر کنید. جزو جدیدترین مباحث رمزنگاری الانه

حالا فرض کنید من یه اینترپلیشن از بین این 1 میلیون عدد بگیرم . و اسم تابعم رو f میزارم.

بچه ها بیاید روی این موضوع یکم پیش بریم.
یه اصلی توی ریاضی وجود داره به اسم لم شوارتز-زیپل
و خیلی هم بدیهیه. چیزی که میگه اینه که اگر دو تا چند جمله ای از درجه d داشته باشیم که متفاوت باشن با هم اینها نهایتن توی d نقطه هم رو قطع می کنن.
حالا من میام دو تا تابع تعریف می کنم .
C(X) = x * (x-1) * x-2 * x-3 * ... * x-10
D(x) = x* x-1 * ... * x-1000000
ادعایی که داره میشه اینه که C(f(x)) be ازای ایکس های بین 1 تا 1 میلیون میشه 0.
اینو کسی میتونه ادامه بده ؟ یه سری باگ اینا وجود خواهد داشت که رد می کنیم آروم آروم .
 

MahanGh

کاربر نیمه‌فعال
ارسال‌ها
7
امتیاز
23
نام مرکز سمپاد
علامه حلی
شهر
تهران
سال فارغ التحصیلی
1402
ازش میخوام که اسم رنگهایی که بلد هست رو بگه و اینجوری به آبی و قرمز میرسه
 

HeiSenberG

کاربر حرفه‌ای
ارسال‌ها
339
امتیاز
2,063
نام مرکز سمپاد
شهید بهشتی
شهر
خرم آباد
سال فارغ التحصیلی
1399
خب دوستان. از اونجایی که من کل درس و مطالعاتم در رابطه با رمزنگاریه دوست داشتم یه سری از مباحثی که حس کردم شاید خیلی جذاب باشه باهاتون در میون بزارم


مبحث اولی که قراره با هم بررسی کنیم چیزی هست به اسم Zero knowledge
ولی اصلا این چی هست ؟
تاحالا شده بخواید چیزی رو به یکی اثبات کنید بدون اینکه اطلاعاتی به طرف بدین ؟
مثلا شما جواب یه سوالی رو میدونید. می خواید بدون این که جواب رو به طرف بگید یا حتی اطلاعاتی بدین به طرف این موضوع رو اثبات کنید!! این کاملا شدنیه توی علم رمزنگاری
مثال های ریاضیش : مثلا یه معادله هست . A+B+c+D+E = 20 مثلا!!! شما می خواید بدون اینکه این اعداد رو که جواب هستن به طرف بدین اثبات کنید که یه جوابی میدونید که تو این معادله صدق کنه!
اینکه چطوری اینجوری میشه ریاضیات به نسبت قوی ای می خواد که میتونیم بررسی کنیم. اما بیاید از یه مثال ساده تر شروع کنیم .


مساله : من یه فرد کور هستم. و شما 2 تا ماژیک دارید که با هم فرق دارن ( رنگاشون متفاوت هست ). شما می خواید به من این مساله رو اثبات کنید که این 2 ماژیک با هم فرق دارن ولی نمی خواید هیچ اطلاعات دیگه ای به من بدید .
کسی ایده ای داره چطوری اینکارو کنیم ؟
می‌تونیم ماژیکو بهش بدیم و هرکدومو بذاریم تو یه دستش. بعد پشت کنه به ما و یه چیزی بکشه. اگه ما ۱۰ بار درست تشخیص بدیم با کدوم دست کشیده طرف به احتمال ۹۹.۹ باور می‌کنه که فرق دارن
خب ۳ تا مساله ی بعدی

۱- Alice و Bob هرکدوم یه تعداد شکلات دارن. و فرض کنید این تعداد میتونه ۱۰ یا ۲۰ یا ۳۰ یا ۴۰ یا ۵۰ تا باشه‌ و هردو میدونن که یکی‌از این ۵ حالته. این دو فرد می خوان بفهمن آیا تعداد شکلات یکسانی دارن یا نه؟ بدون اینکه بفهمن طرف مقابل چقدر شکلات داره. مثلا اگر من ۱۰ تا داشته باشم و یکی ۳۰ تا. اگر بگیم عدد هارو لو میره تعداد شکلاتا.


۲- دو میلیارد وجود دارن. می خوان بدون اینکه داراییشونو بگن بفهمن کی پولدارتره.(حتی هیچ اطلاعاتی راجع به پولشون ندن ) ( این یکم ریاضیاتی تره )

۳- فرض کنید یه کامپیوتر هست با اطلاعات خیلی خیلی حساس. و پسورد ورود عدد t هست. حالا اگر این پسورد رو یه نفر بدونه خیلی خطرناکه. من می خوام این پسورد رو جوری بین مثلا ۱۰ نفر آدم تقسیم کنم که هر دو نفری که بیان بتونن با اعدادشون t رو بدست بیارن. ولی یه نفر با عدد یا اعدادی که داره نتونه هیچی راجع به t بفهمه.
اولی: جمع شکلاتا+ضربشون رو جوری حساب می‌کنیم که هر فرد فقط تعداد خودش رو وارد تابع کرده باشه و نتیجه هم فقط به صورت yes(مساوی) no(نامساوی) ارائه بشه

دومی عدد یکی از میلیاردرا منفی می‌شه و دیگری مثبت اگر جمع + بود صرفا جواب علامت + بیاد و نه عدد و اینجوری معلوم می‌شه

سومی ریشه دوم t رو به هرکدوم می‌دیم و بهشون میگیم برای به دست اوردن باید عددشون با یه تابعی که نمی‌دونن چی کار می‌کنه هرکدوم عددشو وارد کنه. اینجوری فرد نه ۹ عدد دیگه رو می‌دونه نه تابع رو. نگید افراد می تونن بفهمن که چی عددی بهشون دادیم. چون تابع رو نمی‌دونن تابع می‌تونه کارای مختلفی انجام بده‌. می‌تونیم به فرد اول ریشه دوم +۱ و به فرد دوم ریشه دوم +۲ بدیم تا تابع تشخیص بده هر عدد مال کی هست و بعد بهش بگیم مثلا عدد فرد n ام رو منهای n کنه و نفر m ام منهای m و بعد در هم ضرب کنه تا t بشه
یا یه کار دیگه هم می‌شه کرد. به هرکدوم یه عدد بدیم و دو تابع. برای فهمیدن این‌که از کدوم تابع استفاده کنه نیاز داره یک شرط yes or no رو داشته باشه که باید از یکی از ۹ نفر دیگه استخراج کنه. یعنی از عدد ۹ نفر دیگه استفاده نکنه و یکی از اون ۹ نفر دیگه صرفا ازشون می‌فهمه که کدوم تابع رو روی عددی که خودش داره اعمال کنه. (یعنی خود عدد افراد دیگر وارد عملیات نمی‌شه) مثلا برای فرد شماره ۱ اینجوری باشه: اقای ۱ اگر عدد شخص دیگر بیشتر از 4.5 بود عددت را در f وارد کن و اگر کوچکتر مساوی بود در g. بعد اینجوری باید اعداد تمام ۹ نفر دیگه مثلا از 4.5 کوچکتر باشه تا نتیجه فرق نکنه. البته یه مشکلی که هست دوتابع کمه و سرجمع ۲ رمز می‌شه که جفتشو امتحان می‌کنه خودش بدون نیاز به دیگری. برای حل این مشکل می‌تونیم ۱۰شرط رو به جای ۱ شرط بگیریم و هر شرط استفاده از یک تابع از بین هر جفت تابع رو برای ما معین کنه (می‌شه ۱۰۲۴ رمز) و دست آخر t تابع دیگری از این ۱۰ تابع باشه (مثلا جمعشون)
کلا جواب هر۳تا مث همه. امیدوارم درست باشه. اگه درست بود بعدیارم جواب می‌دم
 

Amirhsz

کاربر فوق‌فعال
کنکوری 1404
ارسال‌ها
88
امتیاز
133
نام مرکز سمپاد
علامه حلی 1
شهر
تهران
سال فارغ التحصیلی
1404
من یه چیزی به ذهنم رسید اینه که مثلا هربار که به ماژیک A دست زد براش اعلانی پخش شه که با B متفاوته
 

Amirhsz

کاربر فوق‌فعال
کنکوری 1404
ارسال‌ها
88
امتیاز
133
نام مرکز سمپاد
علامه حلی 1
شهر
تهران
سال فارغ التحصیلی
1404
بچه ها اینجا خاک خورده ها! سوال بعدی. یه نفر ادعا می کنه یه لیستی داره شامل 1000000 عدد که هر کدوم بین 1 تا 10 هست.
شما می خواید با تقریب 99% مطمعن بشید که داره راست میگه.
ایده اولی اینه که یک سری نمونه ببینید از لیست. اگر شما 2 عدد از لیست رو ببینید قطعا نمیتونید با این تقریب مطمعن باشید که همه عددا بین 1 تا 10 هستن.!!! کسی ایده ای داره که با 2 تا query زدن چطور بتونیم مطمئن بشیم با احتمال 99% که همه عدداش بین 1 تا 10 هستن.

سوال سختیه خیلی. فکر کنید. جزو جدیدترین مباحث رمزنگاری الانه
فکر کنم ما میتونم مثلا از این اعداد اول میانگین بگیریم. بعد عملیات های مثل میانگین رو انجام بدیم هعی و دوباره رو اونا هم انجام بدیم تا آخر به ۲ اطلاعات برسیم و بعد امتحان کنیم
 

ili

کاربر حرفه‌ای
ارسال‌ها
556
امتیاز
9,252
نام مرکز سمپاد
علامه حلی
شهر
-
سال فارغ التحصیلی
1401
دانشگاه
حوزه علمیه قم
رشته دانشگاه
شیطان پرستیِ آنتوان لاوی(ص)
این تاپیک نباید بخوابه♻️خواهش می کنم
 

valter

کاربر فعال
ارسال‌ها
39
امتیاز
88
نام مرکز سمپاد
شهید بهشتی
شهر
سبزوار
سال فارغ التحصیلی
1404
نه
 
بالا