0

هش چيست ؟

 
farshon
farshon
کاربر طلایی1
تاریخ عضویت : آذر 1387 
تعداد پست ها : 43957
محل سکونت : خراسان رضوی

هش چيست ؟

جد بزرگ ترمز اي بي اس بدون انداختن خط ترمز

مدیرتالارلطیفه وطنزوحومه

پنج شنبه 22 مرداد 1388  8:30 AM
تشکرات از این پست
javid1000 siasport23 hamed_yurdum catcat
samsam
samsam
کاربر طلایی1
تاریخ عضویت : بهمن 1387 
تعداد پست ها : 50672
محل سکونت : یزد

پاسخ به:هش چيست ؟

هش ترمز ABSالاغ در سرعتهاي زياد و سراشيبي ها مي باشد

چهار راه برای رسیدن به آرامش:
1.نگاه کردن به عقب و تشکر از خدا  2.نگاه کردن به جلو و اعتماد به خدا  3.نگاه کردن به اطراف و خدمت به خدا  4.نگاه کردن به درون و پیدا کردن خدا

پل ارتباطی : samsamdragon@gmail.com

تالارهای تحت مدیریت :

مطالب عمومی کامپیوتراخبار و تکنولوژی های جدیدسیستم های عاملنرم افزارسخت افزارشبکه

 

پنج شنبه 22 مرداد 1388  11:35 AM
تشکرات از این پست
javid1000 siasport23 farshon hamed_yurdum catcat
iranvisual
iranvisual
کاربر طلایی3
تاریخ عضویت : آبان 1390 
تعداد پست ها : 581
محل سکونت : مازندران

پاسخ به:هش چيست ؟

هش - ایست سریع و بدون درنگ

اصل همه اصلها ، در همه نسلها ولایت فقیه است . (آیت الله علامه ایازی (ره))

یک شنبه 9 مهر 1391  6:05 PM
تشکرات از این پست
javid1000 siasport23
siasport23
siasport23
کاربر طلایی1
تاریخ عضویت : مرداد 1391 
تعداد پست ها : 16696
محل سکونت : آ.غربی-سولدوز

پاسخ به:هش چيست ؟

هش از کلمه های ترکی می باشد که اکثرا  برای متوقف کردن الاغ بکار می رود!

کلمه ی جالبیه!

چهارشنبه 12 مهر 1391  12:32 PM
تشکرات از این پست
javid1000 hamed_yurdum
rashon
rashon
کاربر طلایی1
تاریخ عضویت : شهریور 1391 
تعداد پست ها : 1310
محل سکونت : هویزه

پاسخ به:هش چيست ؟

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

شنبه 22 مهر 1391  4:57 PM
تشکرات از این پست
javid1000 catcat
catcat
catcat
کاربر طلایی1
تاریخ عضویت : شهریور 1391 
تعداد پست ها : 6699
محل سکونت : رنگین کمان

پاسخ به:هش چيست ؟

کد گزاری و روش های مختلف :

روش های مختلفی برای کد گزاری وجود دارد مانند توابع و الگوریتم های Randomize و Hash و ...

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

1- امنیت

2- ایجاد کلید های منحصر بفرد

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

 

توضیح :

برای ایجاد امنیت در برنامه های مختلف از روش های کد گزاری استفاده میشود ، برای مثال در ذخیره پسورد یوزر های سایت DpiGuide  از الگوریتم MD5 که در ادامه در مورد قدرت آن توضیح خواهیم داد استفاده می شود

مثالی که برای ایجاد کلید های منحصر به فرد می شود آورد در امضا های اینترنتی می باشد . برای ایجاد امضا هایی که به صورت منحصر به فرد و بدون تکرار باشند از این روش ها استفاده می شود.

 

هش که (Hash, Hash Code, Digest, Message Digest هم نامیده می شود) را می توان به صورت اثر انگشت دیجیتالی یک داده در نظر گرفت. با این روش شما می توانید رشته ای اندازه-ثابت (fixed length) از یک داده به دست آورید که با روش های ریاضی به صورت "یک طرفه" رمزنگاری شده است

منظور از "یک طرفه" این مفهوم است که قابل برگشت نمی باشد

برای مثال فرض کنید فرمول ما X+2 باشد ! و برای ورودی مانند 3 خروجی ما برابر 5 خواهد بود

حال اگر شما 5 را در اختیار داشته باشید می توانید مقدار اولیه را به راحتی با فرمول معکوس Y-2 بدست آورید !

در روش های "یک طرفه" این امکان وجود ندارد ...

 

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

انواع هش

 

MD4 (128 bits, obsolete)

MD5 (128 bits)

RIPEMD-160 (160 bits)

SHA-1 (160 bits)

SHA-256, SHA-384

and SHA-512 (longer versions of SHA-1, with) slightly different designs

 

برای تفهیم بهتر مقوله هش در حین توضیح درباره ی نوع MD5 بیشتر با هش آشنا خواهید شد وبه مفهموم آن پی می بریم.

در الگوریتم MD5 احتمال وجود تکرار و تصادف وجود ندارد و تمام مقادیر منحصر به فرد می باشد

البته در مقاله ای احتمال یکی شدن رشته های هش دو رشته متفاوت در الگوریتم MD5 یک در 3.4028236692093846346337460743177e+38 عنوان شده بود  که در واقع می توان گفت احتمال برابر 0 می باشد

این خواص ، هش کردن را به روشی کارا و ایده آل برای ذخیره سازی کلمات عبور در برنامه های شما تبدیل می کند. چرا؟ برای این که حتی اگر یک نفوذگر(Hacker) بتواند به سیستم و بانک اطلاعاتی شما نفوذ کند و بخشی از اطلاعات شما را به دست آورد ( اطلاعات شامل کلمات عبور هش شده باشد) نمی تواند کلمات عبور اولیه را از روی آن ها بازیابی کند.

یکی از دو خصوصیت الگوریتم های HASH معکوس ناپذیری آنهاست و دوم اینکه هرگز دو ورودی متفاوت به خروجی یکسان منجر نمی شوند. هر یک از این دو خصوصیت اگر نقض شود می گوییم الگوریتم شکسته!!!

 

شناسایی اعضا با استفاده از Hash :

تا کنون نشان داده ایم که بازیابی کلمه عبور اصلی از روی رشته هش تقریبا غیر ممکن است ، خب چگونه برنامه های ما تشخیص دهند که کلمه عبور وارد شده توسط کاربر صحیح است ؟ به سادگی ! با تولید رشته هش کلمه عبور وارد شده توسط کاربر و مقایسه آن با رشته هش ذخیره شده در رکورد بانک اطلاعاتی مربوط به کاربر می توانید متوجه شوید که آیا دو رشته با هم برابرند یا نه.

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

Hash ها جریان داده ورودی را به یک خلاصه کوچک تبدیل می کنند. که این یک عمل یک طرفه(غیر قابل بازگشت) می باشد. و جریان داده ورودی آنها با هر حجمی که باشد خروجی یک مقدار ثابت می شود.

 

این الگوریتم یک رشته با طول متفاوت را به عنوان ورودی می گیرد و یک "خلاصه پیام MD5" یا "اثر انگشت" با طول 128 بیت می سازد.

 

برای مثال اگر شما این یک "کلمه" را به الگوریتم دهید ، و یا کل این خط را و یا کل این پاراگراف را ، در نهایت در هر 3 مورد خروجی 128 بیت می باشد.

یکی از کاربرد های هش تشخیص درستی یک فایل Verifying file integrity می باشد برای مثال زمانی که یک فایل با حجم بالا را دانلود می نماییم می توانیم با به دست آوردن مقدار MD5 آن فایل،توسط دستور md5sum و مقایسه آن با مقدار Md5 داده شده توسط سایت مورد نظر از درستی فایلمان اطمینان حاصل کنیم.

از کاربرد های دیگر آن نشانه گذاری اسناد به روش digitally (امضاهای digitally) می باشد.

 

Collision (تصادف) در Hash:

البته معنی صحیح Collision "تصادم" و "برخورد" می باشد . زمانی که مقدار Hash دو ورودی متفاوت یکسان باشند می گوییم Collision رخ داده است.

اما تا کنون هیچ موردی از Collision دیده نشده است که این امر از این حقیقت ناشی می شود که تعداد مقادیر یک الگوریتم hash بسیار زیاد می باشند.

برای مثال یک Hash 128 بیتی می تواند 3.4 x 1038 مقدار ممکن داشته باشد. که معادل 340,282,366,920,938,463,463,374,607,431,768,211,456 می باشد.

 

محبوب ترین hashهایی که مورد استفاده برنامه نویسان هستند MD5 و SHA-1 می باشند. سیستم های قدیمی تر از( DES(Data Encryption Standard استفاده می کردند. این روش 56 بیتی دیگر یک روش قوی هش کردن محسوب نمی گردد.

 الگوریتم های قوی تری مانند SHA-256 و SHA-512 برای موارد خاص مانند امضاهای دیجیتالی توصیه می گردد ولی برای هش کردن کلمات عبوردر برنامه های امروزی SHA-1 هنوز سطح امنیت بسیار خوبی را فراهم می کند. SHA مخفف Secure hash algorithm می باشد.

 

البته در حال حاضر MD5 کاربرد زیادی پیدا کرده است ، و برای ذخیره رمز های عبور از آنها استفاده می شود .الگوریتم MD5 توسعه ای از الگوریتم MD4 می باشد با این تفاوت که MD5 کمی کندتر از MD4 عمل می کند اما در طراحی آن بسیار محافظه کارانه عمل شده است.

MD5 به این دلیل طراحی شد که حس کردند MD4 به عنوان سرعت بالایی که داشت پذیرفته شده و از امنیت بالایی در شرایط بحرانی برخوردار نمی باشد. MD4 برای سرعت بالا طراحی شده ولی احتمال شکست آن در رمز کردنی موفق وجود دارد. MD5 کمی در سرعت کند شده با این تفاوت که بیشترین امنیت را داراست.

برای توضیحات بیش تر هم یک فایل وردی که تهیه کردم می توانید استفاده کنید و هم به ادامه مطالب می توانید رجوع کنید.

یک شنبه 23 مهر 1391  10:18 AM
تشکرات از این پست
javid1000
دسترسی سریع به انجمن ها