Trong phiên bản HTG Explains, chúng tôi sẽ cung cấp cho bạn một lịch sử ngắn gọn về mã hóa, cách hoạt động và một số ví dụ về các loại mã hóa khác nhau - đảm bảo bạn cũng xem phiên bản trước, nơi chúng tôi giải thích lý do tại sao rất nhiều geek ghét Internet Nhà thám hiểm.
Hình ảnh của xkcd, chắc chắn.
Những ngày đầu của mã hóa
Phương pháp mã hóa này có thể khá dễ dàng bị phá vỡ, tất nhiên, nhưng đó là một trong những ví dụ đầu tiên về mã hóa thực sự được sử dụng trong thế giới thực.
Julius Caesar đã sử dụng một phương pháp tương tự trong thời gian của mình bằng cách dịch chuyển từng chữ cái của bảng chữ cái sang phải hoặc trái bởi một số vị trí - một kỹ thuật mã hóa được gọi là mật mã của Caesar. Ví dụ: sử dụng mật mã mẫu bên dưới bạn sẽ viết “GEEK” là “JHHN”.
Plain: ABCDEFGHIJKLMNOPQRSTUVWXYZ Cipher: DEFGHIJKLMNOPQRSTUVWXYZABC
Vì chỉ người nhận dự định của thông điệp mới biết mật mã, nên người tiếp theo sẽ giải mã tin nhắn, nó sẽ xuất hiện như là vô nghĩa, nhưng người có mật mã có thể dễ dàng giải mã và đọc nó.
Mật mã mã hóa đơn giản khác như hình vuông Polybius sử dụng một thuật toán mã hóa đa diện liệt kê từng chữ cái với các vị trí số tương ứng trên đầu và bên để cho biết vị trí của chữ cái.
Enigma Machine
Lịch sử mã hóa hiện đại
Cho phép đối mặt với nó: các kỹ thuật mã hóa hiện đại có thể là một chủ đề cực kỳ nhàm chán, vì vậy thay vì chỉ giải thích chúng bằng lời, chúng tôi đã cùng nhau đưa ra một truyện tranh nói về lịch sử mã hóa, lấy cảm hứng từ hướng dẫn hình ảnh của Jeff Moser cho AES. Lưu ý: rõ ràng chúng tôi không thể truyền đạt mọi thứ về lịch sử mã hóa trong một truyện tranh.
Quay trở lại những ngày đó, mọi người không có một phương pháp mã hóa tốt để bảo đảm thông tin liên lạc điện tử của họ.
Thuật toán mã hóa Rijndael đã được Chính phủ Hoa Kỳ áp dụng làm mã hóa khóa đối xứng tiêu chuẩn hoặc Chuẩn mã hóa nâng cao (AES). AES đã được Viện Tiêu chuẩn và Công nghệ Quốc gia (NIST) công bố là FIPS PUB 197 (FIPS 197) vào ngày 26 tháng 11 năm 2001 sau một quá trình chuẩn hóa 5 năm, trong đó mười lăm thiết kế cạnh tranh đã được trình bày và đánh giá trước khi Rijndael được chọn là thuật toán mã hóa phù hợp.
Hiệu suất thuật toán mã hóa
Nhiều thuật toán mã hóa tồn tại và chúng hoàn toàn phù hợp với các mục đích khác nhau - hai đặc điểm chính xác định và phân biệt một thuật toán mã hóa với thuật toán khác là khả năng bảo vệ dữ liệu được bảo vệ khỏi các cuộc tấn công và tốc độ cũng như hiệu quả của nó.
Như một ví dụ tốt về sự khác biệt về tốc độ giữa các loại mã hóa khác nhau, bạn có thể sử dụng tiện ích điểm chuẩn được tích hợp trong trình hướng dẫn tạo khối lượng của TrueCrypt - như bạn có thể thấy, AES là loại mã hóa mạnh nhất hiện nay.
Để biết thêm về cách đánh giá các loại mã hóa khác nhau, hãy kiểm tra một báo cáo từ Đại học St. Louis, nơi họ đã thực hiện rất nhiều thử nghiệm về các thói quen khác nhau và giải thích tất cả điều đó trong một bài viết rất háo hức.
Các loại mã hóa hiện đại
Tất cả các thuật toán mã hóa ưa thích mà chúng ta đã nói trước đó chủ yếu được sử dụng cho hai loại mã hóa khác nhau:
- Thuật toán khóa đối xứng sử dụng các khóa mã hóa có liên quan hoặc giống hệt nhau cho cả mã hóa và giải mã.
- Thuật toán khóa bất đối xứng sử dụng các khóa khác nhau để mã hóa và giải mã - điều này thường được gọi là Mật mã khóa công khai.
Mã hóa khóa đối xứng
Để giải thích khái niệm này, chúng tôi sẽ sử dụng phép ẩn dụ dịch vụ bưu chính được mô tả trong Wikipedia để hiểu các thuật toán khóa đối xứng hoạt động như thế nào.
Alice đặt thông điệp bí mật của cô vào một cái hộp, và khóa cái hộp bằng cách sử dụng một ổ khóa mà cô có chìa khóa. Sau đó, cô gửi hộp cho Bob qua thư thông thường. Khi Bob nhận được hộp, anh ta sử dụng một bản sao giống hệt của khóa của Alice (mà anh ta đã thu được bằng cách nào đó trước đó, có thể bởi một cuộc họp mặt đối mặt) để mở hộp và đọc tin nhắn. Bob sau đó có thể sử dụng cùng một ổ khóa để gửi trả lời bí mật của mình.
Mã hóa không đối xứng
Trong một hệ thống khóa bất đối xứng, Bob và Alice có khóa móc riêng biệt, thay vì ổ khóa đơn với nhiều khóa từ ví dụ đối xứng. Lưu ý: đây là, tất nhiên, một ví dụ rất đơn giản về cách nó thực sự hoạt động, phức tạp hơn nhiều, nhưng bạn sẽ có được ý tưởng chung.
Đầu tiên, Alice yêu cầu Bob gửi khóa móc mở của mình cho cô ấy thông qua thư thông thường, giữ chìa khóa của mình cho chính mình. Khi Alice nhận được nó, cô sử dụng nó để khóa một hộp chứa thông điệp của cô, và gửi hộp bị khóa cho Bob. Bob sau đó có thể mở khóa hộp bằng khóa của mình và đọc tin nhắn từ Alice. Để trả lời, Bob cũng phải lấy khóa móc mở của Alice để khóa hộp trước khi gửi lại cho cô ấy.
Lợi thế quan trọng trong một hệ thống khóa không đối xứng là Bob và Alice không bao giờ cần phải gửi một bản sao các khóa của họ cho nhau. Điều này ngăn cản một bên thứ ba (có thể, trong ví dụ, một nhân viên bưu chính bị hỏng) sao chép khóa khi đang chuyển tiếp, cho phép bên thứ ba gián điệp tất cả các thư trong tương lai được gửi giữa Alice và Bob. Ngoài ra, nếu Bob bất cẩn và cho phép người khác sao chép của anh ấy chìa khóa, tin nhắn của Alice cho Bob sẽ bị xâm phạm, nhưng tin nhắn của Alice cho người khác sẽ vẫn còn bí mật, vì những người khác sẽ cung cấp khóa móc khác nhau để Alice sử dụng.
Mã hóa bất đối xứng sử dụng các khóa khác nhau để mã hóa và giải mã. Người nhận tin nhắn tạo ra một khóa riêng và một khóa công khai. Khóa công khai được phân phối giữa những người gửi tin nhắn và họ sử dụng khóa công khai để mã hóa tin nhắn. Người nhận sử dụng khóa riêng của họ bất kỳ tin nhắn được mã hóa nào đã được mã hóa bằng khóa công khai của người nhận.
Có một lợi ích lớn khi thực hiện mã hóa theo cách này so sánh với mã hóa đối xứng. Chúng tôi không bao giờ cần phải gửi bất kỳ điều gì bí mật (như mã hóa hoặc mật khẩu của chúng tôi) qua một kênh không an toàn. Khóa công khai của bạn đi ra thế giới - nó không phải là bí mật và nó không cần thiết. Chìa khóa cá nhân của bạn có thể ở lại và ấm cúng trên máy tính cá nhân của bạn, nơi bạn tạo ra nó - nó không bao giờ phải được gửi qua thư điện tử ở bất cứ đâu, hoặc đọc bởi những kẻ tấn công.
Cách mã hóa bảo mật giao tiếp trên web
Trong nhiều năm, giao thức SSL (Lớp cổng bảo mật) đã bảo mật các giao dịch web sử dụng mã hóa giữa trình duyệt web của bạn và máy chủ web, bảo vệ bạn khỏi bất kỳ ai có thể đang rình mò trên mạng ở giữa.
Bản thân SSL là khái niệm khá đơn giản. Nó bắt đầu khi trình duyệt yêu cầu một trang bảo mật (thường là https://)
Trình duyệt kiểm tra rằng chứng chỉ được cấp bởi một bên đáng tin cậy (thường là một CA gốc đáng tin cậy), rằng chứng chỉ vẫn hợp lệ và chứng chỉ có liên quan đến trang web được liên hệ.
Trình duyệt sau đó sử dụng khóa công khai, để mã hóa khóa mã hóa đối xứng ngẫu nhiên và gửi nó đến máy chủ với URL được mã hóa bắt buộc cũng như dữ liệu http được mã hóa khác.
Máy chủ web giải mã khóa mã hóa đối xứng bằng khóa riêng của nó và sử dụng khóa đối xứng của trình duyệt để giải mã URL và dữ liệu http của nó.
Máy chủ web gửi lại tài liệu html được yêu cầu và dữ liệu http được mã hóa bằng khóa đối xứng của trình duyệt. Trình duyệt giải mã tài liệu http và dữ liệu html bằng cách sử dụng khóa đối xứng và hiển thị thông tin.
Bạn có học gì không?
Nếu bạn làm được điều này, chúng ta sẽ kết thúc hành trình dài để hiểu mã hóa và một chút về cách thức hoạt động của nó - bắt đầu từ những ngày đầu mã hóa với người Hy Lạp và La Mã, sự nổi lên của Lucifer, và cuối cùng là cách SSL sử dụng mã hóa không đối xứng và đối xứng để giúp bạn mua chú thỏ bông màu hồng trên eBay.
Chúng tôi là những người hâm mộ mã hóa lớn ở đây tại How-To Geek và chúng tôi đã đề cập đến rất nhiều cách khác nhau để thực hiện những việc như:
- Bắt đầu với TrueCrypt (để bảo mật dữ liệu của bạn)
- Thêm mã hóa trang web tự động vào Firefox
- BitLocker To Go Mã hóa ổ đĩa flash di động trong Windows 7
- Làm thế nào để bảo mật máy tính Linux của bạn bằng cách mã hóa ổ cứng của bạn
- Thêm tùy chọn mã hóa / giải mã vào Windows 7 / Vista Nhấp chuột phải vào Menu
- Bắt đầu với Mã hóa TrueCrypt Drive trên Mac OS X
Tất nhiên mã hóa là quá phức tạp một chủ đề để thực sự giải thích tất cả mọi thứ. Chúng ta đã bỏ lỡ điều gì đó quan trọng? Cảm thấy tự do để đặt một số kiến thức về độc giả đồng nghiệp của bạn trong các ý kiến.