Mã hóa mật mã: các khái niệm cơ bản

Mã hóa mật mã: các khái niệm cơ bản

Theo yêu cầu của người đọc blog, hôm nay chúng tôi websitehcm.com bắt đầu viết các blog về Mã hóa mật mã, hi vọng những kiến thức nhỏ nhoi của chúng tôi có thể góp phần vào việc nâng cao kiến thức của người dùng. Từ xưa đến nay, mã hóa luôn là một lĩnh vực quan trọng trong cả chiến tranh kéo dài đến hiện đại. Những người dùng hiện nay, thường bỏ qua các vấn đề này trong thực tế mà không biết rằng mã hóa đang được sử dụng hằng ngày, và đang góp phần vào cuộc sống mà mấy ai biết. Hôm nay chúng ta hãy cùng tìm hiểu về chuyên mục Mã hóa mật mã và ứng dụng.

Bài viết đầu tiên chúng tôi cung cấp tổng quan về các kiến thức cơ bản trong Mã hóa mật mã. Hi vong qua bài viết này các bạn hiểu rõ hơn về kiến thức này.

Mã hóa là gì? Giải mã là gì?

Mã hóa là gì?

Mã hóa là một phương pháp biến thông tin, dữ liệu(video, ảnh, text,…) từ định dạng có thể đọc được thành dữ liệu, thông tin không thể hiểu được nếu không có phương tiện giải mã.

Giải mã là gì?

Giải mã là phương pháp ngược lại của mã hóa, là phương pháp biến thông tin, dữ liệu(video, ảnh, text,..) từ định dạng không thể hiểu được thành dữ liệu ban đầu trước khi mã hóa.

Một hệ thống mã hóa bao gồm cái gì?

  • Thông tin trước mã hóa được gọi là thông tin (video, ảnh, text,…) có kí hiệu là P( plaintext)
  • Thông tin sau quá trình mã hóa thành dữ liệu không đọc được có kí hiệu C (ciphertext)
  • Chìa khóa mã hóa kí hiệu là KE, chìa khóa giải mã ký hiệu KD
  • Thuật toán mã hóa và giải mã ký hiệu là E và D
  • Quá trình mã hóa là quá trình áp dụng thuật toán E lên dữ liệu ban đầu P và tạo thành dữ liệu đã mã hóa C
  • Quá trình giải mã là quá trình áp dụng thuật toán giải mã D lên dữ liệu đã mã hóa C và tạo thành dữ liệu có thể đọc được là P

Các khái niệm khác

Mật mã học là chuyên ngành khoa học máy tính chuyên nghiên cứu về nghiên lý phương pháp mã hóa. Hiện nay người ta còn đưa ra các chuẩn an toàn thông tin cho các lĩnh vực khác nhau.

Thám mã là ngành nghiên cứu về giải mã các hệ thống mã hóa mà thường là không biết khóa bí mật K. Thông thường khi một chuẩn mã hóa được đưa ra, thì người thám mã cùng với người phát triển mã hóa đều sử dụng các phương pháp thám mã để kiểm nghiệm sự an toàn của hệ mã.

Lý thuyết mã là bao gồm cả mật mã học và thám mã để đánh giá một hệ mã có mạnh hay không

Mã hóa đối xứng là gì?

Mã hóa đối xứng là loại mã hóa sử dụng một key duy nhất để mã hóa và giải mã

Hệ thống mã hóa đối xứng bao gồm:

  1. Văn bản cần mã hóa P
  2. Khóa để mã hóa và giải mã K
  3. Thuật toán Mã hóa E
  4. Thuật toán giải mã D
  5. Với C là văn bản sau khi mã hóa
  6. EK(P) =C và DK(C) = P
Mã hóa mật mã: các khái niệm cơ bản

Mã hóa đối xứng có các đặc điểm sau:

Một mã đối xứng có các đặc trưng là cách xử lý thông tin của thuật toán mã hóa, giải mã, tác động của khóa vào bản mã, độ dài của khóa.

Mối liên hệ giữa bản rõ, khóa và bản mã thông qua thuật toán càng phức tạp càng tốt.

Thuật toán mã hoá mạnh: Có cơ sở toán học vững chắc đảm bảo rằng dù công khai thuật toán, nhưng việc thám mã là rất khó khăn và phức tạp nếu không biết khóa.

Khoá được giữ bí mật: Chỉ có người gửi và người nhận biết. Có kênh an toàn để phân phối khoá giữa các người sử dụng chia sẻ khóa. Mối liên hệ giữa khóa và bản mã là không nhận biết được.

Mã hóa đối xứng thuật toán được chia làm 2 loại: Stream cipher, và block cipher

Nhược điểm của loại mã này là khó khăn trong việc trao đổi khóa bí mật.

Mã hóa bất đối xứng là gì?

Mật mã hóa khóa công khai là một dạng mật mã hóa cho phép người sử dụng trao đổi các thông tin mật mà không cần phải trao đổi các khóa chung bí mật trước đó.

Điều này được thực hiện bằng cách sử dụng một cặp khóa có quan hệ toán học với nhau là khóa công khai và khóa cá nhân.

Thuật ngữ mật mã hóa khóa bất đối xứng thường được dùng đồng nghĩa với mật mã hóa khóa công khai mặc dù hai khái niệm không hoàn toàn tương đương. Có những thuật toán mật mã khóa bất đối xứng không có tính chất khóa công khai và bí mật như đề cập ở trên mà cả hai khóa (cho mã hóa và giải mã) đều cần phải giữ bí mật

Hệ thống mã hóa đối xứng bao gồm cái gì:

  1. Mã hóa đối xứng là loại mã hóa sử dụng một khóa K public cho việc mã hóa và khóa K private để giải mã
  2. Với P là văn bản cần được mã hóa (plaintext)
  3. Với Kp là khóa share và Ks là khóa bí mật
  4. Với E là thuật toán mã hóa
  5. Với D là thuật toán giải mã
  6. Với C là bản mã hóa của P thì
  7. C=EKp (P)  và P=DKs ©
Mã hóa mật mã: các khái niệm cơ bản

Hệ thống mật mã hóa khóa công khai dùng làm gì:

Mã hóa: giữ bí mật dữ liệu và đảm bảo chỉ có người có khóa bí mật mới giải mã và đọc được dữ liệu.

Tạo chữ ký số: cho phép kiểm tra văn bản định danh.

Thỏa thuận khóa: cho phép thiết lập khóa, dùng để trao đổi thông tin khóa bí mật của hệ thống mã hóa đối xứng.

Hashing function

Hash function là giải thuật nhằm sinh ra các giá trị băm tương ứng với mỗi khối dữ liệu (có thể là một chuỗi ký tự, một đối tượng trong lập trình hướng đối tượng, v.v…).

Giá trị băm đóng vai gần như một khóa để phân biệt các khối dữ liệu, tuy nhiên, người ta chấp hiện tượng trùng khóa hay còn gọi là đụng độ và cố gắng cải thiện giải thuật để giảm thiểu sự đụng độ đó.

Hash function thường được dùng để nhằm giảm chi phí tính toán khi tìm một khối dữ liệu trong một tập hợp dữ liệu(nhờ việc so sánh các giá trị băm, giá trị nhỏ hơn, nhanh hơn việc so sánh dữ liệu nguyên bản có kích thước lớn).

Hàm băm mật mã hiện nay được sử dụng rộng rãi(https, blockchain).

Một số tính chất của Hash function

  1. Tính toán nhanh.
  2. Các khoá được phân bố đều.
  3. Ít xảy ra đụng độ.
  4. Xử lý được các loại kiểu dữ liệu khác nhau.
  5. Hash function là một hàm một chiều
  6. Một số hàm băm được sử dụng hiện nay như: MD5, SHA-224, SHA-256, SHA-384, SHA-512, …

Cách tấn công vào hệ thống mã hóa

Tấn công dùng thuật toán: dựa trên thuật toán và một số đặc trưng của ciphertext và plaintext. Kiểu tấn công này tấn công vào đặc trưng của thuật toán để tìm plaintext cụ thể hoặc tìm khóa.

Tấn công brute force: kẻ tấn công tìm cách thử tất cả mọi khóa có thể trên ciphertext cho đến khi thành công nhận được plaintext.

Tấn công side channel:

Độ an toàn của mã hóa chia làm 2 loại: an toàn không điều kiện, và độ an toàn thời gian tính toán

Các bài viết tiếp theo khác

Quý khách có thể tham khảo hơn ở các dịch vụ do websitehcm.com cung cấp như: dịch vụ seo, dịch vụ viết content , dịch vụ chăm sóc website, thiết kế web giá rẻ

Leave a Reply