PDA

View Full Version : رمزنگاری پیامی که هیچ وقت لو نرود



IamOverlord
سه شنبه 20 دی 1390, 01:40 صبح
سلام دوستان.
فرض کنین یه صندوق دارم که دو تا جا داره برای این که قفل بذاریم. حالا من می خوام به شما یه چیزی بفرستم :

1. من قفل خودم رو می زنم به صندوق می دم به شما.
2. شما قفل خودتو می زنی می دی به من.
3. من قفل خودمو باز می کنم می دم به شما.
4. شما هم قفل خودت رو باز می کنی.

می خواستم بدونم که این کار ممکنه به صورت نرم افزاری انجام بشه؟ و چه طوری ممکنه؟

Nima NT
سه شنبه 20 دی 1390, 02:51 صبح
الان اینجا چیا داره رد و بدل میشه ؟!!؟ یه کم واضح تر توضیح بدید.

IamOverlord
سه شنبه 20 دی 1390, 09:20 صبح
در اینترنت داره اطلاعات رد و بدل می شه در غالب بیت ها.
به جای این که هر بار که چند بایت اطلاعات می فرستیم این روش رو اعمال کنیم، فقط یک بار، اون هم اول کار رمز قرار داری رو فرستنده به گیرنده با این روش می فرسته.

soorena
سه شنبه 20 دی 1390, 11:11 صبح
سلام

این چیزی که داری میگی‌ یه مثل معروف از رمزنگاری هستش.

سالهاست که داره از این روند رمزنگاری‌ها استفاده می‌شه....خیلی‌ از اونها از کلید عمومی و کلید خسوسیستفد می‌کنن که بسیار امن هستش. ولی‌ اینکه فکر کنی‌ قابل شکستن نیست اشتباهه. روش‌هایی‌ مثل rsa و des خیلی‌ خوب عمل می‌کنه ولی‌ حتا اونا هم قابل شکستن هستش.

IamOverlord
سه شنبه 20 دی 1390, 13:27 عصر
من RSA رو دیدم، عملکردش یه کم متفاوته ولی جالبه...:متفکر: چرا به طور معمول از RSA 4096 bit یا بالاتر استفاده نمی کنند؟ چه قدر طول می کشه تا شکسته بشه؟
ضمنا یه روش جالب مشابه دیدم، البته برای رمز نگاری نیست، برای اینه که رمزی که هر دو از قبل می دونستند رو با توافق هم تعویض کنند: Diffie–Hellman key exchange (http://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange)
روش DES رو هم دیدم، ولی مثل این که توی این روش گیرنده از قبل باید رمز فرستنده رو بدونه...
روشی می خوام که دو طرف هنگام برقراری ارتباط از هیچ رمزی خبر ندارند، ممکنه همون طور که تو مثال صندوق شد، این جا هم بشه؟!

soorena
سه شنبه 20 دی 1390, 23:14 عصر
سلام

تا جایی‌ که من اطلاع دارم این روش قفل گذاری یک روش ایده‌ال است که تو دنیای واقعی‌ قابل پیاده سازی نیست.شما فرض رو بر این گرفتی‌ که قفلی که شما روی جعبه می‌زنی فقط و فقط شما کلیدش رو داری که خوب اگه اینجوری بود دیگه مسالهٔ رمز نگری منتفی بود.

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

با توجه به تمام این صحبت‌ها به نظر میرسه روش کیلید عمومی و خصوصی بهترین رهیافت برای حل این مساله باشه که البته الان داره استفاده می‌شه.

در مورد des باید بگم که روش امنی‌ نیست و بر‌ها و بر‌ها شکسته شده و معمول‌ترین روش هم فکر می‌کنم همون brute force باشه برای شکستنش.

در مورد rsa هنوز ۱۰۲۴ بیت هم به طور رسمی‌ شکسته نشده (اگه گزارشی داری از شکسته شدنش بگین منم بدونم.) ولی‌ پیشنهاد می‌شه که حداقل ۲۰۴۸ بیت به بالا باشه. ضمن اینکه بعید هستش که بیشتر از اون به این زودی‌ها نیز بشه.

البته اطلاعات من کمی‌ قدیمی‌ هستش.

IamOverlord
چهارشنبه 21 دی 1390, 10:30 صبح
برای پیاده سازی RSA 2048 bit روی 2 PC معمولی اون هم برای ارسال یه پبام کوتاه (یه کلمه ی رمز) بین خودشون، نیازی به امکانات سخت افزاری خاص یا محاسبات نسبتا سنگینی هست؟

soorena
چهارشنبه 21 دی 1390, 21:45 عصر
سلام

برای رمز نگاری و باز کردنش با کیلید خیر(یعنی فکر نمیکنم) ولی‌ برای شکوندنش با بهترین رایانه‌های امروز هم ممکن نیست.

Cancer
پنج شنبه 22 دی 1390, 16:39 عصر
سلام سلام سلام.
اگه یه متن (مثلاً یه جمله) داشته باشیم و بعد این رو کد گذاری کنیم (مثلاً با یه الگوریتمی که فقط یه کلید داشته باشه. (طول کلید زیاد باشه (خیلی) و برای امتحان کردن هر حالت در کامپیوترهای معمولی حدود نیم ثانیه زمان ببره (هر ثانیه دو حالت)) ). اون وقت برای کد شکنی ما الگوریتم رو داریم خروجی(متن کد شده )رو هم داریم. حالا برای اینکه بخواهیم متن رو کد شکنی کنیم آیا باید بیایم تمام حالات کلید رو یکی یکی رویه این متن کد شده امتحان کنیم ببینیم کدوم به جواب می رسه؟ بعد وقتی که به یه جوابی رسیدیم از کجا بفهمیم که حالتی که ما بهش رسیدیم درست است یا غلط؟ کامپیوتر که نمی تونه بفهمه که آیا اون حالتی که بهش رسیدیم در قالب یک جمله معنی می ده یا نه.

تشکر.

IamOverlord
پنج شنبه 22 دی 1390, 17:11 عصر
قضیه اینه که وقتی رمز شکسته می شه معلوم می شه که شکسته شده، چون به ازای هر قسمت از اطلاعات یه قسمت کوچک (Hash (http://hash.online-convert.com/des-generator)) درستی اطلاعات رو تایید می کنه.