رمزنگاری (Encryption) چیست ؟
رمزنگاری (Encryption) چیست ؟
? رمزنگاری یا Encryption به فرایندی گفته میشود که در آن اطلاعات خصوصی یا محرمانه با استفاده از الگوریتم های پیچیده (Cipher) به اطلاعات نا مفهوم یا غیر قابل فهم تبدیل شوند تا فقط افرادی که مجاز به دسترسی میباشند بتوانند با کلید (Key) مرتبط با الگوریتم آن اطلاعات نا مفهوم را دوباره به اطلاعات قابل فهم باز گردانند.
?در رمزنگاری هدف ساختن طرحها یا پروتکلهایی است که بتوان با کمک آنها حتی در حضور دشمن نیز کارهای خاصی را انجام داد. یک هدف اساسی در رمزنگاری این است که به افراد این امکان را بدهند که روی یک کانال ناامن با حفظ حریم خصوصی و اصالت دادههایشان به صورت کاملاً امن با هم ارتباط برقرار کنند.
?در Encryption به اطلاعات خصوصی یا محرمانه که به طور عادی قابل فهم و خوانا باشد Plain Text یا Clear Text میگویند و پس از تبدیل این اطلاعات توسط الگوریتم Cipher به اطلاعات نا مفهوم، به آن Cipher Text میگویند.
?به فرایند باز گرداندن اطلاعات نامفهوم و غیر قابل فهم (Cipher Text) به اطلاعات قابل فهم و خوانا (Plain Text) رمز گشایی یا Decryption گفته میشود.
منظور از Cipher در Encryption چیست؟
?به طور کلی Cipher به معنای رمز است اما در رمزنگاری و رمز گذاری Cipher به الگوریتم های رمز گذاری (Encryption) و رمز گشایی (Decryption) گفته میشود. در واقع فرایند تبدیل Plain Text به Cipher Text و Cipher Text به Plain Text توسط جفت الگوریتم های Cipher انجام میشود.
منظور از Cryptosystem در رمزنگاری چیست؟
?در Encryption به مجموعه از الگوریتم ها که با هم یک سرویس امنیتی برای حفظ امنیت و محرمانه ماندن اطلاعات ارائه میکنند را Cryptosystem میگویند. معمولا یک Cryptosystem شامل سه الگوریتم میباشد یک الگوریتم برای تولید کلید (Key Generation) یک الگوریتم دیگر برای رمز گذاری روی اطلاعات و یک الگوریتم دیگر برای رمز گشایی از اطلاعات.
?زمانی از کلمه Cryptosystem استفاده میشود که الگوریتم Key Generation اهمیت داشته باشد در غیر این صورت به جفت الگوریتم های رمز گذاری و رمز گشایی همان Cipher میگویند.
?معمولا برای اشاره به تکنیک Public Key یا Asymmetric Key از کلمه Cryptosystem استفاده میشود اما برای اشاره به تکنیک Symmetric Key از هر دو کلمه Cryptosystem یا Cipher استفاده میشود.
انواع رمزنگاری
?تمامی الگوریتمهای رمزنگاری را میتوان در دو دستهی کلی تقسیمبندی کرد. درواقع تفاوت اصلی الگوریتمها در همین دستهبندی مشخص میشود و دیگر تفاوتها به روش توسعهی الگوریتم بستگی پیدا میکنند.
?الگوریتمهای دارای کلیدهای متقارن (Symmetric) که از کلیدهای رمزگشایی مرتبط با مشابه برای رمزنگاری و رمزگشایی استفاده میکنند.
?الگوریتمهای دارای کلیدهای نامتقارن (Asymmetric) که از کلیدهای متفاوت برای رمزنگاری و رمزگشایی استفاده میکنند. این نوع رمزنگاری بهنام Public-Key هم شناخته میشود.
تفاوت Hashing و Encryption در چیست ؟
?درهم سازی داده ها یا Hashing به یک فرآیند یک طرفه گفته می شود که در آن هر نوع داده خروجی در نهایت تبدیل به یک رشته داده خروجی با یک اندازه ثابت می شود که به آن Hash Value یا مقدار تابع درهم سازی گفته می شود. شما نمی توانید از یک Hash Value داده خود را برداشت کنید زیرا این نوع الگوریتم ها کاملا یک طرفه هستند و بیشتر برای تسریع فرآیند جستجو و اطمینان از صحت داده ها در هنگام انتقال مورد استفاده قرار می گیرند.
?الگوریتم هایی مثل MD و SHA از انواع الگوریتم های درهم سازی یا Hashing هستند که بیشترین استفاده را دارند. رمزنگاری یا Encryption به تبدیل داده ها به قالبی گفته می شود که فقط برای کاربران مجاز قابل مشاهده باشد و هیچ کاربر غیرمجازی نتواند داده واقعی را مشاهده کند. به داده ای که رمزنگاری شده باشد در اصطلاح Cipher-Text گفته می شود ، اندازه داده ای که رمزنگاری می شود با حجم داده ورودی آن تا حدود زیادی یکسان است و شما می توانید از داده های رمزنگاری شده داده خود را خارج کنید که به این فرآیند رمزگشایی گفته می شود.
?الگوریتم های رمزنگاری بصورت کلی به دو دسته متقارن با یک کلید برای رمزنگاری و همان کلید برای رمزگشایی و نامتقارن که دارای دو کلید عمومی و خصوصی برای رمزنگاری و رمزگشایی می شوند تقسیم بندی می شود.
دیدگاهتان را بنویسید