رمزنگاری عبارت است از بهم ریختگی اطلاعات به طوری که برای کسی قابل فهم نباشد. فن آوری رمزنگاری امکان مشاهده، مطالعه و تفسیر پیام***های ارسالی توسط افراد غیر مجاز را سلب می***نماید. از رمزنگاری به منظور حفاظت داده***ها در شبکه***های عمومی نظیر اینترنت استفاده می***گردد. در این رابطه از الگوریتم***های پیشرفته ریاضی به منظور رمزنمودن پیام***ها و ضمائم مربوطه، استفاده می***شود.
الگوریتم***های رمزنگاری:
انتقال اطلاعات حساس بر روی یک شبکه مستلزم بکارگیری مکانیزمی است که سه ویژگی زیر را تضمین نماید:
• امنیت : داده ارسالی نمی***بایست توسط افراد غیر مجاز، استفاده( خوانده ) گردد.
• هویت : افراد شرکت کننده در ارتباط همان افرادی می***باشند که ادعا می***نمایند .
• غیرجعلی بودن اطلاعات : داده دریافت شده در مقصد با داده ارسال شده در مبداء یکسان بوده و اطلاعات دستکاری نشده باشد.
تکنولوژی هائی که یک ارتباط ایمن را ارائه می***نمایند، می***بایست مبتنی بر مکانیزمی باشند که سه ویژگی فوق را تضمین نمایند . اینگونه تکنولوژی***ها، عموما" از الگوریتم***های رمزنگاری استفاده نموده و با رمز نمودن اطلاعات، عملا" امکان رمزگشائی و دستیابی به داده اولیه توسط افراد غیر مجاز را سلب می***نمایند. الگوریتم***های رمزنگاری به دو گروه عمده تقسیم می***گردند :
• الگوریتم***های محدود : در این نوع الگوریتم***ها، محور امنیت اطلاعات بر محرمانه نگه داشتن الگوریتم استفاده شده در فرآیند رمزنگاری استوار است.
• الگوریتم***های مبتنی بر کلید: در این نوع الگوریتم***ها، کلید محرمانه تلقی شده و الگوریتم می***تواند در دسترس عموم باشد.
در این رابطه از دو مدل رمزنگاری عمده استفاده می***گردد: کلید خصوصی ( متقارن ) : فرستنده و گیرنده از یک کلید یکسان به منظور رمزنگاری و رمزگشائی استفاده می***نمایند . کلید عمومی ( نامتقارن ) : به ازای هر کاربر از دو کلید استفاده می***شود. یکی از کلیدها عمومی بوده و در دسترس همگان قرار داشته و کلید دوم بصورت محرمانه می***باشد.