ايران ويج

نسخه‌ی کامل: Hash - Code - Encryption
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام؛

با حدس سوالات و ابهامات متداول نشون ميده عامه توسعه گران تفاوت Hash و Code و Encryption رو نميدونن و اغلب اين سه عنوان كه مطلقا" به هم ربطي ندارن بجاي ديگري بكار ميرن ! سعي ميكنم بدون وارد شدن به جزئيات بيش از حد فني ، اين سه عنوان رو كمي توضيح بدم .

Hash : هش يا چكيدهء پيام يا هر اسم ديگه اي كه روش ميگذارن ، روشي براي توليد چكيده و خلاصه از يك پيام ، فايل و ... است . هش با استفاده از قواعد و الگوريتمهاي مخصوص به خودش تلاش ميكنه ، از هر چيزي كه بهش داده ميشه ، يك چكيده با طولي هميشه ثابت توليد كنه . به عنوان مثال الگوريتم MD5 كه يكي از روشهاي متداول توليد هش است ، به ازاي هر نوع ورودي كه دريافت كنه ( چه يك حرف باشه چه يك فايل ده گيگا بايتي ) هميشه ، فقط و فقط 128 بيت خروجي توليد ميكنه . اين خروجي 128 بيتي ، تا وقتي فايل يا پيام تغيير نكرده باشه ، هميشه ثابت خواهد بود . نتيجه : استفاده از هش براي توليد چكيده ميتونه روش خوبي براي بررسي تغيير يا عدم تغيير در يك پيام يا فايل باشه . نتيجه بعد : خروجي توليد شده توسط يك الگوريتم هش هرگز به موجوديت اوليه قابل بازگرداني نيست . كاربرد : توليد امضاي ديجيتال . حوزه كاربرد : عموما" سيستمهاي مبتني بر PKI .

Code : كد يا درهم ريزي يا هر اسم ديگه اي كه روش ميگذارن ، از يك جفت الگوريتم تشكيل ميشه . اولي پيام يا فايل رو encode ميكنه ( مثلا" : غير قابل خواندن ) و دومي اون رو decode ميكنه ( مثلا" : قابل خواندن ) . يعني يك روش توليد و استفاده از Code هميشه از دو جزء متقارن تشكيل ميشه كه با داشتن يكي ، توليد اون يكي كار دشواري نخواهد بود . اگر شما يك فايل رو بگيرين و به هر كاراكتر 12 تا اضافه كنين و خروجي رو براي فرد ديگري بفرستين كه او با خوندن هر كاراكتر و كسر 12 تا از هر كدوم ، بتونه به فايل اصلي دست پيدا كنه ، شما coding انجام دادين . نتيجه : كد صرفا" شكل پيام يا فايل رو بصورتي متقارن تغيير ميده . نتيجه بعدي : كد لزوما از دو قسمت قرينه هم تشكيل ميشه . كاربرد : انتقال پيام يا فايل روي محيطهائي كه براي پردازش حروف و علائم از كدپيجهاي متفاوت استفاده ميكنن ، يا انتقال وصله هاي ايميلها و ... . حوزه كاربرد : انتقال اطلاعات .


نتيجه اول : هش و كد ارتباط مستقيمي با رمزنگاري ندارند . هيچكدام يك روش رمزنگاري محسوب نميشن و وجودشون در يك سيستم رمزنگاري الزامي نيست .

نتيجه دوم : هش به موجوديت اوليه قابل بازگرداني نيست . به هيچ وجه . كد به حالت اوليه قابل بازگرداني است . به سادگي .


Encryption : رمزنگاري ، به معناي تغيير شكل و محتواي يك پيام يا فايل با استفاده از حداقل يك الگوريتم و حداقل يك كليد است . نتيجه اوليه : تا وقتي حداقل يك كليد نداريم ، يعني رمزنگاري نداريم . روشهاي رمزنگاري بصورت عمده به دو دسته تقسيم ميشن . روشهاي متقارن و روشهاي غير متقارن .

روشهاي متقارن رمزنگاري : اين روشهاي از لزوما" يك الگوريتم و حداقل يك كليد استفاده ميكنن . مثال : DES

روشهاي غير متقارن : اين روشها از حداقل يك الگوريتم و حداقل دو كليد استفاده ميكنن . مثال : RSA .

براي درك بهتر عناصر سيستمهاي رمزنگاري به مقالات همين بخش يا ساير منابع موجود مراجعه كنين . هدف از اارئه اين مطلب شفاف شدن بديهي ترين اصول اين حوزه بود كه اميدوارم محقق شده باشه .

ايام به كام :)
این صحبت ها خیلی جالبه
کاش این ها رو تحت یسری مقاله می زاشتی تو قسمت مقالات سایت
که هم منسجم تر باشه و هم قابل دسترس تر !
راست ميگه اگه حاضري اعلام كن تا برات جاشو باز كنم.
ashkan نوشته است:راست ميگه اگه حاضري اعلام كن تا برات جاشو باز كنم.

من حاضرم.
بفرمائيد.