loading...
DL center
آخرین ارسال های انجمن
rob007 بازدید : 120 یکشنبه 24 اردیبهشت 1391 نظرات (0)

هش که (Hash, Hash Code, Digest, Message Digest) می شود رو میشه به یک اثر انگشت الکترونیکی در نظر گرفت .هش یه عملی هست که به وسیله اون شما می تونید رشته ای با اندازه ی ثابت (fixed length) را از یک داده به دست بیارید که با روش های ریاضی به صورت "یک طرفه" رمزنگاری شده است. در واقع می تونم بگم که شما یک داده رو وارد برنامه ای که می تونه هش کنه کردین . داده مثلا یک متن کوچولو . متن رو وارد می کنیم و برنامه مشغول هش میشه که در طی اون متن کوچولو ی شما تبدیل میشه به یک رمز یک طرفه . که رشته ی هش نام داره .  چرا میگم "یک طرفه " ؟ به خاطر این که کشف رشته اصلی از رشته هش آن (عملیات معکوس) به صورت کاری تقریبا  غیر ممکن است. یعنی وقتی متن شما هش شد متن شما تبدیل میشه به یه سری علامت ها و عبارات بی معنی که از روی اونا به هیچ وجه نمی شه متن اولی رو کشف کرد .  نکته دیگه اینکه هر داده ، یک رشته ی هش شده کاملا  منحصر به فرد ایجاد می کند( احتمال یکی شدن رشته های هش دو رشته داده ی متفاوت در الگوریتم MD5 یک در 10000000 هست (یعنی غیر ممکن ) اگه لازمه بازم صفر بذارم 

 

 یعنی مثل اثر انگشت که امکان نداره دو نفر یکی داشته باشن اینم نمی تونه دو رشته داده یه هش یکسان داشته باشن . این خواص ، هش کردن رو به روشی کارا و ایده آل برای ذخیره سازی کلمات عبور در برنامه های شما تبدیل کرده.

 

یکی از دو خصوصیت الگوریتم های  HASHاینه که معکوس پذیر نیستند! (همون طور که گفتم نمی شه از روی کلمه ی هش شده کلمه ی اولی و اصلی رو پیدا کرد) مثلا اگر در معادله ی X+2 =Y برای ورودی (X) عددی مانند 3  داشته باشیم  خروجی (Y) عدد 5 خواهد بود . حال اگر شما 5 را در اختیار داشته باشید می تونید مقدار اولیه رو به راحتی با فرمول معکوس X=Y-2 بدست آورید !                  اما در روش های "یک طرفه" این امکان وجود ندارد .

  دومی اینه که هرگز دو ورودی متفاوت به خروجی یکسان منجر نمی شوند. (مثل اثر انگشت) هر یک از این دو خصوصیت اگر نقض بشه می گیم الگوریتم شکسته!!!

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

 

Hashes are "digests" , It isn't "encryption"

Hash یک عمل خلاصه سازی را روی جریان ورودی انجام می دهد نه یک عمل رمز نگاری 

Encryption(عمل رمز نگاری) داده را از یک متن صریح (Clear text) به یک متن رمزی تبدیل می کند     که به این متن رمزی (Cipher text)می گوییم .باید یاد آوری شود که عمل رمز نگاری یک عمل دو طرفه می باشد . و بر همین اساس هر چی حجمClear text  (متن اولیه) بیشتر باشد حجم Cipher text (متن رمزی ) هم بیشتر میشه . مثل عکس زیر :

 

  اما از اون جایی که ما گفتیم هش عمل رمز نگاری نیست بلکه عمل خلاصه سازی است باید عرض کنم که در هش مثل رمز نگاری حجم متن اولیه با متن رمزی شده برابر نیست . حجم متن رمزی شده در هش همیشه ثابت است یعنی جریان داده ورودی آنها با هر حجمی که باشد خروجی یک مقدار ثابت میشود.همیشه برابر است با (128بایت)   

 

این هم تفاوت عمل رمز نگاری با عمل هش بود که نمایان شد

ارسال نظر برای این مطلب

کد امنیتی رفرش
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • نظرسنجی
    به نظر شما این سایت چگونه است؟
    نظر شما راجع به قالب وبلاگ چیست؟
    آیا برای وبلاگ چت روم اختصاصی ایجاد شود؟
    آمار سایت
  • کل مطالب : 202
  • کل نظرات : 58
  • افراد آنلاین : 1
  • تعداد اعضا : 62
  • آی پی امروز : 37
  • آی پی دیروز : 0
  • بازدید امروز : 166
  • باردید دیروز : 1
  • گوگل امروز : 0
  • گوگل دیروز : 0
  • بازدید هفته : 190
  • بازدید ماه : 341
  • بازدید سال : 1,954
  • بازدید کلی : 83,429
  • کدهای اختصاصی

    قالب وبلاگ