Các nguyên tắc cơ bản về mật mã

Mật mã đề cập đến quá trình che giấu thông tin bằng cách chuyển đổi văn bản có thể đọc được thành văn bản không thể đọc được bằng cách sử dụng một số loại khóa hoặc thuật toán mã hóa.

Thông tin được bảo vệ bằng mật mã bao gồm email, tệp và dữ liệu nhạy cảm khác.

Mục tiêu của mật mã là đảm bảo thông tin được mã hóa giữ được tính bí mật, tính toàn vẹn, tính xác thực và không bị thoái thác.




Các loại mật mã

Mã hóa có hai loại:

  • Mã hóa đối xứng sử dụng một khóa để mã hóa và giải mã thông tin được gửi / nhận.
  • Mã hóa không đối xứng sử dụng các khóa khác nhau để mã hóa và giải mã thông tin được gửi / nhận.


Mật mã

Mật mã đề cập đến một thuật toán được sử dụng để mã hóa và giải mã.


Các loại mật mã là:

Mật mã cổ điển

  • Mật mã thay thế là một mật mã trong đó văn bản thuần túy được thay thế bằng văn bản mã.
  • Mật mã chuyển vị là một mật mã trong đó văn bản thuần túy được sắp xếp lại để tạo ra một bản mã.

Mật mã hiện đại


  • Mật mã dựa trên khóa:



    • Thuật toán khóa đối xứng là một thuật toán sử dụng một khóa để mã hóa và giải mã

    • Thuật toán khóa bất đối xứng là một thuật toán sử dụng hai khóa để mã hóa và giải mã


  • Mật mã dựa trên đầu vào:



    • Mật mã khối là một mật mã hoạt động trên các khối dữ liệu có kích thước cố định bằng cách sử dụng khóa đối xứng

    • Mật mã dòng là một mật mã hoạt động trên từng bit một bằng cách sử dụng khóa đối xứng



Thuật toán mã hóa

CỦA

DES là một tiêu chuẩn mã hóa dữ liệu sử dụng mã hóa đối xứng. Khóa bí mật được sử dụng để mã hóa và giải mã có 64 bit, trong đó 56 bit được tạo ngẫu nhiên và 8 bit còn lại được sử dụng để kiểm tra lỗi.


AES

AES là một thuật toán khóa đối xứng thực hiện cùng một hoạt động nhiều lần. Nó sử dụng một khối kích thước cố định 128 bit và các khóa có ba kích thước: 128, 192 và 256 bit.

RC4, RC5, RC6

RC4 là một thuật toán khóa có độ dài thay đổi hoạt động trên từng bit một và sử dụng các hoán vị ngẫu nhiên. Nó thuộc nhóm mật mã dòng khóa đối xứng.

RC5 là một thuật toán tham số hóa có kích thước khối thay đổi, kích thước khóa thay đổi và số lượng vòng thay đổi. Kích thước khối có thể là một trong ba: 32, 64 và 128 bit. Kích thước khóa có thể từ 0 đến 2.040 bit. Số vòng có thể từ 0 đến 255.

RC6 có nguồn gốc từ RC5 và có hai tính năng bổ sung: nó sử dụng phép nhân số nguyên và thanh ghi 4 bit (RC5 sử dụng thanh ghi 2 bit).


Hai con cá

Thuật toán Twofish là một mật mã khối sử dụng các khối 128 bit và một khóa để mã hóa và giải mã. Kích thước của khóa có thể từ 0 đến 256 bit.

DSA

DSA là một thuật toán bất đối xứng sử dụng cả khóa cá nhân và khóa công khai. Khóa riêng tư cho biết ai đã ký tin nhắn và khóa công khai xác minh chữ ký điện tử. Trong trao đổi thông điệp giữa hai thực thể, mỗi thực thể tạo ra một khóa công khai và riêng tư.

RSA

RSA sử dụng lý thuyết số học mô-đun và số cơ bản để thực hiện các phép tính sử dụng hai số nguyên tố lớn. Nó được coi là tiêu chuẩn mã hóa và như vậy được sử dụng trong các ứng dụng khác nhau. RSA sử dụng cả khóa riêng và khóa công khai trong quá trình mã hóa và giải mã.

Diffie-Hellman

Thuật toán Diffie-Hellman được sử dụng để tạo khóa chia sẻ giữa hai thực thể qua một kênh không an toàn. Nó cho phép hai bên tạo một khóa mã hóa và sau đó mã hóa lưu lượng của họ bằng khóa đó.


Tóm lược thông điệp

Hàm thông báo thông báo, hoặc hàm một chiều, được sử dụng để tính toán biểu diễn chuỗi có kích thước cố định duy nhất của một khối thông tin. Chúng không thể được đảo ngược và được sử dụng để kiểm tra tính toàn vẹn của tệp.

MD5 là một thuật toán thông báo thông báo nhận đầu vào có độ dài tùy ý và tạo ra bản tóm tắt thông báo 128 bit của đầu vào. Thuật toán này được sử dụng trong các ứng dụng chữ ký số, kiểm tra tính toàn vẹn của tệp và lưu trữ mật khẩu.

SHA

Thuật toán băm an toàn hay SHA là một thuật toán tạo ra một bản tóm tắt thông điệp an toàn bằng mật mã. Có ba thế hệ thuật toán SHA: SHA-1, SHA-2 và SHA-3. SHA-1 tạo ra các tiêu chuẩn 160 bit, trong khi SHA-2 và SHA-3 tạo ra các tiêu chuẩn 256, 384 và 512 bit.

HMAC

Mã xác thực tin nhắn dựa trên băm hoặc HMAC là một loại mã xác thực tin nhắn. Nó sử dụng kết hợp khóa mật mã và hàm băm như SHA-1 hoặc MD5. Nó được sử dụng để xác thực và kiểm tra tính toàn vẹn.




PKI

PKI là viết tắt của Public Key Infrastructure và đề cập đến phần cứng, phần mềm, con người, chính sách và thủ tục được yêu cầu để quản lý chứng chỉ kỹ thuật số. Đây là một kiến ​​trúc bảo mật được phát triển để tăng tính bảo mật của thông tin được trao đổi.

Chứng chỉ đã ký là chứng chỉ do Tổ chức phát hành chứng chỉ (CA) cấp. Nó chứa khóa công khai và danh tính của chủ sở hữu.

Chứng chỉ tự ký là chứng chỉ do chính mình cấp và ký. Nó thường được sử dụng cho mục đích thử nghiệm và nếu không thì không đáng tin cậy.



Mã hóa Email và Ổ đĩa

Chữ ký số

Chữ ký điện tử được tạo ra bằng cách sử dụng mật mã không đối xứng. Nó được gắn vào dữ liệu được truyền và đại diện cho một cách xác thực mật mã.

SSL

SSL là viết tắt của Secure Sockets Layer và đề cập đến một giao thức trên tầng ứng dụng có nhiệm vụ đảm bảo tính bảo mật của việc truyền thông điệp qua mạng và Internet.

TLS

TLS là viết tắt của Transport Layer Security và đề cập đến một giao thức thiết lập kết nối máy chủ-máy khách an toàn và đảm bảo tính toàn vẹn và quyền riêng tư của thông tin trong quá trình truyền.

PGP

PGP là viết tắt của Pretty Good Protection và đề cập đến một giao thức được sử dụng để mã hóa và giải mã xác thực và dữ liệu mật mã. PGP được sử dụng để nén dữ liệu, chữ ký số, mã hóa / giải mã email và các thông tin nhạy cảm khác.

Mã hóa đĩa

Mã hóa đĩa đề cập đến việc mã hóa tất cả dữ liệu được lưu trữ trên đĩa. Mục đích là để bảo vệ dữ liệu được lưu trữ trong đĩa và đảm bảo tính bí mật của nó.



Phân tích mật mã

Phân tích mật mã đề cập đến quá trình giải mã mật mã và văn bản được mã hóa. Nó có thể xác định các lỗ hổng trong hệ thống mật mã và do đó trích xuất văn bản thuần túy từ hệ thống được mã hóa.

Các phương pháp được sử dụng trong phân tích mật mã là:

  • Phân tích mật mã tuyến tính được sử dụng trên mật mã khối
  • Phân tích mật mã vi sai được sử dụng trên các thuật toán khóa đối xứng
  • Phân tích mật mã tích phân được sử dụng trên mật mã khối

Phương pháp phá mã

Các kỹ thuật được sử dụng để đo độ mạnh của thuật toán mã hóa bằng cách phá vỡ mã hóa bao gồm:

  • Kỹ thuật Brute force cố gắng mọi sự kết hợp có thể có của các ký tự để phá vỡ mã hóa
  • Kỹ thuật phân tích tần số phân tích tần suất xảy ra một số ký hiệu nhất định và dựa trên đó phá vỡ mã hóa
  • Kỹ thuật lừa bịp và gian dối yêu cầu sử dụng các kỹ thuật xã hội để trích xuất khóa và phá vỡ mã hóa
  • Kỹ thuật đệm một lần đề cập đến mã hóa không thể phá vỡ, trong đó văn bản thuần túy được kết hợp với khóa bao gồm tập hợp ký tự không lặp lại, được tạo ngẫu nhiên và có cùng độ dài với tin nhắn được gửi.

Các cuộc tấn công mật mã


  • Tấn công chỉ bằng văn bản mã là một cuộc tấn công trong đó kẻ tấn công có một bộ sưu tập các văn bản mật mã cần được phân tích để tìm ra khóa và mã hóa văn bản.


  • Tấn công văn bản rõ đã biết là một cuộc tấn công trong đó kẻ tấn công có một phần của bản rõ dựa vào đó chúng lấy được khóa.


  • Cuộc tấn công văn bản rõ được chọn là một cuộc tấn công trong đó kẻ tấn công lấy được khóa bằng cách phân tích văn bản thuần túy và bản mã tương ứng do kẻ tấn công tạo ra.


  • Tấn công bản mã được chọn là một cuộc tấn công trong đó kẻ tấn công lấy được văn bản thuần túy cho một tập hợp các mật mã đã chọn và cố gắng lấy ra khóa.


  • Tấn công vũ lực là một cuộc tấn công trong đó mọi tổ hợp phím có thể được thử đối với bản mã cho đến khi tìm thấy khóa phù hợp. Cuộc tấn công này đòi hỏi nhiều thời gian và sức mạnh xử lý.


  • Tấn công từ điển là một cuộc tấn công trong đó kẻ tấn công tạo ra một từ điển gồm bản rõ và bản mã của nó và sau đó sử dụng từ điển đó để phá vỡ mã hóa.