Hướng dẫn dành cho người mới bắt đầu về Mật mã học & Một số tài nguyên hữu ích

attr - https://www.flickr.com/photos/mikecogh/8192314996Mật mã học là nghệ thuật thay đổi một thông điệp từ một định dạng có thể đọc được, được gọi là mật mã trực tuyến, thành một bản không thể đọc được, hoặc mật mã mật mã. Quá trình này được gọi là mã hóa mã hóa tin nhắn của tin nhắn. Trong hầu hết các trường hợp, cần phải có một cách để thay đổi nó trở lại định dạng có thể đọc được, hoặc giải mã mã hóa, nhưng không phải lúc nào cũng vậy. Có ba loại mật mã chính được sử dụng ngày nay.

Băm

Băm là thay đổi một tin nhắn thành một chuỗi không thể đọc được không nhằm mục đích ẩn tin nhắn, nhưng nhiều hơn để xác minh nội dung của tin nhắn. Điều này được sử dụng phổ biến nhất trong việc truyền tải phần mềm hoặc các tệp lớn nơi nhà xuất bản cung cấp chương trình và nó băm để tải xuống. Một người dùng tải xuống phần mềm, chạy tệp đã tải xuống thông qua cùng một thuật toán băm và so sánh kết quả băm với kết quả do nhà xuất bản cung cấp. Nếu chúng khớp thì quá trình tải xuống đã hoàn tất và chưa được sửa chữa.

Về bản chất, nó chứng minh rằng tệp mà người dùng nhận được là bản sao chính xác của tệp do nhà xuất bản cung cấp. Ngay cả thay đổi nhỏ nhất đối với tệp đã tải xuống, bằng cách tham nhũng hoặc can thiệp có chủ ý, sẽ thay đổi mạnh mẽ kết quả băm. Hai thuật toán băm phổ biến là MD5 và SHA.

Mật mã đối xứng

Mật mã đối xứng sử dụng một khóa duy nhất để mã hóa tin nhắn và sau đó giải mã nó sau khi nó được gửi. Mẹo ở đây là tìm một cách an toàn để cung cấp khóa mật mã của bạn cho người nhận để giải mã tin nhắn của bạn cho họ. Tất nhiên, nếu bạn đã có một cách an toàn để cung cấp khóa, tại sao không sử dụng nó cho tin nhắn? Bởi vì mã hóa và giải mã với khóa đối xứng nhanh hơn sau đó với các cặp khóa bất đối xứng.

Nó thường được sử dụng để mã hóa ổ cứng bằng một phím duy nhất và mật khẩu được tạo bởi người dùng. Kết hợp cùng khóa và mật khẩu sau đó được sử dụng để giải mã dữ liệu trên ổ cứng khi cần.

Mật mã bất đối xứng

Mật mã bất đối xứng sử dụng hai khóa riêng biệt. Khóa chung được sử dụng để mã hóa tin nhắn và khóa riêng được sử dụng để giải mã chúng. Phần ma thuật là khóa công khai không thể được sử dụng để giải mã một tin nhắn được mã hóa. Chỉ có khóa riêng có thể được sử dụng cho điều đó. Gọn gàng?

Điều này được sử dụng phổ biến nhất trong việc truyền thông tin qua email bằng SSL, TLS hoặc PGP, kết nối từ xa đến máy chủ bằng RSA hoặc SSH và thậm chí để ký tệp PDF bằng kỹ thuật số. Bất cứ khi nào bạn thấy một URL bắt đầu bằng tên https: //, bạn sẽ xem xét một ví dụ về mật mã bất đối xứng đang hoạt động.

Một ví dụ cực đoan về cách cả ba có thể được sử dụng đều diễn ra như thế này: nhân viên kế toán của công ty bạn cần phải có được sự chấp thuận về ngân sách từ CEO. Cô sử dụng khóa riêng đối xứng của mình để mã hóa tin nhắn cho CEO. Sau đó, cô chạy một hàm băm trên tin nhắn được mã hóa và bao gồm kết quả băm trong lớp thứ hai của tin nhắn tổng thể cùng với khóa đối xứng. Sau đó, cô mã hóa lớp thứ hai (bao gồm thông điệp được mã hóa, kết quả băm và khóa đối xứng) bằng cách sử dụng khóa công khai không đối xứng CEO CEO. Sau đó, cô gửi tin nhắn cho CEO. Khi nhận được, khóa riêng không đối xứng CEO CEO được sử dụng để giải mã lớp ngoài cùng của tin nhắn. Sau đó, anh ta chạy tin nhắn được mã hóa thông qua quá trình băm tương tự để có kết quả băm. Kết quả đó được so sánh với kết quả băm được giải mã trong tin nhắn. Nếu chúng khớp, cho thấy tin nhắn chưa bị thay đổi, thì khóa đối xứng có thể được sử dụng để giải mã tin nhắn gốc.

Tất nhiên, tất cả sẽ diễn ra tự động, đằng sau hậu trường, bởi các chương trình email và máy chủ email. Cả hai bên đều không thấy điều gì xảy ra trên màn hình máy tính của họ.

Rõ ràng, có rất nhiều toán học liên quan đến việc chuyển đổi một tin nhắn, như email, thành một tín hiệu được mã hóa có thể được gửi qua internet. Để hiểu đầy đủ về mật mã đòi hỏi khá nhiều nghiên cứu. Dưới đây là một số trang web, sách và giấy tờ thường được tham khảo nhất về chủ đề mật mã. Một số tài nguyên này đã được sử dụng tích cực trong gần 20 năm và chúng vẫn có liên quan.

Nhóm tin

Nhóm tin là nguồn cấp dữ liệu do cộng đồng tạo được lưu trữ trên Usenet. Để xem chúng, bạn sẽ cần một ứng dụng đọc tin tức. Đọc thêm về cách thiết lập với Usenet tại đây và xem các nhà cung cấp Usenet tốt nhất của chúng tôi tại đây.

  • sci.crypt – Có thể là nhóm tin đầu tiên dành riêng cho mật mã. Vui lòng mang theo một hạt muối vì bất cứ thứ gì tồn tại chừng nào sci.crypt đã bị ràng buộc để thu hút các loại hạt, trò lừa bịp và troll.
  • sci.crypt.research – Nhóm tin này được kiểm duyệt và không dễ bị lừa như một số người khác
  • sci.crypt.random-Numbers – Nhóm tin này được tạo ra để thảo luận về việc tạo ra các số ngẫu nhiên an toàn bằng mật mã
  • talk.polencies.crypto – Nhóm tin tức này được tạo ra để loại bỏ tất cả các cuộc thảo luận chính trị khỏi sci.crypt
  • alt.security.pgp – Và nhóm tin này được tạo ra để thảo luận về cách PGP trở lại vào năm 1992

Và một nhóm Google thưởng:

  • Google Groups sci.crypt – Một nhóm Google đang cố gắng mô phỏng nhóm tin sci.crypt ban đầu

Trang web và tổ chức

  • Một lời giải thích tốt về cách RSA hoạt động
  • PGP – Một trang web dành riêng cho Quyền riêng tư khá tốt
  • Cryptography World có trang Cryptography của họ làm cho trang web dễ dàng hơn có sẵn
  • Hiệp hội nghiên cứu mật mã quốc tế
  • Cổng thông tin CrypTool

Người lưu ý

  • Bruce Schneier – schneierblog trên Twitter
  • John Gilmore
  • Matt Blaze – @mattblaze trên Twitter & flickr / mattblaze
  • David Chaum
  • Ronald L. Rivest
  • Arnold G. Reinhold
  • Marcus Ranum

Câu hỏi thường gặp

  • Dấu hiệu cảnh báo dầu rắn rắn: Phần mềm mã hóa cần tránh – Matt Curtin, ngày 10 tháng 4 năm 1998
  • Câu hỏi thường gặp về sci.crypt trong 10 phần, được sửa đổi lần cuối vào ngày 27 tháng 6 năm 1999
  • Câu hỏi thường gặp về mật mã EFF – Cabal Crypt, ngày 18 tháng 2 năm 1994
  • Phòng thí nghiệm RSA, Câu hỏi thường gặp về Mã hóa ngày hôm nay, Phiên bản 4.1
  • Các nhóm tin sci.crypt khác Câu hỏi thường gặp liên quan đến một số lĩnh vực về mật mã và nó sử dụng

Bản tin

  • Tiền điện tử của Bruce Schneier
  • Tiền điện tử – Kho lưu trữ đầy đủ bản tin của RSA Labs về mật mã học – xuất bản lần cuối vào Mùa đông 2007 – Tập 8 số 1

Sách

  • Mật mã học ứng dụng: Giao thức, thuật toán và mã nguồn trong C – Bruce Schneier, Phiên bản kỷ niệm 20 năm
  • Sổ tay Mật mã học ứng dụng hiện có sẵn dưới dạng tệp PDF có thể tải xuống
  • Xây dựng trong Big Brother: Cuộc tranh luận về chính sách mật mã có sẵn thông qua một số thư viện đại học
  • Kỹ thuật mật mã: Nguyên tắc tuyệt vời và ứng dụng thực tế – Niels Ferguson, Bruce Scheier, Tadayoshi Kohno
  • Mật mã học thực tế – Niels Ferguson, Bruce Schneier
  • Dữ liệu và Goliath: Các trận chiến ẩn để thu thập dữ liệu của bạn và kiểm soát thế giới của bạn – Bruce Schneier

Giấy tờ

  • Chaffing và Winnowing: Bảo mật mà không cần mã hóa bởi Ron Rivest – CryptoBytes (Phòng thí nghiệm RSA), tập 4, số 1 (mùa hè 1998), 12 1717. (1998)
  • Máy tính tạo số ngẫu nhiên bởi David W. Deley
  • Tuyên ngôn vô chính phủ về tiền điện tử của Tim C. May
  • Diceware để tạo cụm mật khẩu và các ứng dụng mã hóa khác của Arnold G. Reinhold
  • Vấn đề của các nhà mật mã học về ăn uống: Người gửi vô điều kiện và người nhận không thể nhận được của David Chaum, J. Cryptology (1988)
  • Những từ kỳ diệu là Squeamish Ossifrage của D. Atkins, M. Graff, A. Lenstra và P. Leyland
  • Các lợi ích toán học của mã hóa RSA của Francis Litterio
  • Câu hỏi thường gặp về Pad một lần của Marcus Ranum
  • P =? NP Doesn mười ảnh hưởng đến mật mã của Arnold G. Reinhold
  • Khảo sát về cách sử dụng cụm mật khẩu PGP của Arnold G. Reinhold
  • TEMPEST trong một ấm trà của Grady Ward (1993)
  • Thư điện tử không thể truy cập, địa chỉ trả lại và bút danh kỹ thuật số của David Chaum, Truyền thông của ACM
  • Tại sao các miếng đệm một lần được bảo mật hoàn hảo? bởi Fran Litterio
  • Tại sao Mật mã học lại khó hơn Bruce Schneier

Kinh doanh nhị phân trực tuyến bởi mikecogh – Được cấp phép theo CC-SA 2.0