رمزگذاری یا هشینگ؛ شما از کدامیک استفاده می کنید؟!

رمزنگاری تبدیل داده ها به قالبی دیگر بوده و درهم سازی داده ها نیز به یک فرآیند یک طرفه گفته می گردد.

رمزگذاری یا هشینگ؛ شما از کدامیک استفاده می کنید؟!

به گزارش خبرنگار ، رمزنگاری و تغییر اطلاعات از حالت عادی و قابل فهم خود سالیان سال است که مورد استفاده قرار می گیرد و می توان از نمونه های کهن آن به اسب تروا اشاره نمود. این تغییر اطلاعات انواع و اقسام گوناگونی دارد که از میان آن ها می توان به رمزنگاری و Hashing اشاره نمود. اما این دو چه تفاوتی با یکدیگر دارند؟! فرآیند رمزنگاری یا Encryption به تبدیل داده ها به قالبی که فقط افراد مجاز می توانند آن را مشاهده نمایند گفته می گردد که در این تبدیل قالب داده تبدیل شده را در اصطلاح Cipher-Text می نامیم. فرآیند رمزنگاری یا Encryption دارای قدمت چند هزار ساله است و به انواع و اقسام روش ها از آسان تا سخت طبقه بندی می گردد. مهم ترین نکته ای که در مورد رمزنگاری وجود دارد این است که فرآیند رمزنگاری شما متناسب با اندازه و مقدار داده های شما است و با اضافه شدن میزان داده های اطلاعاتی به الگوریتم های رمزنگاری طبیعتا Cipher-Text های خروجی نیز دارای اندازه متناسبی است.

برخلاف الگوریتم های درهم سازی یا Hashing در الگوریتم های رمزنگاری یا Encryption می توانید از داده های رمزنگاری شده داده های خود را بیرون بیاورید و به این عملیات رمزگشایی یا Decryption گفته می گردد. در فرآیند رمزگشایی شما حتما باید به عنوان یک کاربر مجاز کلید رمزگشایی الگوریتم رمزنگاری متناظر را بایستی داشته باشید تا بتوانید فرآیند رمزگشایی را به درستی انجام دهید. الگوریتم رمزنگاری یا Encryption ای به عنوان الگوریتم رمزنگاری قوی شناخته می گردد که بدون داشتن کلید رمزگشایی نگردد به داده های آن دسترسی پیدا کرد.

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

Hash و Hashing چیست؟

هش (Hash) یک کنترل یا کلیدواژه 128 بیتی است و همانند اثر انگشت عمل می نماید. Hashing روشی است که برای آنالیز یکپارچگی دیتا از آن استفاده می گردد. Hash یک تابع یکطرفه است به این معنی که اگر دو کامپیوتر متفاوت یک دیتا را دریافت نمایند و یک تابع hash یکسان را روی آن اجرا نمایند باید مقدار hash یکسانی را بدست آورند. جالب است بدانید؛ امکان ندارد که شما یک hash یکسان را از بلوک های دیتا متفاوت بدست آوردید؛ که به آن collision resistance گفته می گردد. خروجی Hash کوچک و با اندازه ثابت است که به آن digest، message digest یا simply the hash گفته می گردد.

مثالی برای درک بهتر Hashing

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

معرفی مشهورترین روش های Hashing

  • Message digest 5 (MD5:در این الگوریتم digest ایجاد شده 128 بیتی است.
  • (Secure Hash Algorithm 1 (SHA-1:در این الگوریتم digest ایجاد شده 160 بیتی است.
  • (Secure Hash Algorithm 2 (SHA-2:در این الگوریتم digest ایجاد شده می تواند بین 224 تا 512 بیت باشد.

تفاوت میان Encryption و Hashing

درهم سازی داده ها یا همان Hashing به یک فرآیند یک طرفه گفته می گردد که در آن هر نوع داده خروجی در نهایت تبدیل به یک رشته داده خروجی با یک اندازه ثابت می گردد که به آن Hash Value یا مقدار تابع درهم سازی گفته می گردد.

شما نمی توانید از یک Hash Value داده خود را برداشت کنید، زیرا این نوع الگوریتم ها کاملا یک طرفه هستند و بیشتر برای تسریع فرآیند جستجو و اطمینان از صحت داده ها در هنگام انتقال مورد استفاده قرار می گیرند. الگوریتم هایی مثل MD و SHA از انواع الگوریتم های درهم سازی یا Hashing هستند که بیشترین استفاده را دارند. رمزنگاری یا Encryption به تبدیل داده ها به قالبی گفته می گردد که فقط برای کاربران مجاز قابل مشاهده باشد و هیچ کاربر غیرمجازی نتواند داده واقعی را مشاهده کند.

به داده ای که رمزنگاری شده باشد در اصطلاح Cipher-Text گفته می گردد، اندازه داده ای که رمزنگاری می گردد با حجم داده ورودی آن تا حدود زیادی یکسان است و شما می توانید از داده های رمزنگاری شده داده خود را خارج کنید که به این فرآیند رمزگشایی گفته می گردد. الگوریتم های رمزنگاری بصورت کلی به دو دسته متقارن با یک کلید برای رمزنگاری و همان کلید برای رمزگشایی و نامتقارن که دارای دو کلید عمومی و خصوصی برای رمزنگاری و رمزگشایی می شوند تقسیم بندی می گردد.

منبع: باشگاه خبرنگاران جوان
انتشار: بروزرسانی: 26 آذر 1398 شناسه مطلب: 683

به "رمزگذاری یا هشینگ؛ شما از کدامیک استفاده می کنید؟!" امتیاز دهید

1 کاربر به "رمزگذاری یا هشینگ؛ شما از کدامیک استفاده می کنید؟!" امتیاز داده است | امتیاز: 5 از 5
امتیاز دهید:

دیدگاه های مرتبط با "رمزگذاری یا هشینگ؛ شما از کدامیک استفاده می کنید؟!"

* نظرتان را در مورد این مقاله با ما درمیان بگذارید