رمزنگاری، شیوه باستانی حفاظت از اطلاعات است كه سابقه آن به حدود 4000 سال پیش از میلاد باز می گردد. اطلاعاتی مانند اطلاعات طبقه بندی شده نظامی، اطلاعات حساس مؤسسات مالی، كلمات عبور كه بر روی سیستم های كامپیوتری ذخیره شده اند و داده هایی كه بر روی اینترنت و یا از طریق امواج رادیویی انتشار می یابند.
رمزنگاری منجر به تغییر شكل اصل اطلاعات كه به آن متن آشكار یا Plaintext می گویند به اطلاعات دیگری به نام متن رمز شده یا cipher میشود كه غالباً ظاهری نامفهوم و تصادفی دارد. اطلاعات تغییر شكل یافته را cryptogram می نامند. معمولاً از روش های برگشت پذیر برای رمزنگاری متون استفاده می شود به طوری كه دریافت كننده در مقصد بتواند متن رمز را به صورت متن آشكار یا همان متن اولیه در آورد. تكنیك ها یا قوانینی كه برای رمزنگاری مورد استفاده قرار می گیرند به عنوان الگوریتم های رمزنگاری شناخته می شوند كه میزان سادگی یا پیچیدگی یك فرآیند رمزنگاری را تعیین می كنند. بسیاری از روشهای رمزنگاری از فرمولهای ساده ریاضی استفاده می كنند كه چندین بار و با تركیب های متفاوت به كار گرفته می شوند.
بسیاری از آنها نیز از یك مقدار محرمانه به نام كلید برای رمزنگاری و رمزگشایی استفاده می كنند. كلید نوعی كلمه عبور است كه تنها فرستنده و گیرنده متن از آن آگاهی دارند. الگوریتم رمزنگاری با استفاده از قوانین ریاضی كلید مزبور را كه معمولاً رشته ای طولانی از اعداد است، بر اطلاعاتی كه باید رمزنگاری یا رمزگشایی شوند، اعمال می كند. بر خلاف یك كلمه عبور معمولی، كلید به كاربر اجازه دسترسی مستقیم به اطلاعات را نمی دهد. در عوض الگوریتم رمزنگاری با استفاده از كلید میتواند داده های رمز شده را به صورت اولیه درآورد. در واقع بدون كلید، اطلاعات رمزنگاری شده غیر قابل دسترسی هستند.