یکی از مسائلی که در رمزنگاری به آن برخورد میشود نحوه انتقال کلید از مبدا به مقصد می باشد. در الگوریتم های متقارن پیام را با استفاده از کلید مشترک رمز نموده و از مبدا به مقصد ارسال می نمائیم. در برخی از مواقع نیاز است کلید مورد استفاده به همراه پیام رمز شده از مبدا به مقصد ارسال شود . این امر نیازمند راهکاری مجزا برای ارسال کلید از مبدا به مقصد می باشد.
به طور معمول در الگوریتم های رمزنامتقارن از دو کلید برای عملیات رمزنگاری استفاده می شود. متن اولیه در مبدا با استفاده از کلید عمومی رمز شده و در مقصد با استفاده از کلید اختصاصی گشوده خواهد شد.الگوریتم های نامتقارن به طور عمده برای ارسال کلید مورد استفاده قرار میگیرند. با اینحال در برخی از مواقع ممکن است این الگوریتم برای رمز نگاری داده ها نیز استفاده شوند.
امنیت الگوریتم های رمزنگاری نامتقارن به نحوه انتخاب و طول کلید بستگی دارد و این امر نیازمند محاسبات و پردازش های لازم برای ایجاد کلید و انتخاب آن خواهد بود. با افزایش طول کلید محاسبات مورد نیاز برای رمزنگاری افزایش یافته که این امر موجب افزایش نیاز به منابع سخت افزاری بوده و با کاهش طول کلید ضریب امنیت سیستم کاهش خواهد یافت. برخی از الگوریتم های رمزنگاری نامتقارن به شرح زیر است:
1 - RSA
2 - ECC
3 - DSA
4 - Diffie-Hellman
5 - ELGamal