تکنولوژی

الگوریتم رمزنگاری Asymmetric یا نامتقارن چیست؟

ستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعال
 

در بحث Encryption دو الگوریتم رمزنگاری مهم وجود دارد : asymmetric و symmetric ، که در این مقاله قصد داریم به الگوریتم نامتقارن یا همان Asymmetric بپردازیم .نکته جادویی در رابطه با الگوریتم asymmetric وجود دارد. بجای استفاده از یک کلید برای رمزنگاری و رمزگشایی از دو کلید متفاوت استفاده می شود که به عنوان یک جفت با یکدیگر کار می کنند و یک رابطه ریاضی بین آنها وجود دارد. که این کلید ها را تحت عنوان

کلید private و public می شناسیم که با یکدیگر یک جفت کلید را تشکیل می دهند.

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

 

استفاده از الگوریتم های asymmetric پردازش زیادی را برای CPU در زمان رمزنگاری و رمزگشایی دیتا ایجاد می کند. به همین خاطر ما از روش رمزنگاری asymmetric کمتر استفاده می کنیم. در نتیجه بجای استفاده از این روش برای رمزنگاری کل اطلاعات ، از آن برای مراحل خاصی از ارتباط استفاده می کنیم مانند authentication یا مباحث مربوط به کلیدهای مورد استفاده در روش symmetric از این روش استفاده می شود.

یکی از دلایلی که این روش را رمزنگاری public key می نامند این است که ما این کلید را به صورت عمومی در اختیار همه قرار می دهیم. کلید دیگری که در این روش استفاده می شود private key نامیده می شود و این کلید در اختیار کسی قرار نمی گیرد و مخصوص خود دستگاه است. یک مثال استفاده از این جفت کلید ، دیدن یک سایت امن است. در پشت صحنه ، این جفت کلید برای امن کردن این ارتباط استفاده می شوند PC شما به کلید Public دسترسی دارد و فقط سرور است که کلید private را دارد.

نمونه ای از الگوریتم های asymmetric به شرح زیر هستند :

RSA : نام این الگوریتم برگفته از سازندگان آن است یعنی Rivest ، Shamir و Adleman. امروزه استفاده اصلی از این روش برای authentication است. همچنین به عنوان public key cryptography standard (PKCS) #1 نیز شناخته می شود. طول کلید می تواند از 512 تا 4096 باشد و حداقل مقدار برای داشتن امنیت مناسب 1024 می باشد. هرچه طول کلید بیشتر باشد امن تر خواهد بود.

DH : Diffie-Hellman پروتکل انتقال کلید می باشد. DH یک الگوریتم asymmetric است که به دو دستگاه اجازه می دهد که کلیدهای خود را روی یک شبکه غیر مطمئن ارسال کنند. نکته جالب در رابطه DH این است که خودش یک الگوریتم asymmetric و کلید های ارسال شده توسط آن کلید های symmetric است که می تواند توسط الگوریتم های symmetric مانند Triple Digital Encryption Standard (3DES) و Advanced Encryption Standard (AES) مورد استفاده قرار گیرد.

ElGamal : یک الگوریتم asymmetric برای پایه تبادل DH

DSA : Digital Signature Algorithm الگوریتمی که توسط سازمان امنیت ملی امریکا ایجاد شده است.

ECC : Elliptic Curve Cryptography

الگوریتم های asymmetric به پردازش بیشتری نسبت به الگوریتم های symmetric نیاز دارد و همینطور الگوریتم های asymmetric امن تر هستند. به طور معمول کلیدهایی که در الگوریتم های asymmetric استفاده می شوند بین 2048 تا 4096 می باشد. کلید های با سایز کمتر غیر قابل اعتماد هستند. از الگوریتم های asymmetric برای موارد و کاربرد های خاص استفاده می شود مانند authentication یا انتقال امن کلید مورد استفاده در روش symmetric

الگوریتم رمزنگاری Symmetric یا متقارن چیست؟

Hashing و Hash (هش و هشینگ) چیست؟

تمام حقوق سایت برای سلام دیجی و نويسندگان آن محفوظ می باشد