جعفر قنبری شوهانی
مهندس و مدرس زیرساخت و امنیت و مدیر ارشد وب سایت توسینسو

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

نکته جادویی در رابطه با الگوریتم asymmetric وجود دارد. بجای استفاده از یک کلید برای رمزنگاری و رمزگشایی از دو کلید متفاوت استفاده می شود که به عنوان یک جفت با یکدیگر کار می کنند و یک رابطه ریاضی بین آنها وجود دارد. که این کلید ها را تحت عنوان کلید private و public می شناسیم که با یکدیگر یک جفت کلید را تشکیل می دهند.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

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

این مثال ارتباط بین دو کلید را نشان می دهد. اینکه جعبه با هر کلید که بسته شود تنها با کلید دیگر باز می شود. این مثالی از نحوی کار کردن الگوریتم های asymmetric با دو کلید می باشد که در آن دیتا با هر کلیدی که رمزنگاری شود تنها با کلید دیگر امکان رمزگشایی آن وجود دارد.


رمزنگاری نامقارن (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


جعفر قنبری شوهانی
جعفر قنبری شوهانی

مهندس و مدرس زیرساخت و امنیت و مدیر ارشد وب سایت توسینسو

جعفر قنبری شوهانی ، مهندس و مدرس شبکه ، آشنایی من با شبکه برمی گرده به سال 1382 که دوره NT و Novel رو گذروندم و الان بیشتر از 10 ساله سابقه اجرایی در سطح Enterprise (بانک ها ، موسسه مالی ، ادارات دولتی ، سرویس پروایدر) را دارم و در حال حاضر به عنوان مهندس شبکه در شرکت توزیع برق مشهد و به عنوان مدیر ارشد و مدرس شبکه در سایت ToSinSo مشغول به کار هستم. در اکثرا حوزه های شبکه کار کردم و تجربه دارم اما تخصص اصلیم رو در حوزه زیرساخت و امنیت اون میدونم

نظرات