عبارت Cryptography برگرفته از لغات یونانی Kryptos به معنای "محرمانه" و graphien به معنای "نوشتن" است. بنابراین، کل کلمه به معنای "محرمانه نوشتن" میباشد. در رمزنگاری هدف این است که با استفاده از اصول و روابط ریاضی، اطلاعات را به گونهای ایمن رمز کنیم که باخیال آسوده بتوان آن را از جایی به جای دیگر انتقال داد. رمزنگاری پیشینهای طولانی و درخشان دارد که به هزاران سال قبل برمیگردد. از این شیوه رمزنگاری در گذشتههای دور و به خصوص در یونان و فرانسه در مکاتبات و نامههای دولتی استفاده میشد.
Cryptography، فهم تکنیکهای ریاضی میباشد که در مفاهیم امنیت اطلاعات مانند محرمانگی، یکپارچگی داده و احراز هویت موجودیت و اصل داده آمیخته شده است. همانطور که گفته شد، علم Cryptography پیامهای رمز نشده را با کمک مفهوم رمزنگاری به صورت رمز شده، در میآورد ( داده را رمزنگاری میکند). تکنیکهای مدرن رمزنگاری، به صورت مجازی غیرقابل شکستن هستند اما این امکان وجود دارد که بتوان پیامهای رمزشده را با مفاهیم رمزگشایی که به code breaking معروف هستند، شکست.
در واقع Cryptography یا رمزنگاری، فرآیند تأمین امنیت اپلیکیشنها و محافظت از دیتای مربوط به آنها در برابر انواع حملات است و این مفهوم در تمامی حوزههای فضای مجازی به کار گرفته میشود که از آن جمله میتوان رمزنگاری در لاگین کردن به یک وبسایت، ارسال ایمیل یا اتصال به شبکه وایفای را نام برد و از همین روی هم Developerها باید با مفاهیم پایهای رمزنگاری، نحوۀ استفاده از الگوریتمهای رمزنگاری و کار با Libraryهای این حوزه آشنایی داشته باشند تا بتوانند فرآیندهای هَشینگ، رمزگذاری متقارن و نامتقارن، انواع تکنیکهای رمزنگاری، امضای دیجیتال، سیستمهای رمزنگاری و الگوریتمهای آنها را درک کنند و از آنها استفاده نمایند.
هدف از رمزنگاری، ذخیرهسازی و انتقال دیتا به شیوهای امن است به گونهای که در فرآیند ارسال و دریافت دیتا در بستر ناامن اینترنت، صرفاً افراد مد نظر ما توانایی رمزگشایی دیتای رمزگذاریشده را داشته باشند و برای این منظور نیز میتوان تکنیکهای رمزگذاری و رمزگشایی به شیوۀ Symmetric (متقارن) و Asymmetric (نامتقارن) را به کار برد که در آنها یک یا چند کلید برای تبدیل دیتا از حالت ساده به فرم رمزگذاریشده و بالعکس مورد استفاده قرار میگیرد.
در متد رمزنگاری به شیوۀ متقارن از کلیدی یکسان هم برای رمزگذاری و هم رمزگشایی دیتا استفاده میشود اما این در حالی است که در رمزنگاری به شیوۀ نامتقارن از یک جفت Public Key (کلید عمومی) و Private Key (کلید خصوصی) استفاده میشود.