کلید شخصی | Private key

کلید شخصی (Private key) یا همان کلید مخفی (Secret key) یک متغیر است که با یک الگوریتم استفاده میشود تا کدی را رمزگذاری و رمزگشایی کند. کیفیت رمزگذاری همیشه به یک قانون بنیادی وابسته است: این که الگوریتم، نیازی به مخفی نگه داشتن ندارد ولی کلید دارد. کلیدهای خصوصی نقشی مهم در رمزنگاری متقارن (symmetric) و نامتقارن (asymmetric) را ایفا میکنند.
اکثر فرآیندهای رمزنگاری از رمزگذاری متقارن برای انتقال داده استفاده میکنند ولی جهت رمزگذاری و همچنین تبادل کلید مخفی از رمزگذاری نامتقارن استفاده میشود. رمزگذاری متقارن، که البته به اسم رمزگذاری کلید مخفی نیز شناخته شده است، از کلید یکسانی برای رمزگذاری و همچنین رمزگشایی استفاده میکند. ریسکی که در این سیستم وجود دارد این است که اگر بخشی، کلید را از دست بدهد و یا کلید جدا شود، سیستم شکسته میشود و پیام ها نمیتوانند به صورت امن رد و بدل شوند.
رمزنگاری نامتقارن که البته به اسم رمزگذاری کلید عمومی نیز شناخته میشود، از دو کلید متفاوت و در عین حال به صورت ریاضیاتی لینک داده شده، استفاده میکند. پیچیدگی و طول کلید خصوصی، امکان یک حمله جستجوی فراگیر (brute force) را به وسیله یک هکر که انواع کلیدهای مختلف را برای پیدا کردن کلید صحیح تست میکند را نشان میدهد. چالش این سیستم این است که برای ایجاد کلیدهای طولانی و خصوصی قوی، خصوصی سازی محاسباتی لازم است.
رمزهای کلید شخصی یا Secret key به طور کلی در یکی از این دو دسته قرار میگیرند: رمزنگاری جاری (stream cipher) یا رمزنگاری بلوک ( block cipher). رمزنگاری جامع، یک کلید شخصی و الگوریتمی را برای بستهای از اطلاعات به صورت همزمان اعمال میکند و این در حالی است که رمزنگاری جاری در یک زمان، یک کلید و همچنین یک الگوریتم را اعمال میکند. کلید رمزگذاری متقارن از نظر محاسباتی بسیار سریع تر از رمزگذاری نامتقارن است اما به انتقال کلید نیاز دارد.