Hướng dẫn mật mã: Cryptanalysis, RC4, CrypTool

Mục lục:

Anonim

Thông tin đóng một vai trò quan trọng trong hoạt động kinh doanh, tổ chức, hoạt động quân sự, ... Thông tin đến tay kẻ xấu có thể dẫn đến thất bại kinh doanh hoặc kết quả thảm khốc. Để bảo mật thông tin liên lạc, một doanh nghiệp có thể sử dụng mật mã để mã hóa thông tin . Mật mã học liên quan đến việc chuyển đổi thông tin sang định dạng Nonhuman có thể đọc được và ngược lại.

Trong bài viết này, chúng tôi sẽ giới thiệu cho bạn về thế giới mật mã và cách bạn có thể bảo mật thông tin khỏi rơi vào tay kẻ xấu.

Các chủ đề được đề cập trong hướng dẫn này

  • Mật mã là gì?
  • Phân tích mật mã là gì?
  • Mật mã học là gì?
  • Thuật toán mã hóa
  • Hoạt động hack: Hack ngay!

Mật mã là gì?

Mật mã học là nghiên cứu và ứng dụng các kỹ thuật che giấu ý nghĩa thực sự của thông tin bằng cách chuyển nó thành các định dạng không thể đọc được của con người và ngược lại.

Hãy minh họa điều này với sự hỗ trợ của một ví dụ. Giả sử bạn muốn gửi tin nhắn “TÔI YÊU ÁP DỤNG”, bạn có thể thay thế mọi ký tự trong cụm từ bằng ký tự thứ ba liên tiếp trong bảng chữ cái. Tin nhắn được mã hóa sẽ là “K NQXG CRRNGV”. Để giải mã tin nhắn của mình, chúng ta sẽ phải quay lại ba chữ cái trong bảng chữ cái bằng cách sử dụng chữ cái mà chúng ta muốn giải mã. Hình ảnh dưới đây cho thấy cách chuyển đổi được thực hiện.

Quá trình chuyển đổi thông tin thành dạng không thể đọc được của con người được gọi là mã hóa.

Quá trình đảo ngược mã hóa được gọi là giải mã .

Việc giải mã được thực hiện bằng khóa bí mật mà chỉ những người nhận thông tin hợp pháp mới biết. Chìa khóa được sử dụng để giải mã các tin nhắn ẩn. Điều này làm cho thông tin liên lạc được an toàn bởi vì ngay cả khi kẻ tấn công quản lý để có được thông tin, nó sẽ không có ý nghĩa đối với họ.

Thông tin được mã hóa được gọi là mật mã .

Cryptanalysis là gì?

Phân tích mật mã là nghệ thuật cố gắng giải mã các tin nhắn được mã hóa mà không cần sử dụng khóa đã được sử dụng để mã hóa các tin nhắn. Cryptanalysis sử dụng phân tích và thuật toán toán học để giải mã mật mã. Sự thành công của các cuộc tấn công phân tích mật mã phụ thuộc

  • Khoảng thời gian có sẵn
  • Nguồn điện toán có sẵn
  • Dung lượng lưu trữ có sẵn

Sau đây là danh sách các cuộc tấn công Cryptanalysis thường được sử dụng;

  • Tấn công bạo lực - kiểu tấn công này sử dụng các thuật toán cố gắng đoán tất cả các kết hợp logic có thể có của bản rõ sau đó được mã hóa và so sánh với mật mã ban đầu.
  • Tấn công từ điển - kiểu tấn công này sử dụng một danh sách từ để tìm sự trùng khớp của bản rõ hoặc khóa. Nó chủ yếu được sử dụng khi cố gắng bẻ khóa mật khẩu được mã hóa.
  • Tấn công bảng cầu vồng - kiểu tấn công này so sánh văn bản mật mã với các hàm băm được tính toán trước để tìm các kết quả phù hợp.

Mật mã học là gì?

Mật mã học kết hợp các kỹ thuật của mật mã và phân tích mật mã.

Thuật toán mã hóa

MD5 - đây là từ viết tắt của Message-Digest 5. Nó được sử dụng để tạo các giá trị băm 128-bit. Về mặt lý thuyết, hàm băm không thể được đảo ngược thành văn bản thuần túy ban đầu. MD5 dùng để mã hóa mật khẩu cũng như kiểm tra tính toàn vẹn của dữ liệu. MD5 không có khả năng chống va chạm. Khả năng chống va chạm là những khó khăn trong việc tìm hai giá trị tạo ra các giá trị băm giống nhau.

  • SHA - đây là từ viết tắt của Thuật toán băm an toàn. Thuật toán SHA được sử dụng để tạo ra các biểu diễn cô đọng của một thông báo (thông báo tóm tắt). Nó có nhiều phiên bản khác nhau như;
  • SHA-0 : tạo ra các giá trị băm 120 bit. Nó đã bị rút khỏi sử dụng do có những sai sót đáng kể và được thay thế bằng SHA-1.
  • SHA-1 : tạo ra các giá trị băm 160 bit. Nó tương tự như các phiên bản trước đó của MD5. Nó có điểm yếu về mật mã và không được khuyến khích sử dụng kể từ năm 2010.
  • SHA-2 : nó có hai hàm băm là SHA-256 và SHA-512. SHA-256 sử dụng các từ 32 bit trong khi SHA-512 sử dụng các từ 64 bit.
  • SHA-3 : thuật toán này chính thức được gọi là Keccak.
  • RC4 - thuật toán này được sử dụng để tạo mật mã dòng. Nó chủ yếu được sử dụng trong các giao thức như Lớp cổng bảo mật (SSL) để mã hóa giao tiếp internet và Quyền riêng tư tương đương có dây (WEP) để bảo mật mạng không dây.
  • BLOWFISH - thuật toán này được sử dụng để tạo ra các mật mã có khóa, bị chặn đối xứng. Nó có thể được sử dụng để mã hóa mật khẩu và các dữ liệu khác.

Hoạt động lấy cắp dữ liệu: Sử dụng CrypTool

Trong kịch bản thực tế này, chúng tôi sẽ tạo một mật mã đơn giản bằng thuật toán RC4. Sau đó, chúng tôi sẽ cố gắng giải mã nó bằng cách sử dụng tấn công brute-force. Đối với bài tập này, chúng ta hãy giả sử rằng chúng ta biết khóa bí mật mã hóa là 24 bit. Chúng tôi sẽ sử dụng thông tin này để phá vỡ mật mã.

Chúng tôi sẽ sử dụng CrypTool 1 làm công cụ mã hóa của mình. CrypTool 1 là một công cụ giáo dục mã nguồn mở cho các nghiên cứu logic về tiền điện tử. Bạn có thể tải xuống từ https://www.cryptool.org/en/ct1-downloads

Tạo mật mã luồng RC4

Chúng tôi sẽ mã hóa cụm từ sau

Đừng bao giờ đánh giá thấp quyết tâm của một đứa trẻ giàu thời gian và nghèo tiền mặt

Chúng tôi sẽ sử dụng 00 00 00 làm khóa mã hóa.

  • Mở CrypTool 1
  • Thay thế văn bản bằng Đừng bao giờ đánh giá thấp quyết tâm của một đứa trẻ giàu thời gian và nghèo tiền mặt
  • Nhấp vào menu Encrypt / Decrypt
  • Trỏ đến Symmetric (hiện đại) rồi chọn RC4 như hình trên
  • Cửa sổ sau sẽ xuất hiện
  • Chọn 24 bit làm khóa mã hóa
  • Đặt giá trị thành 00 00 00
  • Nhấp vào nút Mã hóa
  • Bạn sẽ nhận được mật mã luồng sau

Tấn công mật mã luồng

  • Nhấp vào trình đơn Phân tích
  • Trỏ đến Mã hóa đối xứng (hiện đại) rồi chọn RC4 như hình trên
  • Bạn sẽ nhận được cửa sổ sau
  • Hãy nhớ rằng giả định được thực hiện là khóa bí mật là 24 bit. Vì vậy, hãy đảm bảo rằng bạn chọn 24 bit làm độ dài khóa.
  • Bấm vào nút Bắt đầu. Bạn sẽ nhận được cửa sổ sau
  • Lưu ý: thời gian thực hiện để hoàn thành cuộc tấn công Brute-Force Analysis phụ thuộc vào khả năng xử lý của máy được sử dụng và độ dài của phím. Chiều dài phím càng dài thì thời gian hoàn thành cuộc tấn công càng lâu.
  • Khi phân tích xong, bạn sẽ nhận được kết quả sau.
  • Lưu ý: số Entropy thấp hơn có nghĩa là nó có nhiều khả năng là kết quả chính xác nhất. Có thể giá trị Entropy cao hơn giá trị thấp nhất được tìm thấy có thể là kết quả chính xác.
  • Chọn dòng có ý nghĩa nhất sau đó nhấp vào nút Chấp nhận lựa chọn khi hoàn tất

Tóm lược

  • Mật mã học là khoa học về mật mã và giải mã thông điệp.
  • Mật mã là một thông điệp đã được chuyển đổi thành một định dạng không thể đọc được của con người.
  • Giải mã là đảo một mật mã thành văn bản gốc.
  • Phân tích mật mã là nghệ thuật giải mã mật mã mà không cần biết đến khóa được sử dụng để giải mã.
  • Mật mã học kết hợp các kỹ thuật của cả mật mã và phá mã.