1. Khái niệm về Cryptography là gì?
Cryptography là một thuật ngữ tiếng anh được dịch ra là mật mã học. Đây là ngành khoa học nghiên cứu về mã hóa và giải mã thông tin với mục đích nghiên cứu các phương pháp, cách thức để chuyển đổi một thông tin từ dạng “đọc hiểu” sang dạng “đọc nhưng không hiểu” và ngược lại. Thuật ngữ này được bắt nguồn từ tiếng Hy Lạp có nghĩa là ẩn, nó liên quan chặt chẽ đến mã hóa, là hành động xáo trộn văn bản thông thường bằng bản mã sau đó quay lại bình thường khi đến nơi.
Cryptography có thể nói là ngành nghiên cứu khoa học thực sự phức tạp và khô khan nhưng cũng không vì thế mà mất đi phần thú vị khi áp dụng vào những vấn đề thiết thực trong thực tế.
1.2 Cryptography giải quyết vấn đề gì?
Một hệ thống an toàn phải cung cấp một số đảm bảo như tính bảo mật, tính toàn vẹn và tính sẵn có của dữ liệu cũng như tính xác thực và không từ chối. Khi được sử dụng đúng cách, tiền điện tử sẽ cung cấp những đảm bảo này. Mật mã có thể đảm bảo tính bí mật và toàn vẹn của cả dữ liệu đang chuyển cũng như dữ liệu ở trạng thái còn lại. Nó cũng có thể xác thực người gửi và người nhận với nhau và bảo vệ chống lại sự từ chối.
Các biện pháp bảo vệ tính bảo mật và tính toàn vẹn được cung cấp bởi các giao thức mật mã như SSL / TLS có thể bảo vệ thông tin liên lạc khỏi bị nghe trộm và giả mạo độc hại.
Các biện pháp bảo vệ tính xác thực cung cấp sự đảm bảo rằng người dùng đang thực sự giao tiếp với hệ thống như dự định. Ví dụ: bạn đang gửi mật khẩu ngân hàng trực tuyến của mình cho ngân hàng của bạn hay người khác?
Nó cũng có thể được sử dụng để bảo vệ dữ liệu ở trạng thái nghỉ. Dữ liệu trên đĩa di động hoặc trong cơ sở dữ liệu có thể được mã hóa để ngăn việc tiết lộ dữ liệu nhạy cảm nếu phương tiện vật lý bị mất hoặc bị đánh cắp. Ngoài ra, nó cũng có thể cung cấp khả năng bảo vệ toàn vẹn dữ liệu ở trạng thái nghỉ để phát hiện giả mạo độc hại.
2. Chức năng của Cryptography là gì?
Cryptography có nhiều chức năng khác nhau, cụ thể như sau:
- Thứ nhất, đảm bảo tính bảo mật, quyền riêng tư không ai có thể hiểu được, đọc được tin nhắn ngoại trừ người dự bị.
- Thứ hai, Cryptography có tính xác thực bởi trong quá trình sử dụng nó sẽ xác minh danh tính với 1 người.
- Thứ ba, tính toàn vẹn khiến tin nhắn khi đến tay người nhận không bị biến đổi, biến dạng so với bản gốc theo bất kỳ hình thức nào.
- Thứ tư, cơ chế không thể thoái thác nhằm xác định rõ ràng người gửi thực sự gửi tin nhắn đi.
- Thứ năm, chức năng trao đổi khóa giữa người gửi và người nhận, hay còn gọi là phương thức chia sẻ các khóa mật mã.
- Thứ sáu, chức năng chuyển tiến bí mật, nó giúp bảo vệ các phiên đã được mã hóa ngay cả khi máy chủ giữ tin nhắn bị xâm phạm khỏi sự thỏa hiệp. Để không đe dọa đến toàn bộ thông tin liên lạc, mỗi phiên sẽ có một khóa khác nhau để việc.
- Thứ bảy, tính năng bảo mật hoàn hảo tức một hệ thống không thể phá vỡ, bản mã truyền tải không có thông tin, khó thường sẽ dài bằng bản mã để đảm bảo độ bảo mật được tốt nhất trước sự tấn công.
- Thứ tám, chức năng xác thực từ chối. Để đảm bảo tính xác thực tin nhắn, người tham gia trao đổi tin nhắn sử dụng phương thức này. Tuy nhiên, người gửi có thể từ chối sự tham gia của bên thứ 3 vào tin nhắn.
3. Một số thuật ngữ sử dụng trong Cryptography
Sender/Receiver: người gửi và nhận thông tin.
Attacker/Hacker: người tấn công những dữ liệu trên đường truyền thông tin.
Plaintext: thông tin, dữ liệu ở dạng ban đầu có thể đọc hiểu được trước khi mã hóa.
Ciphertext: thông tin đã được mã hóa, dữ liệu ở dạng có thể đọc nhưng không thể hiểu được.
Encryption: quá trình mã hóa thông tin từ Plaintext thành Ciphertext.
Decryption:quá trình giải mã lấy lại những thông tin ban đầu (chuyển đổi từ Ciphertext sang Plaintext).
Khi nhắc đến mật mã và vấn đề bảo mật dữ liệu, chúng ta cần phải quan tâm đến nhiều vấn đề khác như:
Confidentiality (tính bảo mật): đảm bảo dữ liệu của chúng ta không thể bị truy cập và đọc bởi người dùng không được cấp phép.
Integrity (tính toàn vẹn): dữ liệu khi được chuyển đến người nhận cần đảm bảo 100% nguyên vẹn, không bị chủng sửa dù là bất kỳ nguyên nhân nào như tấn công mạng, mất mát dữ liệu,…
Availability (tính sẵn sàng): dữ liệu có thể được truy cập bất cứ khi nào cần thiết.
Non-repudiation (tính không bác bỏ): trong một giao dịch, khi bên A thực hiện gửi dữ liệu cho bên B thì bên A không có khả năng phủ nhận việc đó sau này. Nói cách khác, đây là cách đảm bảo rằng không ai khác ngoài A là người tạo tin và gửi tin.
Mặc dù Cryptography không giúp chúng ta nhiều về tính Availability nhưng các cơ chế mã hóa điện tử ngày nay giúp chúng ta đảm bảo 3 mục tiêu còn lại.

