ستاره های آسمان

ریاضی ابزار شناخت جهان هستی

ستاره های آسمان

ریاضی ابزار شناخت جهان هستی

ستاره های آسمان
مطالب پربحث‌تر

نشت اطلاعات

چهارشنبه, ۱۷ ارديبهشت ۱۳۹۳، ۱۰:۳۳ ب.ظ

سلام

مطلب جالبی که سرکلاس رمزنگاری شنیدم ولی هنوز مطمئن نیستم درسته یا نه:
اگه یه سیستم رمزنگاری داشته باشیم که از هر متن رمز شده دقیقا یک بیت رو بشه رمزگشایی کرد کل پیام رو بازسازی کرد!

اگه این درسته باشه نشت فقط یه بیت که کمترین نشت ممکن اطلاعات از یه سیستم با امنیت ناقص هست هم قابل گذشت نمیشه!!

  • محمد اسماعیل حسنی

نظرات  (۸)

خوب است لطفا مطالب عمومی تر راضیات راهم بگذارید
  • محمدرضا پالیده
  • این مطلب کاملا واضحه! میشه با استقرا ثابت کرد ;-)
  • محمدرضا پالیده
  • سلام مجدد
    طبق استقرا، ما یک سیستم رمزنگاری داریم. یک رشته ۱۰۰ بیتی اطلاعات رمز شده توسط این سیستم نیز در اختیار ماست. اگر ما بتونیم یک بیت رو رمزگشایی کنیم بنابراین یک رشته ۹۹ تایی (و یا ۲ رشته ان و ۹۹ منهای ان تایی) داریم که توسط همون سیستم قبل رمز شده! و چون میدونیم میتونیم از هر رشته رمزشده توسط اون سیستم ۱ بیت رو رمزگشایی کنیم، پس این ۹۹ بیت (یا اون دو رشته) رو هم میشه ۱ بیتش رو رمزگشایی کرد! و حالا باز طبق قبل باز یا یک رشته یا دو رشته و یا ۳رشته با طول های کمتر از ۹۸ داریم که باز طبق قبل میتونیم یک بیت‌شون رو رمزگشایی کنیم! طبق استقرا بعد از ۱۰۰ بار این کار، اون ۱۰۰ بیت رمزگشایی شدن چون ما میتونستیم از هر رشته رمزشده، یک بیتش رو رمزگشایی کنیم.
  • محمدرضا پالیده
  • سلام
    طبق استقرا، ما یک سیستم رمزنگاری داریم. یک رشته ۱۰۰ بیتی اطلاعات رمز شده توسط این سیستم نیز در اختیار ماست. اگر ما بتونیم یک بیت رو رمزگشایی کنیم بنابراین یک رشته ۹۹ تایی (و یا ۲ رشته ان و ۹۹ منهای ان تایی) داریم که توسط همون سیستم قبل رمز شده! و چون میتونیم از هر رشته رمزشده توسط اون سیستم ۱ بیت رو رمزگشایی کنیم، پس این ۹۹ بیت (یا اون دو رشته) رو هم میشه ۱ بیتش رو رمزگشایی کرد! و حالا باز طبق قبل باز یا یک رشته (۹۸ بیتی) یا دو رشته و یا ۳رشته با طول های کمتر از ۹۸ داریم که باز طبق قبل میتونیم یک بیت‌شون رو رمزگشایی کنیم! طبق استقرا بعد از ۱۰۰ بار این کار، اون ۱۰۰ بیت رمزگشایی شدن چون ما میتونستیم از هر رشته رمزشده، یک بیتش رو رمزگشایی کنیم.
    پاسخ:
    فکر نمی‌کنم اینقدر ساده باشه! مثلا فرض کنید سیستم رمزنگاری کاملا امن 
    (M,C,Enc,Dec)
    رو داریم، حالا سیستم
    E' =E || m[0]
    رو تعریف می‌کنم که فقط بیت اول متن رو به آخر همون E میچسبونه! این سیستم جلوی حملات متن اولیه انتخابی  ضعیف هست ولی بعید میدونم با داشتن چند تا ciphertext تصادفی (هر تعداد) و بدون دونستن متنهای اولیه بشه این سیستم رو شکوند! مگه ترفندهای خاصی باشه
    -----------------
    حتی ممکنه کار از این هم پیچیده‌تر بشه! مثلا یک بیت قابل بازگشت هست که موقع بازگردانی این بیت، به سه چهارتا بیت دیگه وابسته هستش! حالا دیگه حتی دونستن متنهای اولیه یه تعداد زیاد سایفرتکست کمک زیادی نمیکنه
  • محمدرضا پالیده
  • اثباتی که من گفتم کامل هست براساس ریاضی و منطق!! مگر اینکه سوال‌تون رو اشتباه مطرح کرده باشید!
    "از هر متن رمز شده دقیقا یک بیت رو بشه رمزگشایی کرد"
    برداشت من اینه که از هر متن رمز شده توسط این سیستم میشه یک بیت‌ش رو فهمید! از هر متن رمزشده یعنی اگر یک متن ۱۰۰ بیتی یک بیتش فهمیده باشیم و ۹۹ بیتش همچنان رمز شده باشه، میشه از این رشته جدید ۹۹تایی هم یک بیت رو رمزگشایی کرد! حالا این تکرار میتونه تمام بیت‌ها رو رمزگشایی کنه برامون!
    به هرحال دونسته‌های من از رمزنگاری درحد ۳واحد درس کارشناسی‌ه و یک بخش ۱۰ صفحه‌ای از پایان‌نامه کارشناسی‌م ;-)
    پاسخ:
    نکته اینه که نمیشه بیت بازیابی شده رو حذف کرد!
  • فاطمه خلیلی
  • دایی آدرستم بنویس تالینکت کنم.
    لطفامنم لینک کن.
    من فکر می کنم اشتباه متوجه شدی!
    جمله «از هر متن رمز شده یک بیت رو رمز گشایی کنیم »اشتباهه!
    کل متن یکجا رمز شده و باید یکجا رمزگشایی بشه
    نمیشه تکه تکه رمز گشایی کنیم!

    مگر اینکه رمزنگاذی ضعیف باشه یا متن مسئله چیز دیگه ای باشه!
    (:-))
    پاسخ:
    بتونیم قاطعانه بگیم فلان بیت پیام اصلی چی بود! خوب اصولا این یه ضعف تو سیستم رمزنگاری ما هست و بحث در مورد همین ضعف، ممکنه نشه همه متن رو رمزگشایی کرد ولی به اطلاعاتی از پیام دست پیدا کرد، یا حتی توزیع احتمال هر بیت رو از ۰٫۵ - ۰٫۵ بین ۰ و ۱ بشه وضعیت رو به طور چشمگیر بهتر کرد هم باز حمله محسوب میشه

    آیا این همون oracle padding attack نیست؟
    پاسخ:
    چک میکنم، نمیدونم. تشکر

    ارسال نظر

    ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
    شما میتوانید از این تگهای html استفاده کنید:
    <b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
    تجدید کد امنیتی