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

0001111

کاربر حرفه‌ای
ارسال‌ها
355
امتیاز
9,789
نام مرکز سمپاد
حلی
شهر
تهران
سال فارغ التحصیلی
1395
من یسری دیتا داشتم از نحوه رمز نگاری و اینا
که مثلا اول دو طرف یه کلید عمومی به هم میدن که توسط همه قابل مشاهدس بعد هر کدوم یه کلید خصوصی دارن که هیچ کسی نمیدونه چیه و بر چه اساسی تولید شده بعد هر کدوم از اینا یسری اعمال روی دوتا کلیدی که در اختیارش هست(کلید عمومی و کلید خصوصی خودش) یه محاسبهای میکنه و به اونیکی میده اونهم با این عدد دریافت شده و دوتا کلید در دسترسش محاسبه میکنه و به این پس میگردونه و این حاصل نهایی کلید مشترک میشه
. حالا دلیل غیرقابل شناسایی بودن این کد مشترک فقط پیچیدگی محاسباته که شخش سوم نمیتونه بدستش بیاره و البته اگه به حد کافی زمان داشته باشیم میشه بدست آورد. راه دیگه ای ندیدم که بشه کلید رو کاملا مخفی انتقال داد.
 
  • شروع کننده موضوع
  • #102

tiberium

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

HeiSenberG

کاربر حرفه‌ای
ارسال‌ها
339
امتیاز
2,063
نام مرکز سمپاد
شهید بهشتی
شهر
خرم آباد
سال فارغ التحصیلی
1399
%DB%B2%DB%B0%DB%B1%DB%B8_%DB%B0%DB%B6_%DB%B1%DB%B4_%DB%B2%DB%B3_%DB%B5%DB%B6_%DB%B1%DB%B6.jpg

اگه اینو رمز گشایی کنید جواب من غلطه
 
  • شروع کننده موضوع
  • #104

tiberium

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

HeiSenberG

کاربر حرفه‌ای
ارسال‌ها
339
امتیاز
2,063
نام مرکز سمپاد
شهید بهشتی
شهر
خرم آباد
سال فارغ التحصیلی
1399
میشه یه توضیح کوچیک بدی ؟ من نفهمیدم اون توان و اینا چی هستن
مقدار رنگ‌ها رو با یه عدد پشتشون نشون دادم و پیکان به معنای ارسال رنگ هست. دیگه توضیحی نمی‌تونم بدم. الس و باب اینجوری فهمیدن. حالا می‌خوام شما در نقش نامه‌بر باشین و ترکیب رنگ رو بفهمین.
 
  • شروع کننده موضوع
  • #106

tiberium

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

یعنی مثلا 2 کیلو از هر رنگ داده. و اون نامه هم میده میده سینوس اون زاویه ؟
 
  • شروع کننده موضوع
  • #107

tiberium

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

و اما سوالاتی که مونده :
1-همین سوال !
2-همین سوال به صورت ریاضی و پسورد که بیان شد
3-شیر یا خط پشت تلفن.
 
آخرین ویرایش:
  • شروع کننده موضوع
  • #108

tiberium

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

ترکیب رنگ یکسان بدست میاد
البته اگ نامه رسونا عوضی بازی در نیارن و به سطل های رنگ دستبرد نزنن :|
اسیر شدیم به خدا :D
لطفا مثال عددی میزنی؟ نفهمیدم اینجوری
نه قضیه اینه که این نامه بر ها نمیتونن خرابکاری کنن این وسط. نکته اینجاست که نباید "بتونن" رنگ نهایی رو بسازن. حتی اگر خرابکاری ایجاد کنن ولی بتونن بسازن رنگو ایراد داره.
ولی هیچ خرابکاری ای نمی کنن. اینکه مثلا یه رنگیو خودشون چیز میز قاطیش کنن اینجوری نیست اصلا.
 
  • شروع کننده موضوع
  • #109

tiberium

کاربر فوق‌حرفه‌ای
ارسال‌ها
1,057
امتیاز
1,052
نام مرکز سمپاد
شهید بهشتی سمنان
شهر
سمنان
سال فارغ التحصیلی
1389
مدال المپیاد
المپیاد کامپیوتر
دانشگاه
صنعتی شریف
رشته دانشگاه
مهندسی فن آوری اطلاعات
من ثابت ها رو در نظر نگرفته بودم
اینجا اضافش میکنم
(Blue
Green
Red
Yellow)
۴تا رنگ داریم ک به ترتیب حروف الفبا اگ مرتبشون کنیم، متناظر با a b c d میشن
m و n هم ثابتند
1. a+b+2c+0.5d+m=0
2. b+c+2d+n=0
3. سطل سبز=1/4 و سطل زرد=1/2 سطل
X^-1 میشه b=4 و d=2
4. باب یک نامه میزنه برای آلیس و مینویسه منفی حرف خودت و همراه باهاش 1/10 سطل رو رنگ مخلوط سبز و زرد و قرمز میریزه
اینجوری مقدار n به دست میاد 10- و ازین طریق مقدار رنگ قرمز 1 بدست میاد
5. آلیس: m=n
و اینجوری مقدار رنگ آبی میشه 2

پ.ن: اگه نامه بر ها حتی یک صدم سطلو بردارن همه چی خراب میشه... :/
البته خوبی این روش اینه که برای اندازه گرفتن میزان کسر داخل هر سطل، نیاز به یک سطل خالی هست
چون روی سطل ها ننوشته که چه مقدار از کل ظرفیتشون پر شده...
باید یک سطل خالی داشته باشن، و سطلی ک توش مقدار مشخصی رنگ داره رو توش خالی کنن، حالا رد رنگ افتاده رو لبه های سطل اولیه. پس اونجا رو علامت میزنن و دوباره تا همون علامت سطل رو پر میکنن و داخل سطل دوم میریزن. مثل یک جور پیمانه عمل میکنن. اونقد اینکارو انجام میدن تا سطل دوم کامل پر شه. اینجوری از روی تعداد دفعاتی سطل اول رو تا علامت پر میکنه و میریزه تو سطل دوم میتونه مقدار b یا d یا n رو بدست بیاره و از روی اینا، باقی مجهولات رو بدست بیاره...
خب من تا با جزییات بخونم حرفاتو در رابطه با اون حرفی که زدی که ۱/۱۰۰ بردارن چی میشه.
ببین نامه بر ها خراب کاری نمی کنن. مثل اینه که بگیم اصلا نامه بر ها رنگارو پاس نمیدن=)) خب قطعا حل نمیشه این مدلی:))
ولی با برداشتن و یا خرابکاری نباید بتونن ترکیب رنگو پیدا کنن.
 

پهلوی

کاربر خاک‌انجمن‌خورده
ارسال‌ها
1,543
امتیاز
22,380
نام مرکز سمپاد
میرزا کوچک خان
شهر
رشت
سال فارغ التحصیلی
1399
فقط یه راه می‌مونه
نسبتها رو مثل آدم روی یه کاغذ مینویسن میندازن توی یه کیسه
کیسه رو میندازن توی سطل رنگ میفرستن واسه هم :))
دیگه بعید میدونم نامه‌رسونا انقدر فضول باشن که دست بندازن توی رنگ :))
 
  • شروع کننده موضوع
  • #111

tiberium

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

فقط یه راه می‌مونه
نسبتها رو مثل آدم روی یه کاغذ مینویسن میندازن توی یه کیسه
کیسه رو میندازن توی سطل رنگ میفرستن واسه هم :))
دیگه بعید میدونم نامه‌رسونا انقدر فضول باشن که دست بندازن توی رنگ :))
هیچ گونه فرض این شکلی نمیشه کرد. نامه رسان ها کاملا هم فضول هستن که دنبال پیدا کردن رنگ داخل اتاق هستن!



من یکی از راه هایی که داره این سوال رو میگم. چون به نسبت زیاد راجع بهش ایده داده شده.

یکی از افراد یه پیغام میده به طرف دیگه که همچین ترکیب رنگی رو به عنوان پایه شروع کن.
پس اولین پیغام : مثلا پایه ترکیب رنگی ما ترکیب 2 کیلو از هر رنگ .
این پیغام رو همه میبینن! و همه از جمله نامه رسان ها میفهمن که پایه ترکیب 2 کیلو از هر رنگه.
بعد ازش می خوام یه ترکیب مخفی مثل X برا خودش بسازه! و بهش می گم خودم هم یه ترکیب متفاوت Y برای خودم میسازم.
بعد ازش می خوام X رو با رنگ پایه که ساختیم ترکیب کنه و برام بفرسته . و من هم موازی همین کار رو می کنم .

پس من یه سطل ازش میگیرم که X+base هست . و اون یه سطل از من میگیره که حاول Y+base هست.
افرادی که نامه رسان هستن میدونن base چیه ولی وقتی X+base یا Y+base رو میبینن نمیتونن X و Y رو بدست بیارن که چه ترکیب رنگی هست.
سطلی که من از طرف گرفتم X+base هست. حتی خود من هم نمیدونم X چیه ولی مهم نیست. من ترکیب مخفی خودم رو دوباره به این سطل اضافه می کنم . و اون هم ترکیب مخفی خودش رو به سطلی که من دادم اضافه می کنه. هر دو میشیم X+Y+base!!!!
ولی حالا با اون سطلی که جابجا شد اون اول نمیتونن بدست بیارن رنگ رو ؟ مثلا با ترکیب 2 سطل. خیر
یکی X+base هست. یکی Y+base . اگر این دو ترکیب بشن میشه X+Y+2 * base . و وقتی رنگا ترکیب شده باشن اینا نمیتونن مثلا 2 کیلو آبی از یه چیز ترکیب شده جدا کنن مثلا!
 
  • شروع کننده موضوع
  • #112

tiberium

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

Diffie-Hellman_Key_Exchange.svg


حالا ریاضی!
یه فرض خیلی مهمی وجود داره توی علوم کامپیوتر به اسم لگاریتم گسسته . فرض کنید من یه عدد g دارم ( این عدد رندم انتخاب نمیشه و یه سری خصوصیات می خواد ولی مهم نیست الان وارد جزییات بشیم ) و یه عدد اول خیلی خیلی خیلی بزرگ P ( در حد چند میلیون رقم! هرچی این عدد بزرگتر باشه امنیت بیشتر هست. ابررایانه ها بیکار نیستن دنبال عدد اول میگردن . که گاهی تو اخبار میشنوین یه عدد اول پیدا کردن اینقدر میلیون رقم! کشوری که عدد اول های بزرگتری داشته باشه تو این رمزگزاریایی که می کنه امن تر هست سیستمش. )

حالا من اگر تابع y= g ^ x mod p داشته باشم. یعنی g رو به توان x برسونم و باقیماندش رو به P حساب کنم و نمایش بدم . با داشتن y,g,P حساب کردن x یه مساله سخت به حساب میاد . با این میگن مساله ی لگاریتم گسسته

الا با استفاده این فرض می خوایم سر یه عدد با طرف مقابل به توافق برسیم و به یه عدد یکسان برسیم که بقیه نفهمن. و تمامی چت های من با طرف عمومی مشاهده میشه.


مساله َشیر یا خط هم هنوز مونده :D
 
  • شروع کننده موضوع
  • #113

tiberium

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

همچین معادله ای وجود داره . x+y=7 . (میدونم مثال ساده ای هست ولی صرفا برای آشنایی با موضوع هست ) یکی می خواد به من اثبات کنه که یه x و y میدونه که تو این معادله صدق می کنه. از طرفی نمی خواد هیچ اطلاعاتی راجع به x و y هم بده بهم.
 
  • شروع کننده موضوع
  • #114

tiberium

کاربر فوق‌حرفه‌ای
ارسال‌ها
1,057
امتیاز
1,052
نام مرکز سمپاد
شهید بهشتی سمنان
شهر
سمنان
سال فارغ التحصیلی
1389
مدال المپیاد
المپیاد کامپیوتر
دانشگاه
صنعتی شریف
رشته دانشگاه
مهندسی فن آوری اطلاعات
خب نمیدونم اصن همچیین راهی درسته یا نه
ولی مثلا میتونیم یه معادله خط دگ بهش بدیم
بگیم این خط عمود بر اون خطیه ک تو دادی و اگ این معادلاتو در هم صدق بدی دوتا نقطه بدست میاد
البته خب اون میتونه دقیقا دو تا نقطه رو بدست بیاره :/
مثلا معادله خط x=y
خب بدست میاد دیگه. فرض کن تو می‌خوای یه اثبات بزاری کنار این ادعات . که تو دنیا همه بتونن بررسی کنن . و از طرفی x y رو نفهمن
 
ارسال‌ها
1,688
امتیاز
19,974
نام مرکز سمپاد
فرزانگان 2
شهر
تهران
سال فارغ التحصیلی
94
مدال المپیاد
فقط شیمی ولا غیر!!!
دانشگاه
شهید بهشتی
رشته دانشگاه
پزشکی
بچه ها من این مسئله شیر یا خط رو از یک نفر پرسیدم گفت خودت برو جواب رو پیدا کن با هش حل میشه
بعد الان یه نفر بیاد به من هش رو توضیح بده:D
 
  • شروع کننده موضوع
  • #116

tiberium

کاربر فوق‌حرفه‌ای
ارسال‌ها
1,057
امتیاز
1,052
نام مرکز سمپاد
شهید بهشتی سمنان
شهر
سمنان
سال فارغ التحصیلی
1389
مدال المپیاد
المپیاد کامپیوتر
دانشگاه
صنعتی شریف
رشته دانشگاه
مهندسی فن آوری اطلاعات
ببین hash یه مفهوم خیلی ساده ای داره. توی کامپیوتر همه چیز توی مبنای 2 هست و 0 یا 1 هست. هر ورودی ای. هر متنی. هرچیزی تهش تبدیل میشه به 0 یا 1.
hash یه تابع هست که هر ورودی ای با هر سایزی رو تبدیل میکنه به یه خروجی با سایز فیکس. مثلا 256 بیتی. یعنی من اگر ورودی 3 بیتی بهش بدم و یا یه ورودی 10 میلیون بیتی بهش بدم خروجی ای که به من میده یه خروجی 256 بیتی هست .
ما چند تا خروجی داریم ؟ 2 به توان 256. (عدد خیلی بزرگیه ) و چند تا ورودی داریم ؟ بینهایت تا.
پس قطعا یه سری ورودی ها هستن خروجی هاشون یکساینه ( به نسبت باید بدیهی باشه چرا . لانه کبوتری)
ما به همچین چیزی میگیم collision . اینکه 2 تا پیغام پیدا کنیم که خروجی یکسان داشته باشن.
تابع hash ای امن هست که پیدا کردن collision توش از لحاظ محاسباتی سخت باشه . ( سخت به صورت خودمونی یعنی با توان پردازشی ای که داریم مثلا چندین قرن طول بکشه حتی ! برای پیدا کردن یک collision)
حالا بیاید یه تابع از خودمون در بیاریم و بررسی کنیم که این امن هست یا نه. مثلا فرض کنیم همچین تابعی. میگم اگر ورودی از 256 بیت بزرگتر بود فقط 256 سمت چپش رو به عنوان خروجی میدیم. و اگر کمتر از 256 بیت بود به تعداد بیت های کمترش 0 میزاریم مثلا.
آیا این تابع خوب به حساب میاد ؟ نه . حالا ببینیم چرا :
مثلا ورودی 110 : خروجیش میشه 00000....1100000000000
و ورودی 1100 : خروجیش میشه 00000....1100000000000

یا مثلا
ورودی : 1 1111..111111111( که تعداد 1 های اون اول 256 تاست و کلش 257 بیته )
ورودی : 0 1111..111111111 ( همون 257 بیت فقط آخرین بیت سمت راست 0 شده )
الان این 2 تا هم خروجی های یکسان دارن. پس من خیلی راحت دارم اینجا collision پیدا می کنم که این خوب نیست
 
  • شروع کننده موضوع
  • #117

tiberium

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

استفاده اول اینه من که یه متنی میفرستم در کنار متنم Hash اون رو هم میفرستم ( که فقط 256 بیته و کوتاهه ) . شاید توی راه یه بیت یا بیشتر دچار تغییر بشه به اشتباه. کسی که اونور هست میاد Hash ورودی من رو محاسبه می کنه و با اون Hash که کنار پیغامم دادم مقایسه می کنه. اگر این دو تا یکسان بودن میفهمه توی دیتا تغییری ایجاد نشده مگرنه میگه که دوباره بفرست.

استفاده دوم : گوگل و سایت های امن پسورد های ما رو به صورت پسورد سیو نمی کنن! چون اگر سرور هک بشه پسورد لو میره . اونا چیزی که سیو میکنن Hash پسورد ها هست . وقتی من می خوام وارد سایت گوگل بشم و پسوردم رو میزنم در واقع دارم Hash رو محاسبه می کنم و براشون میفرستم و اونا این رو با چیزی که سیو شده مقایسه می کنن. اگر Hash ها یکسان باشه تقریبا میشه مطمئن بود که من پسورد رو میدونم! .
اگر سایتی رو هک کرده باشین و دیتابیس رو داشته باشین میبینید که معمولا پسوردها که ذخیره شدن به صورت هش هست. یعنی من نمیتونم بفهمم پسورد افراد چیه. دونستن هش هم بهم کمکی نمی کنه چون از روی هش نمیشه ورودی رو پیدا کرد ( یه تابع یک طرفه هست ) پس تنها کاری که برام میمونه اینه که بیام کلمات مختلف رو هش بگیرم و ببینم آیا اینا با هم برابرن یا نه.
برای همینه که میگن پسورد های بلند بزارید با داشتن حروف کوچیک و بزرگ و ... . از طرفی بررسیش خیلی زمان بر هست.
و همینطور اگر پسورد 123456 بزارید مثلا ( این هش هست با SHA-256 )
8D969EEF6ECAD3C29A3A629280E686CF0C3F5D5A86AFF3CA12020C923ADC6C92

من اگر یه سایت رو هک کنم و ببینم هش پسورد یکی همینه میفهمم 123456 هست. پس پسورد ها بهتره که پر استفاده نباشه ( یعنی برای خودتون خاص باشه تا اینکه پسورد های مثل 1234567890 , asdfgh , 1111111 استفاده کنید! )
 
  • شروع کننده موضوع
  • #118

tiberium

کاربر فوق‌حرفه‌ای
ارسال‌ها
1,057
امتیاز
1,052
نام مرکز سمپاد
شهید بهشتی سمنان
شهر
سمنان
سال فارغ التحصیلی
1389
مدال المپیاد
المپیاد کامپیوتر
دانشگاه
صنعتی شریف
رشته دانشگاه
مهندسی فن آوری اطلاعات
بسیار کاربرد های دیگه هم داره که حالا بیاید شیر یا خط رو با این حل بکنیم :D
 
ارسال‌ها
1,688
امتیاز
19,974
نام مرکز سمپاد
فرزانگان 2
شهر
تهران
سال فارغ التحصیلی
94
مدال المپیاد
فقط شیمی ولا غیر!!!
دانشگاه
شهید بهشتی
رشته دانشگاه
پزشکی
فکر کنم یافتم
ببین فرض کنیم که آلیس و باب قبلا روی یک تابع هش خاص توافق کردن
آلیس یک عدد درست (بدون اعشار و بیشتر از یک) انتخاب می کنه در ذهنش(اسمش رو میذاریم A)
و باب هم یک عدد درست انتخاب میکنه در ذهنش (اسمش رو میذاریم B)
باب به آلیس B رو میگه
بعد آلیس سکه رو میندازه
یا شیر میاد یا خط (مثلا برای شیر عدد S رو در نظر میگیریم و برای خط K رو و این موضوع رو هر دو طرف می دونن)
حالا اگه شیر اومد
آلیس هش این عدد رو میگیره SAB
یا اگه خط اومد
KAB
بعد این عدد رو به باب میگه و بعد از باب میخواد که بگه شیر اومده یا خط
حالا باب یک کدوم رو میگه (یا شیر یا خط)
و آلیس یا تایید میکنه
یا تکذیب
بعد از این
...
باب از آلیس عددش رو (که همون A باشه) میپرسه
حالا باید جواب آلیس رو چک کنه
پس این بار باب هش میگیره!
باید جواب هش باب با جواب هش آلیس یکی بشه تا باب بفهمه که آلیس قبلا راست گفته و واقعا درصد جواب درست ۵۰ ۵۰ بوده ...

پ.ن: هش چقدر چیز به درد بخوریه! یه تابعه که نمیشه معکوسش کرد و خلاصه خیلی باحاله!!
پ.ن۲: ممنون از توضیح کاملت @tiberium
 
آخرین ویرایش:
  • شروع کننده موضوع
  • #120

tiberium

کاربر فوق‌حرفه‌ای
ارسال‌ها
1,057
امتیاز
1,052
نام مرکز سمپاد
شهید بهشتی سمنان
شهر
سمنان
سال فارغ التحصیلی
1389
مدال المپیاد
المپیاد کامپیوتر
دانشگاه
صنعتی شریف
رشته دانشگاه
مهندسی فن آوری اطلاعات
هممممم
مثلا منظورت از اثبات یه همچین چیزیه؟
اینکه بگم:
من یه معادله خط به صورت y=x+a دارم. به ازاء هر a ای اگر معادله ی من رو با معادله ی اولیه تطابق بدین، یک x و y منحصر به فرد بدست میاد...
و این نقض نمیشه چون اشتراک دو خط متقاطع (که در اینجا عمود برهم در نظر گرفته شدن) فقط و فقط یک نقطه است که روی هر دو تا خط وجود داره. پس اثبات میشه.
ببین منظورت از اثبات به زبان عمومی، همون اثبات ریاضیه؟ ینی اینجوری توضیح دادن اوکی نیس؟ :‌))
معادله اولیه چیه؟ توضیح هم اوکیه ولی چیزی که بفهمم :))) یکم گیجم من:D
 
بالا