Thứ Năm, 28 tháng 8, 2014

CÂU CHUYỆN TÌNH BÁO 23 (Mật mã học)

(ĐC sưu tầm trên NET)

Mật mã học

Bách khoa toàn thư mở Wikipedia
Máy Enigma, được người Đức sử dụng trong Đại chiến thế giới II, thực hiện mã hóa để bảo vệ các thông tin nhạy cảm.
Mật mã học là một lĩnh vực liên quan với các kỹ thuật ngôn ngữ và toán học để đảm bảo an toàn thông tin, cụ thể là trong thông tin liên lạc. Về phương diện lịch sử, mật mã học gắn liền với quá trình mã hóa; điều này có nghĩa là nó gắn với các cách thức để chuyển đổi thông tin từ dạng này sang dạng khác nhưng ở đây là từ dạng thông thường có thể nhận thức được thành dạng không thể nhận thức được, làm cho thông tin trở thành dạng không thể đọc được nếu như không có các kiến thức bí mật. Quá trình mã hóa được sử dụng chủ yếu để đảm bảo tính bí mật của các thông tin quan trọng, chẳng hạn trong công tác tình báo, quân sự hay ngoại giao cũng như các bí mật về kinh tế, thương mại. Trong những năm gần đây, lĩnh vực hoạt động của mật mã hóa đã được mở rộng: mật mã hóa hiện đại cung cấp cơ chế cho nhiều hoạt động hơn là chỉ duy nhất việc giữ bí mật và có một loạt các ứng dụng như: chứng thực khóa công khai, chữ ký số, bầu cử điện tử hay tiền điện tử. Ngoài ra, những người không có nhu cầu thiết yếu đặc biệt về tính bí mật cũng sử dụng các công nghệ mật mã hóa, thông thường được thiết kế và tạo lập sẵn trong các cơ sở hạ tầng của công nghệ tính toán và liên lạc viễn thông.
Mật mã học là một lĩnh vực liên ngành, được tạo ra từ một số lĩnh vực khác. Các dạng cổ nhất của mật mã hóa chủ yếu liên quan với các kiểu mẫu trong ngôn ngữ. Gần đây thì tầm quan trọng đã thay đổi và mật mã hóa sử dụng và gắn liền nhiều hơn với toán học, cụ thể là toán học rời rạc, bao gồm các vấn đề liên quan đến lý thuyết số, lý thuyết thông tin, độ phức tạp tính toán, thống kêtổ hợp. Mật mã hóa cũng được coi là một nhánh của công nghệ, nhưng nó được coi là không bình thường vì nó liên quan đến các sự chống đối ngầm (xem công nghệ mật mã hóacông nghệ an ninh). Mật mã hóa là công cụ được sử dụng trong an ninh máy tínhmạng.
Lĩnh vực có liên quan với nó là steganography — là lĩnh vực nghiên cứu về việc che giấu sự tồn tại của thông điệp mà không nhất thiết phải che giấu nội dung của thông điệp đó (ví dụ: ảnh điểm, hay mực không màu).

Thuật ngữ

Việc nghiên cứu tìm các phương thức để phá vỡ việc sử dụng mật mã được gọi là phân tích mật mã, hay phá mã. Mật mã hóa và phân tích mật mã đôi khi được nhóm lại cùng nhau dưới tên gọi chung mật mã học, nó bao gồm toàn bộ các chủ đề liên quan đến mật mã. Trong thực tế, thuật ngữ mật mã hóa thông thường được sử dụng để nói đến ngành này một cách tổng thể.
Trong một số ngôn ngữ như tiếng Anh nó là cryptography, có nguồn gốc từ tiếng Hy Lạp kryptós tức là "ẩn", và gráphein, "viết ra" Việc sử dụng từ 'cryptography' lần đầu tiên có lẽ diễn ra trong bài diễn thuyết của Sir Thomas Browne năm 1658 có tên gọi The Garden of Cyrus: "the strange Cryptography of Gaffarel in his Starrie Booke of Heaven".
Mật mã hóa là quá trình chuyển đổi các thông tin thông thường (văn bản thường hay văn bản rõ hay văn bản trơn) thành dạng không đọc trực tiếp được, là văn bản mã hóa. Giải mật mã hay giải mã là quá trình ngược lại, phục hồi lại văn bản thường từ văn bản mã. Mật mãthuật toán để mật mã hóa và giải mật mã. Hoạt động chính xác của mật mã thông thường được kiểm soát bởi các khóa — một đoạn thông tin bí mật nào đó cho phép tùy biến cách thức tạo ra văn bản mã. Các giao thức mật mã chỉ rõ các chi tiết về việc mật mã (và các nền tảng mật mã hóa khác) được sử dụng như thế nào để thu được các nhiệm vụ cụ thể. Một bộ các giao thức, thuật toán, cách thức quản lý khóa và các hành động quy định trước bởi người sử dụng cùng phối hợp chặt chẽ tạo thành hệ thống mật mã.
Trong cách nói thông thường, "" bí mật thông thường được sử dụng đồng nghĩa với "mật mã". Trong mật mã học, thuật ngữ này có ý nghĩa kỹ thuật đặc biệt: Các là các phương pháp lịch sử tham gia vào việc thay thế các đơn vị văn bản lớn hơn, thông thường là các từ hay câu văn (ví dụ, "qua tao" thay thế cho "tan cong luc rang dong"). Ngược lại, mật mã hóa cổ điển thông thường thay thế hoặc sắp xếp lại các chữ cái riêng biệt (hoặc một nhóm nhỏ các chữ cái) — ví dụ, "tan cong luc rang dong" trở thành "ubo dpoh mvd sboh epoh" bằng cách thay thế.
Sơ đồ khái quát về một hệ thống mật mã.
Như vậy trong một hệ thống mật mã khái quát sẽ có các thành phần sau:[1]
  • Văn bản trơn (plaintext), tức là thông điệp nguyên gốc chưa được mã hóa.
  • Văn bản mã hóa (ciphertext), tức là thông điệp đã được mã hóa.
  • Thuật toán mã hóa (enciphering algorithm) là các giao thức hoặc hướng dẫn có tác dụng chuyển đổi văn bản trơn thành văn bản mã hóa. Đối với các hệ thống mật mã truyền thống, chỉ có người gửi thông điệp biết được thuật toán mã hóa, tuy nhiên đối với các hệ thống dùng mật mã hóa khóa công khai (Public key code - PKC), tất cả mọi người đều có thể biết thuật toán mã hóa mà không ảnh hưởng tiêu cực đến an ninh của hệ thống.
  • Khóa mã hóa (enciphering key) là một hoặc nhiều đối tượng (thường là các con số hay là các hướng dẫn quan trọng nào đó) được dùng trong việc mã hóa văn bản trơn. Ngoại trừ trong hệ thống PKC, để đảm bảo bí mật an toàn thì khóa mã hóa thường chỉ được người gửi biết.
  • Thuật toán giải mã (deciphering algorithm) là các giao thức hoặc hướng dẫn có tác dụng chuyển đổi văn bản mã hóa trở về văn bản trơn. Để đảm bảo bí mật, chỉ có người nhận thông điệp biết được thuật toán giải mã.
  • Khóa giải mã (deciphering key) là một hoặc nhiều đối tượng (thường là các con số hay là các hướng dẫn quan trọng nào đó) được dùng trong việc giải mã văn bản bị mã hóa. Để đảm bảo bí mật, chỉ có người nhận thông điệp biết được khóa giải mã.
  • Sản phẩm mật mã (Cryptography Product) bao gồm các hệ thống thiết bị, module, mạch tích hợp và các chương trình phần mềm mã hoá chuyên dụng có tích hợp các thuật toán mật mã, được thiết kế, chế tạo để bảo vệ thông tin giao dịch điện tử và lưu trữ dưới dạng số hoá, trong đó sử dụng "Thuật toán mã đối xứng" hoặc "Thuật toán mã không đối xứng".

Thám mã

Mục tiêu của thám mã (phá mã) là tìm những điểm yếu hoặc không an toàn trong phương thức mật mã hóa. Thám mã có thể được thực hiện bởi những kẻ tấn công ác ý, nhằm làm hỏng hệ thống; hoặc bởi những người thiết kế ra hệ thống (hoặc những người khác) với ý định đánh giá độ an toàn của hệ thống.
Có rất nhiều loại hình tấn công thám mã, và chúng có thể được phân loại theo nhiều cách khác nhau. Một trong những đặc điểm liên quan là những người tấn công có thể biết và làm những gì để hiểu được thông tin bí mật. Ví dụ, những người thám mã chỉ truy cập được bản mã hay không? hay anh ta có biết hay đoán được một phần nào đó của bản rõ? hoặc thậm chí: Anh ta có chọn lựa các bản rõ ngẫu nhiên để mật mã hóa? Các kịch bản này tương ứng với tấn công bản mã, tấn công biết bản rõtấn công chọn lựa bản rõ.
Trong khi công việc thám mã thuần túy sử dụng các điểm yếu trong các thuật toán mật mã hóa, những cuộc tấn công khác lại dựa trên sự thi hành, được biết đến như là các tấn công kênh bên. Nếu người thám mã biết lượng thời gian mà thuật toán cần để mã hóa một lượng bản rõ nào đó, anh ta có thể sử dụng phương thức tấn công thời gian để phá mật mã. Người tấn công cũng có thể nghiên cứu các mẫu và độ dài của thông điệp để rút ra các thông tin hữu ích cho việc phá mã; điều này được biết đến như là thám mã lưu thông.
Nếu như hệ thống mật mã sử dụng khóa xuất phát từ mật khẩu, chúng có nguy cơ bị tấn công kiểu duyệt toàn bộ (brute force), vì kích thước không đủ lớn cũng như thiếu tính ngẫu nhiên của các mật khẩu. Đây là điểm yếu chung trong các hệ thống mật mã. Đối với các ứng dụng mạng, giao thức thỏa thuận khóa chứng thực mật khẩu có thể giảm đi một số các giới hạn của các mật khẩu. Đối với các ứng dụng độc lập, hoặc là các biện pháp an toàn để lưu trữ các dữ liệu chứa mật khẩu và/hoặc các cụm từ kiểm soát truy cập thông thường được gợi ý nên sử dụng.
Thám mã tuyến tínhThám mã vi phân là các phương pháp chung cho mật mã hóa khóa đối xứng. Khi mật mã hóa dựa vào các vấn đề toán học như độ khó NP, giống như trong trường hợp của thuật toán khóa bất đối xứng, các thuật toán như phân tích ra thừa số nguyên tố trở thành công cụ tiềm năng cho thám mã.

Lịch sử

Bài chi tiết: Lịch sử mật mã học
Gậy mật mã của người Hy Lạp là một trong những dụng cụ đầu tiên trong ngành mật mã hoá
Mật mã học có lịch sử lâu dài và đầy màu sắc. Nói chung, những dạng sớm nhất của cách viết bí mật (ngày nay gọi chung là mật mã hóa cổ điển) chỉ cần có bút và giấy. Hai phạm trù chính của mật mã cổ điển là mật mã hoán vị, trong đó người ta sắp xếp lại trật tự các chữ cái của thông điệp, và mật mã thay thế, trong đó người ta thay thế có hệ thống các chữ cái hay các nhóm chữ cái bằng các chữ cái hay các nhóm chữ cái khác. Văn bản được mật mã hóa bằng mật mã cổ điển có xu hướng lộ ra các thông tin thống kê nhất định về văn bản thường. Bằng cách sử dụng các thông tin này, mật mã cổ điển rất dễ bị dò ra (ví dụ bằng phân tích tần suất). Mật mã cổ điển vẫn còn được phổ biến tới ngày nay, chủ yếu thông qua việc giải các ô đố chữ (xem tài liệu viết bằng mật mã).
Các thiết bị và các kỹ thuật khác nhau đã được sử dụng để mật mã hóa. Một trong những thiết bị sớm nhất có lẽ là gậy mật mã (tiếng Hy Lạp: σκυτάλη). Trong nửa đầu thế kỷ 20, một số thiết bị cơ khí đã được phát minh để thực hiện mật mã hóa, bao gồm rotor machines — nổi tiếng nhất là máy Enigma được người Đức sử dụng trong Đại chiến thế giới 2. Mật mã thực hiện bằng các máy móc này đã tăng độ phức tạp lên đáng kể đối với công việc phân tích mã.
Với sự ra đời của máy tính kỹ thuật số và điện tử học thì các mật mã cực kỳ phức tạp đã có thể được thực hiện. Đặc trưng của mật mã máy tính là chúng thực hiện trên các chuỗi nhị phân, không giống như trong các mô hình mật mã hóa cổ điển và cơ học (chỉ sử dụng bảng chữ cái với khoảng 26 ký tự-phụ thuộc vào từng ngôn ngữ). Mật mã máy tính cũng có khả năng chịu đựng việc phân tích mật mã tốt hơn; rất ít các mật mã như thế dễ bị tổn thương chỉ bởi kiểu tấn công biết bản mã.
Các nghiên cứu rộng rãi có tính học thuật về mật mã hóa hiện đại là tương đối gần đây — nó chỉ được bắt đầu trong cộng đồng mở kể từ những năm thập niên 1970 với các chi tiết kỹ thuật của DES (viết tắt trong tiếng Anh của Data Encryption Standard tức Tiêu chuẩn Mật mã hóa Dữ liệu) và sự phát minh ra RSA. Kể từ đó, mật mã hóa đã trở thành công cụ được sử dụng rộng rãi trong liên lạc và bảo mật máy tính.
Cũng giống như các bài học thu được từ trong lịch sử của nó, các nhà mật mã hóa cũng rất thận trọng khi nhắc đến tương lai. Định luật Moore thông thường được nhắc đến khi nói về độ lớn khóa, và các hiệu ứng tiềm năng của máy tính lượng tử cũng đã được nói

An ninh thông tin

Mật mã hóa được sử dụng phổ biến để đảm bảo an toàn cho thông tin liên lạc. Các thuộc tính được yêu cầu là:
  1. Bí mật: Chỉ có người nhận đã xác thực có thể lấy ra được nội dung của thông tin chứa đựng trong dạng đã mật mã hóa của nó. Nói khác đi, nó không thể cho phép thu lượm được bất kỳ thông tin đáng kể nào về nội dung của thông điệp.
  2. Nguyên vẹn: Người nhận cần có khả năng xác định được thông tin có bị thay đổi trong quá trình truyền thông hay không.
  3. Xác thực: Người nhận cần có khả năng xác định người gửi và kiểm tra xem người gửi đó có thực sự gửi thông tin đi hay không.
  4. Không từ chối: Người gửi không thể từ chối việc mình đã gửi thông tin đi.
  5. Chống lặp lại: Không cho phép bên thứ ba copy lại văn bản và gửi nhiều lần đến người nhận mà người gửi không hề hay biết.
Mật mã học có thể cung cấp cơ chế để giúp đỡ thực hiện điều này. Tuy nhiên, một số mục tiêu không phải bao giờ cũng là cần thiết, trong nghĩa cảnh của thực tế hay mong muốn của người sử dụng. Ví dụ, người gửi thông tin có thể mong muốn giữ mình là nặc danh; trong trường hợp này tính không từ chối rõ ràng là không thích hợp.

Khóa đối xứng

Thuật toán khóa đối xứng là những thuật toán hoặc là sử dụng cùng một khóa cho việc mật mã hóa và giải mật mã hoặc là khóa (thứ hai) sử dụng để giải mật mã có thể dễ dàng tính được từ khóa (thứ nhất) đã dùng để mật mã hóa. Các thuật ngữ khác bao gồm mật mã hóa khóa cá nhân, mật mã hóa một khóa và mật mã hóa khóa đơn.
Một sự lặp lại (trên 6–10) của mật mã hóa khối SAFER-K. Các mật mã hiện đại thực hiện bởi máy tính có thể phức tạp hơn nhiều so với việc thực hiện bằng tay hay các máy cơ điện khác.
Khóa đối xứng có thể nhóm thành mật mã khốimật mã luồng. Mật mã luồng mật mã hóa 1 bit tại một thời điểm, ngược lại với mật mã khối là phương thức cho phép thực hiện trên một nhóm các bit ("khối") với độ dài nào đó trong một lần. Phụ thuộc vào phương thức thực hiện, mật mã khối có thể được thực hiện như là mật mã luồng tự đồng bộ (chế độ CFB). Tương tự, mật mã luồng có thể làm để nó hoạt động trên các khối riêng rẽ của văn bản thường tại một thời điểm. Vì thế, ở đây tồn tại sự đối ngẫu giữa hai cách thức này. Các mật mã khối như DES, IDEAAES, và mật mã luồng như RC4, là những loại mật mã khóa đối xứng nổi tiếng nhất.
Các nền tảng mật mã học khác đôi khi cũng được phân loại như là mật mã học khóa đối xứng:
  • Các hàm băm mật mã sản sinh ra sự băm thông điệp. Trong khi nó có thể rất dễ tính toán nhưng nó lại rất khó để đảo ngược (hàm một chiều), cho dù các thuộc tính khác thông thường cũng là cần thiết. MD5SHA-1 là các hàm băm nổi tiếng nhất.
  • Các MAC (mã xác thực thông điệp), cũng được biết đến như là hàm băm có khóa, là tương tự như các hàm băm, ngoại trừ việc cần có khóa để tính toán việc băm. Như tên gọi của nó, chúng được sử dụng rộng rãi để xác thực thông điệp. Chúng thông thường được xây dựng từ các nền tảng khác, chẳng hạn từ mật mã khối, hàm băm không khóa hay mật mã luồng.

Khóa công khai

Các thuật toán Mã hóa khóa đối xứng có một số trở ngại không thuận tiện — hai người muốn trao đổi các thông tin bí mật cần phải chia sẻ khóa bí mật. Khóa cần phải được trao đổi theo một cách thức an toàn, mà không phải bằng các phương thức thông thường vẫn dùng để liên lạc. Điều này thông thường là bất tiện, và mật mã hóa khóa công khai (hay khóa bất đối xứng) được đưa ra như là một giải pháp thay thế. Trong mật mã hóa khóa công khai có hai khóa được sử dụng, là khóa công khai (hay khóa công cộng) và khóa bí mật (hay khóa cá nhân), trong đó khóa công khai dùng để mật mã hóa còn khóa bí mật dùng để giải mật mã (cũng có thể thực hiện ngược lại). Rất khó để có thể thu được khóa bí mật từ khóa công khai. Điều này có nghĩa là một người nào đó có thể tự do gửi khóa công khai của họ ra bên ngoài theo các kênh không an toàn mà vẫn chắc chắn rằng chỉ có họ có thể giải mật mã các thông điệp được mật mã hóa bằng khóa đó.
Các thuật toán khóa công khai thông thường dựa trên các vấn đề toán học với độ khó NP. Ví dụ RSA, dựa trên độ khó (ước đoán) của bài toán phân tích ra thừa số nguyên tố. Vì lý do thuận tiện, các hệ thống mật mã hóa lai ghép được sử dụng trong thực tế; khóa được trao đổi thông qua mật mã khóa công khai, và phần còn lại của thông tin được mật mã hóa bằng cách sử dụng thuật toán khóa đối xứng (điều này về cơ bản là nhanh hơn). Mật mã hóa đường cong elip là một dạng thuật toán khóa công khai có thể có một số ưu điểm so các hệ thống khác.
Mật mã hóa bất đối xứng cũng cung cấp cơ chế cho chữ ký số, là cách thức để xác minh với độ bảo mật cao (giả thiết cho rằng khóa cá nhân liên quan được đảm bảo giữ an toàn) rằng thông điệp mà người nhận đã nhận được là chính xác được gửi đi từ phía người gửi mà họ yêu cầu. Các chữ ký như vậy thông thường (theo luật định hay được suy diễn mặc định) được coi là chữ ký số tương đương với chữ ký thật trên các tài liệu được in ra giấy. Xét về phương diện kỹ thuật, chúng lại không phải vậy do không có sự tiếp xúc thực tế mà cũng không có liên hệ giữa "người ký" và "chữ ký". Sử dụng hợp thức các thiết kế có chất lượng cao và các bổ sung khác tạo ra khả năng có được độ an toàn cao, làm cho chữ ký điện tử vượt qua phần lớn các chữ ký thật cẩn thận nhất về mức độ thực của nó (khó bị giả mạo hơn). Các ví dụ về các giao thức chữ ký số hóa bao gồm DSAchữ ký ElGamal. Các chữ ký số hóa là trung tâm trong các hoạt động của hạ tầng khóa công cộng (PKI) và rất nhiều hệ thống an ninh mạng (ví dụ Kerberos, phần lớn các mạng riêng ảo (VPN) v.v). Giống như mật mã hóa, các thuật toán lai ghép thông thường được sử dụng trong thực tế, thay vì ký trên toàn bộ chứng từ thì hàm băm mật mã hóa của chứng từ được ký.
Mật mã khóa bất đối xứng cũng cung cấp nền tảng cho các kỹ thuật khóa thỏa thuận xác thực mật khẩu (PAKA) và không kỹ năng kiểm chứng mật khẩu (ZKPP). Điều này là quan trọng khi xét theo phương diện của các chứng minh lý thuyết và kinh nghiệm rằng việc xác thực chỉ bằng mật khẩu sẽ không đảm bảo an toàn trên mạng chỉ với khóa mật mã đối xứng và các hàm băm.

Các chủ đề khác

Độ an toàn của các hệ thống mật mã hóa thực tế vẫn chưa được chứng minh, đối với cả các hệ thống khóa đối xứng và bất đối xứng. Đối với mật mã khóa đối xứng, độ bảo mật thu được trong thuật toán thông thường là giai thoại — chẳng hạn vẫn chưa có tấn công nào trên các thuật toán được thông báo là thành công trong nhiều năm gần đây mặc dù có các phân tích rất tích cực. Vì thế mật mã loại này có thể có độ an toàn chứng minh được khi chống lại một tập hợp hữu hạn các cách thức tấn công. Đối với các hệ thống bất đối xứng, nói chung dựa trên độ khó của các vấn đề toán học có liên quan, nhưng chúng cũng không phải là độ an toàn có thể chứng minh.
Mật mã học có mật mã với kiểm chứng mạnh của độ an toàn là mật mã Vernam. Tuy nhiên, nó yêu cầu các khóa (ít nhất) là có độ dài bằng độ dài văn bản thường, vì thế nói chung người ta cho rằng chúng là quá cồng kềnh để có thể áp dụng trong thực tế.
Science
Vấn đề chưa được giải quyết trong Khoa học máy tính: Các hàm một chiều là các hàm số rất dễ dàng tính toán nhưng khó để đảo ngược. Các hàm một chiều có tồn tại hay không?''
Khi độ an toàn của hệ thống bị mất, rất hiếm khi là do các điểm yếu trong các thuật toán mật mã hóa bị khai thác. Thông thường đó là do lỗi trong việc thực thi, trong giao thức được sử dụng hoặc do lỗi của con người. Việc nghiên cứu làm thế nào tốt nhất để thi hành và kết hợp mật mã hóa là lĩnh vực của chính nó, xem thêm: công nghệ mật mã hóa, công nghệ an ninhhệ thống mật mã.
Mật mã học có thể sử dụng để thi hành các giao thức khác nhau: không kỹ năng kiểm chứng, an toàn tính toán nhiều bênchia sẻ bí mật.
Mật mã học có thể sử dụng để thi hành việc quản lý bản quyền số hóa.
Trang này được sửa đổi lần cuối lúc 11:32, ngày 15 tháng 5 năm 2014.
 

10 mật mã huyền bí “đánh đố” nhân loại:

http://kienthuc.net.vn/giai-ma/10-mat-ma-huyen-bi-danh-do-nhan-loai-244818.html 

 

Lịch sử mật mã học

Bách khoa toàn thư mở Wikipedia
Mật mã học là một ngành có lịch sử từ hàng nghìn năm nay. Trong phần lớn thời gian phát triển của mình (ngoại trừ vài thập kỷ trở lại đây), lịch sử mật mã học chính là lịch sử của những phương pháp mật mã học cổ điển - các phương pháp mật mã hóa với bútgiấy, đôi khi có hỗ trợ từ những dụng cụ cơ khí đơn giản. Vào đầu thế kỷ 20, sự xuất hiện của các cơ cấu cơ khí và điện cơ, chẳng hạn như máy Enigma, đã cung cấp những cơ chế phức tạp và hiệu quả hơn cho việc mật mã hóa. Sự ra đời và phát triển mạnh mẽ của ngành điện tửmáy tính trong những thập kỷ gần đây đã tạo điều kiện để mật mã học phát triển nhảy vọt lên một tầm cao mới.
Sự phát triển của mật mã học luôn luôn đi kèm với sự phát triển của các kỹ thuật phá mã (hay thám mã). Các phát hiện và ứng dụng của các kỹ thuật phá mã trong một số trường hợp đã có ảnh hưởng đáng kể đến các sự kiện lịch sử. Một vài sự kiện đáng ghi nhớ bao gồm việc phát hiện ra bức điện Zimmermann khiến Hoa Kỳ tham gia Thế chiến I và việc phá mã thành công hệ thống mật mã của Đức Quốc xã góp phần làm đẩy nhanh thời điểm kết thúc thế chiến II.
Cho tới đầu thập kỷ 1970, các kỹ thuật liên quan tới mật mã học hầu như chỉ nằm trong tay các chính phủ. Hai sự kiện đã khiến cho mật mã học trở nên thích hợp cho mọi người, đó là: sự xuất hiện của tiêu chuẩn mật mã hóa DES và sự ra đời của các kỹ thuật mật mã hóa khóa công khai.

Mật mã học cổ điển

Những bằng chứng sớm nhất về sử dụng mật mã học là các chữ tượng hình không tiêu chuẩn tìm thấy trên các bức tượng Ai Cập cổ đại (cách đây khoảng 4500). Những ký hiệu tỏ ra không phải để phục vụ mục đích truyền thông tin bí mật mà có vẻ như là nhằm mục đích gợi nên những điều thần bí, trí tò mò hoặc thậm chí để tạo sự thích thú cho người xem. Ngoài ra còn rất nhiều ví dụ khác về những ứng dụng của mật mã học hoặc là những điều tương tự. Muộn hơn, các học giả về tiếng Hebrew có sử dụng một phương pháp mã hóa thay thế bảng chữ cái đơn giản chẳng hạn như mật mã Atbash (khoảng năm 500 đến năm 600). Mật mã học từ lâu đã được sử dụng trong các tác phẩm tôn giáo để che giấu thông tin với chính quyền hoặc nền văn hóa thống trị. Ví dụ tiêu biểu nhất là "số chỉ kẻ thù của Chúa" (tiếng Anh: Number of the Beast) xuất hiện trong kinh Tân Ước của Cơ đốc giáo. Ở đây, số 666 có thể là cách mã hóa để chỉ đến Đế chế La Mã hoặc là đến hoàng đế Nero của đế chế này. Việc không đề cập trực tiếp sẽ đỡ gây rắc rối khi cuốn sách bị chính quyền chú ý. Đối với Cơ đốc giáo chính thống thì việc che giấu này kết thúc khi Constantine cải đạo và chấp nhận đạo Cơ đốc là tôn giáo chính thống của đế chế.
Gậy mật mã của người Hy Lạp là một trong những dụng cụ đầu tiên trong ngành mật mã hoá
Người Hy Lạp cổ đại cũng được biết đến là đã sử dụng các kỹ thuật mật mã (chẳng hạn như gậy mật mã). Cũng có những bằng chứng rõ ràng chứng tỏ người La Mã nắm được các kỹ thuật mật mã (mật mã Caesar và các biến thể). Thậm chí đã có những đề cập đến một cuốn sách nói về mật mã trong quân đội La Mã; tuy nhiên cuốn sách này đã thất truyền.
Tại Ấn Độ, mật mã học cũng khá nổi tiếng. Trong cuốn sách Kama Sutra, mật mã học được xem là cách những người yêu nhau trao đổi thông tin mà không bị phát hiện.

Thời Trung cổ

Xem thêm: Bản thảo Voynich
Nguyên do xuất phát có thể là từ việc phân tích bản kinh Qur'an, do nhu cầu tôn giáo, mà kỹ thuật phân tích tần suất đã được phát minh để phá vỡ các hệ thống mật mã đơn ký tự vào khoảng năm 1000. Đây chính là kỹ thuật phá mã cơ bản nhất được sử dụng, mãi cho tới tận thời điểm của thế chiến thứ II. Về nguyên tắc, mọi kỹ thuật mật mã đều không chống lại được kỹ thuật phân tích mã (cryptanalytic technique) này cho tới khi kỹ thuật mật mã dùng nhiều bảng chữ cái được Alberti sáng tạo (năm 1465). [cần dẫn nguồn]
Mật mã học (tuy âm thầm) ngày càng trở nên quan trọng dưới tác động của những thay đổi, cạnh tranh trong chính trị và tôn giáo. Chẳng hạn tại châu Âu, trong và sau thời kỳ Phục hưng, các công dân của các thành bang thuộc Ý, gồm cả các thành bang thuộc giáo phậnCông giáo La Mã, đã sử dụng và phát triển rộng rãi các kỹ thuật mật mã. Tuy nhiên rất ít trong số này tiếp thu được công trình của Alberti (các công trình của họ không phản ảnh sự hiểu biết hoặc tri thức về kỹ thuật tân tiến của Alberti) và do đó hầu như tất cả những người phát triển và sử dụng các hệ thống này đều quá lạc quan về độ an toàn. Điều này hầu như vẫn còn đúng cho tới tận hiện nay, nhiều nhà phát triển không xác định được điểm yếu của hệ thống. Do thiếu hiểu biết cho nên các đánh giá dựa trên suy đoán và hy vọng là phổ biến.
Mật mã học, phân tích mã học và sự phản bội của nhân viên tình báo, của người đưa thư, đều xuất hiện trong âm mưu Babington diễn ra dưới triều đại của nữ hoàng Elizabeth I dẫn đến kết cục xử tử nữ hoàng Mary I của Scotland. Một thông điệp được mã hóa từ thời "người dưới mặt nạ sắt" (Man in the Iron Mask) (được giải mã vào khoảng 1900 bởi Étienne Bazeries) cho biết một số thông tin về số phận của tù nhân này (đáng tiếc thay là những thông tin này cũng chưa được rõ ràng cho lắm). Mật mã học, và những lạm dụng của nó, cũng là những phần tử liên quan đến mưu đồ dẫn tới việc xử tử Mata Hari và âm mưu quỷ quyệt dẫn đến trò hề trong [[vụ Dreyfus|việc kết án Dreyfus và bỏ tù hai người đầu thế kỷ 20. May mắn thay, những nhà mật mã học (cryptographer) cũng nhúng tay vào việc phơi bày mưu đồ dẫn đến các khúc mắc của Dreyfus; Mata Hari, ngược lại, đã bị bắn chết.
Ngoài các nước ở Trung Đông và châu Âu, mật mã học hầu như không được phát triển. Tại Nhật Bản, mãi cho tới 1510, mật mã học vẫn chưa được sử dụng và các kỹ thuật tiên tiến chỉ được biết đến sau khi nước này mở cửa với phương Tây (thập kỷ 1860).

Mật mã học từ 1800 tới Thế chiến II

Tuy mật mã học có một lịch sử dài và phức tạp, mãi cho đến thế kỷ 19 nó mới được phát triển một cách có hệ thống, không chỉ còn là những tiếp cận nhất thời, vô tổ chức. Những ví dụ về phân tích mã bao gồm công trình của Charles Babbage trong kỷ nguyên của Chiến tranh Krim (Crimean War) về toán phân tích mật mã đơn ký tự. Công trình của ông, tuy hơi muộn màng, đã được Friedrich Kasiski, người Phổ, khôi phục và công bố. Tại thời điểm này, để hiểu được mật mã học, người ta thường phải dựa vào những kinh nghiệm từng trải (rules of thumb); xin xem thêm các bài viết về mật mã học của Auguste Kerckhoffs cuối thế kỷ 19. Trong thập niên 1840, Edgar Allan Poe đã xây dựng một số phương pháp có hệ thống để giải mật mã. Cụ thể là, ông đã bày tỏ khả năng của mình trong tờ báo hằng tuần Alexander's Weekly (Express) MessengerPhiladelphia, mời mọi người đệ trình các phương pháp mã hóa của họ, và ông là người đứng ra giải. Sự thành công của ông gây chấn động với công chúng trong vài tháng. Sau này ông có viết một luận văn về các phương pháp mật mã hóa và chúng trở thành những công cụ rất có lợi, được áp dụng vào việc giải mã của Đức trong Thế chiến II.
Trong thời gian trước và tới thời điểm của Thế chiến II, nhiều phương pháp toán học đã hình thành (đáng chú ý là ứng dụng của William F. Friedman dùng kỹ thuật thống kê để phân tích và kiến tạo mật mã, và thành công bước đầu của Marian Rejewski trong việc bẻ gãy mật mã của hệ thống Enigma của Quân đội Đức). Sau Thế chiến II trở đi, cả hai ngành, mật mã học và phân tích mã, ngày càng sử dụng nhiều các cơ sở toán học. Tuy thế, chỉ đến khi máy tính và các phương tiện truyền thông Internet trở nên phổ biến, người ta mới có thể mang tính hữu dụng của mật mã học vào trong những thói quen sử dụng hằng ngày của mọi người, thay vì chỉ được dùng bởi các chính quyền quốc gia hay các hoạt động kinh doanh lớn trước đó.

Mật mã học trong Thế chiến II

Máy Enigma được Phát Xít Đức sử dụng rộng rãi; việc phá vỡ hệ thống này đã mang lại cho quân Đồng Minh những tin tức tình báo cực kỳ quan trọng
Trong thế chiến II, các hệ thống mật mã cơ khícơ điện tử được sử dụng rộng rãi mặc dù các hệ thống thủ công vẫn được dùng tại những nơi không đủ điều kiện. Các kỹ thuật phân tích mật mã đã có những đột phá trong thời kỳ này, tất cả đều diễn ra trong bí mật. Cho đến gần đây, các thông tin này mới dần được tiết lộ do thời kỳ giữ bí mật 50 năm của chính phủ Anh đã kết thúc, các bản lưu của Hoa Kỳ dần được công bố cùng với sự xuất hiện của các bài báo và hồi ký có liên quan.
Người Đức đã sử dụng rộng rãi một hệ thống máy rôto cơ điện tử, dưới nhiều hình thức khác nhau, có tên gọi là máy Enigma. Vào tháng 12 năm 1932, Marian Rejewski, một nhà toán học tại Cục mật mã Ba Lan (tiếng Ba Lan: Biuro Szyfrów), đã dựng lại hệ thống này dựa trên toán học và một số thông tin có được từ các tài liệu do đại úy Gustave Bertrand của tình báo quân sự Pháp cung cấp. Đây có thể coi là đột phá lớn nhất trong lịch sử phân tích mật mã trong suốt một nghìn năm trở lại. Rejewski cùng với các đồng sự của mình là Jerzy RóżyckiHenryk Zygalski đã tiếp tục nghiên cứu và bắt nhịp với những tiến hóa trong các thành phần của hệ thống cũng như các thủ tục mật mã hóa. Cùng với những tiến triển của tình hình chính trị, nguồn tài chính của Ba Lan trở nên cạn kiệt và nguy cơ của cuộc chiến tranh trở nên gần kề, vào ngày 25 tháng 7 năm 1939 tại Warszawa, cục mật mã Ba Lan, dưới chỉ đạo của bộ tham mưu, đã trao cho đại diện tình báo Pháp và Anh những thông tin bí mật về hệ thống Enigma.
Ngay sau khi Thế chiến II bắt đầu (ngày 1 tháng 9 năm 1939), các thành viên chủ chốt của cục mật mã Ba Lan được sơ tán về phía tây nam; và đến ngày 17 tháng 9, khi quân đội Liên Xô tiến vào Ba Lan, thì họ lại được chuyển sang România. Từ đây, họ tới Paris (Pháp). Tại PC Bruno, ở gần Paris, họ tiếp tục phân tích Enigma và hợp tác với các nhà mật mã học của Anh tại Bletchley Park lúc này đã tiến bộ kịp thời. Những người Anh, trong đó bao gồm những tên tuổi lớn của ngành mật mã học như Gordon WelchmanAlan Turing, người sáng lập khái niệm khoa học điện toán hiện đại, đã góp công lớn trong việc phát triển các kỹ thuật phá mã hệ thống máy Enigma.
Ngày 19 tháng 4 năm 1945, các tướng lĩnh cấp cao của Anh được chỉ thị không được tiết lộ tin tức rằng mã Enigma đã bị phá, bởi vì như vậy nó sẽ tạo điều kiện cho kẻ thù bị đánh bại cơ sở để nói rằng họ đã "không bị đánh bại một cách sòng phẳng" (were not well and fairly beaten)[1].
Các nhà mật mã học của Hải quân Mỹ (với sự hợp tác của các nhà mật mã học Anh và Hà Lan sau 1940) đã xâm nhập được vào một số hệ thống mật mã của Hải quân Nhật. Việc xâm nhập vào hệ thống JN-25 trong số chúng đã mang lại chiến thắng vẻ vang cho Mỹ trong trận Midway. SIS, một nhóm trong quân đội Mỹ, đã thành công trong việc xâm nhập hệ thống mật mã ngoại giao tối mật của Nhật (một máy cơ điện dùng "bộ chuyển mạch dịch bước" (stepping switch) được người Mỹ gọi là Purple) ngay cả trước khi thế chiến II bắt đầu. Người Mỹ đặt tên cho những bí mật mà học tìm được từ việc thám mã, có thể đặc biệt là từ việc phá mã máy Purple, với cái tên "Magic". Người Anh sau này đặt tên cho những bí mật mà họ tìm ra trong việc thám mã, đặc biệt là từ luồng thông điệp được mã hóa bởi các máy Enigma, là "Ultra". Cái tên Anh trước đó của UltraBoniface.
Quân đội Đức cũng cho triển khai một số thử nghiệm cơ học sử dụng thuật toán mật mã dùng một lần (one-time pad). Bletchley Park gọi chúng là mã Fish, và ông Max Newman cùng đồng nghiệp của mình đã thiết kế ra một máy tính điện tử số khả lập trình (programmable digital electronic computer) đầu tiên là máy Colossus để giúp việc thám mã của họ. Bộ ngoại giao Đức bắt đầu sử dụng thuật toán mật mã dùng một lần vào năm 1919; một số luồng giao thông của nó đã bị người ta đọc được trong Thế chiến II, một phần do kết quả của việc khám phá ra một số tài liệu chủ chốt tại Nam Mỹ, do sự bất cẩn của những người đưa thư của Đức không hủy thông điệp một cách cẩn thận.
Bộ ngoại giao của Nhật cũng cục bộ xây dựng một hệ thống dựa trên nguyên lý của "bộ điện cơ chuyển mạch dịch bước" (được Mỹ gọi là Purple), và đồng thời cũng sử dụng một số máy tương tự để trang bị cho một số tòa đại sứ Nhật Bản. Một trong số chúng được người Mỹ gọi là "Máy-M" (M-machine), và một cái nữa được gọi là "Red". Tất cả những máy này đều ít nhiều đã bị phía Đồng Minh phá mã.
SIGABA được miêu tả trong Bằng sáng chế của Mỹ 6.175.625, đệ trình năm 1944 song mãi đến năm 2001 mới được phát hành
Các máy mật mã mà phe Đồng Minh sử dụng trong thế chiến II, bao gồm cả máy TypeX của Anh và máy SIGABA của Mỹ, đều là những thiết kế cơ điện dùng rôto trên tinh thần tương tự như máy Enigma, song với nhiều nâng cấp lớn. Không có hệ thống nào bị phá mã trong quá trình của cuộc chiến tranh. Người Ba Lan sử dụng máy Lacida, song do tính thiếu an ninh, máy không tiếp tục được dùng. Các phân đội trên mặt trận chỉ sử dụng máy M-209 và các máy thuộc họ M-94 ít bảo an hơn. Đầu tiên, các nhân viên mật vụ trong Cơ quan đặc vụ của Anh (Special Operations Executive - SOE) sử dụng "mật mã thơ" (các bài thơ mà họ ghi nhớ là những chìa khóa), song ở những thời kỳ sau trong cuộc chiến, họ bắt đầu chuyển sang dùng các hình thức của mật mã dùng một lần (one-time pad).

Mật mã học hiện đại

Shannon

Nhiều người cho rằng kỷ nguyên của mật mã học hiện đại được bắt đầu với Claude Shannon, người được coi là cha đẻ của mật mã toán học. Năm 1949 ông đã công bố bài Lý thuyết về truyền thông trong các hệ thống bảo mật (Communication Theory of Secrecy Systems) trên tập san Bell System Technical Journal - Tập san kỹ thuật của hệ thống Bell - và một thời gian ngắn sau đó, trong cuốn Mathematical Theory of Communication - Lý thuyết toán học trong truyền thông - cùng với tác giả Warren Weaver. Những công trình này, cùng với những công trình nghiên cứu khác của ông về lý thuyết về tin học và truyền thông (information and communication theory), đã thiết lập một nền tảng lý thuyết cơ bản cho mật mã học và thám mã học. Với ảnh hưởng đó, mật mã học hầu như bị thâu tóm bởi các cơ quan truyền thông mật của chính phủ, chẳng hạn như NSA, và biến mất khỏi tầm hiểu biết của công chúng. Rất ít các công trình được tiếp tục công bố, cho đến thời kỳ giữa thập niên 1970, khi mọi sự được thay đổi.

Tiêu chuẩn mật mã

Thời kỳ giữa thập niên kỷ 1970 được chứng kiến hai tiến bộ công chính lớn (công khai). Đầu tiên là sự công bố đề xuất Tiêu chuẩn mật mã hóa dữ liệu (Data Encryption Standard) trong "Công báo Liên bang" (Federal Register) ở nước Mỹ vào ngày 17 tháng 3 năm 1975. Với đề cử của Cục Tiêu chuẩn Quốc gia (National Bureau of Standards - NBS) (hiện là NIST), bản đề xuất DES được công ty IBM (International Business Machines) đệ trình trở thành một trong những cố gắng trong việc xây dựng các công cụ tiện ích cho thương mại, như cho các nhà băng và cho các tổ chức tài chính lớn. Sau những chỉ đạo và thay đổi của NSA, vào năm 1977, nó đã được chấp thuận và được phát hành dưới cái tên Bản Công bố về Tiêu chuẩn Xử lý Thông tin của Liên bang (Federal Information Processing Standard Publication - FIPS) (phiên bản hiện nay là FIPS 46-3). DES là phương thức mật mã công khai đầu tiên được một cơ quan quốc gia như NSA "tôn sùng". Sự phát hành bản đặc tả của nó bởi NBS đã khuyến khích sự quan tâm chú ý của công chúng cũng như của các tổ chức nghiên cứu về mật mã học.
Năm 2001, DES đã chính thức được thay thế bởi AES (viết tắt của Advanced Encryption Standard - Tiêu chuẩn mã hóa tiên tiến) khi NIST công bố phiên bản FIPS 197. Sau một cuộc thi tổ chức công khai, NIST đã chọn Rijndael, do hai nhà mật mã người Bỉ đệ trình, và nó trở thành AES. Hiện nay DES và một số biến thể của nó (như Tam phần DES (Triple DES); xin xem thêm trong phiên bản FIPS 46-3), vẫn còn được sử dụng, do trước đây nó đã được gắn liền với nhiều tiêu chuẩn của quốc gia và của các tổ chức. Với chiều dài khoá chỉ là 56-bit, nó đã được chứng minh là không đủ sức chống lại những tấn công kiểu vét cạn (brute force attack - tấn công dùng bạo lực). Một trong những cuộc tấn công kiểu này được thực hiện bởi nhóm "nhân quyền cyber" (cyber civil-rights group) tên là Tổ chức tiền tuyến điện tử (Electronic Frontier Foundation) vào năm 1997, và đã phá mã thành công trong 56 tiếng đồng hồ—câu chuyện này được nhắc đến trong cuốn Cracking DES (Phá vỡ DES), được xuất bản bởi "O'Reilly and Associates". Do kết quả này mà hiện nay việc sử dụng phương pháp mật mã hóa DES nguyên dạng, có thể được khẳng định một cách không nghi ngờ, là một việc làm mạo hiểm, không an toàn, và những thông điệp ở dưới sự bảo vệ của những hệ thống mã hóa trước đây dùng DES, cũng như tất cả các thông điệp được truyền gửi từ năm 1976 trở đi sử dụng DES, đều ở trong tình trạng rất đáng lo ngại. Bất chấp chất lượng vốn có của nó, một số sự kiện xảy ra trong năm 1976, đặc biệt là sự kiên công khai nhất của Whitfield Diffie, chỉ ra rằng chiều dài khóa mà DES sử dụng (56-bit) là một khóa quá nhỏ. Đã có một số nghi ngờ xuất hiện nói rằng một số các tổ chức của chính phủ, ngay tại thời điểm hồi bấy giờ, cũng đã có đủ công suất máy tính để phá mã các thông điệp dùng DES; rõ ràng là những cơ quan khác cũng đã có khả năng để thực hiện việc này rồi.

Khóa công khai

Tiến triển thứ hai, vào năm 1976, có lẽ còn đột phá hơn nữa, vì tiến triển này đã thay đổi nền tảng cơ bản trong cách làm việc của các hệ thống mật mã hóa. Đó chính là công bố của bài viết phương hướng mới trong mật mã học (New Directions in Cryptography) của Whitfield DiffieMartin Hellman. Bài viết giới thiệu một phương pháp hoàn toàn mới về cách thức phân phối các khóa mật mã. Đây là một bước tiến khá xa trong việc giải quyết một vấn đề cơ bản trong mật mã học, vấn đề phân phối khóa, và nó được gọi là trao đổi khóa Diffie-Hellman (Diffie-Hellman key exchange). Bài viết còn kích thích sự phát triển gần như tức thời của một lớp các thuật toán mật mã hóa mới, các thuật toán chìa khóa bất đối xứng (asymmetric key algorithms).
Trước thời kỳ này, hầu hết các thuật toán mật mã hóa hiện đại đều là những thuật toán khóa đối xứng (symmetric key algorithms), trong đó cả người gửi và người nhận phải dùng chung một khóa, tức khóa dùng trong thuật toán mật mã, và cả hai người đều phải giữ bí mật về khóa này. Tất cả các máy điện cơ dùng trong thế chiến II, kể cả mã Caesar và mã Atbash, và về bản chất mà nói, kể cả hầu hết các hệ thống mã được dùng trong suốt quá trình lịch sử nữa đều thuộc về loại này. Đương nhiên, khóa của một mã chính là sách mã (codebook), và là cái cũng phải được phân phối và giữ gìn một cách bí mật tương tự.
Do nhu cầu an ninh, khóa cho mỗi một hệ thống như vậy nhất thiết phải được trao đổi giữa các bên giao thông liên lạc bằng một phương thức an toàn nào đấy, trước khi họ sử dụng hệ thống (thuật ngữ thường được dùng là 'thông qua một kênh an toàn'), ví dụ như bằng việc sử dụng một người đưa thư đáng tin cậy với một cặp tài liệu được khóa vào cổ tay bằng một cặp khóa tay, hoặc bằng cuộc gặp gỡ mặt đối mặt, hay bằng một con chim bồ câu đưa thư trung thành... Vấn đề này chưa bao giờ được xem là dễ thực hiện, và nó nhanh chóng trở nên một việc gần như không thể quản lý được khi số lượng người tham gia tăng lên, hay khi người ta không còn các kênh an toàn để trao đổi khóa nữa, hoặc lúc họ phải liên tục thay đổi các chìa khóa - một thói quen nên thực hiện trong khi làm việc với mật mã. Cụ thể là mỗi một cặp truyền thông cần phải có một khóa riêng nếu, theo như thiết kế của hệ thống mật mã, không một người thứ ba nào, kể cả khi người ấy là một người dùng, được phép giải mã các thông điệp. Một hệ thống thuộc loại này được gọi là một hệ thống dùng chìa khóa mật, hoặc một hệ thống mật mã hóa dùng khóa đối xứng. Hệ thống trao đổi khóa Diffie-Hellman (cùng những phiên bản được nâng cấp kế tiếp hay các biến thể của nó) tạo điều kiện cho các hoạt động này trong các hệ thống trở nên dễ dàng hơn rất nhiều, đồng thời cũng an toàn hơn, hơn tất cả những gì có thể làm trước đây.
Ngược lại, đối với mật mã hóa dùng khóa bất đối xứng, người ta phải có một cặp khóa có quan hệ toán học để dùng trong thuật toán, một dùng để mã hóa và một dùng để giải mã. Một số những thuật toán này, song không phải tất cả, có thêm đặc tính là một trong các khóa có thể được công bố công khai trong khi cái kia không thể nào (ít nhất bằng những phương pháp hiện có) được suy ra từ khóa 'công khai'. Trong các hệ thống này, khóa còn lại phải được giữ bí mật và nó thường được gọi bằng một cái tên, hơi có vẻ lộn xộn, là khóa 'cá nhân' (private key) hay khóa bí mật. Một thuật toán thuộc loại này được gọi là một hệ thống 'khóa công khai' hay hệ thống khóa bất đối xứng. Đối với những hệ thống dùng các thuật toán này, mỗi người nhận chỉ cần có một cặp chìa khóa mà thôi (bất chấp số người gửi là bao nhiêu đi chăng nữa). Trong 2 khóa, một khóa luôn được giữ bí mật và một được công bố công khai nên không cần phải dùng đến một kênh an toàn để trao đổi khóa. Chỉ cần đảm bảo khóa bí mật không bị lộ thì an ninh của hệ thống vẫn được đảm bảo và có thể sử dụng cặp khóa trong một thời gian dài. Đặc tính đáng ngạc nhiên này của các thuật toán tạo khả năng, cũng như tính khả thi, cho phép việc triển khai các hệ thống mật mã có chất lượng cao một cách rộng rãi, và ai cũng có thể sử dụng chúng được.
Các thuật toán mật mã khóa bất đối xứng dựa trên một lớp các bài toán gọi là hàm một chiều (one-way functions). Các hàm này có đặc tính là rất dễ dàng thực hiện theo chiều xuôi nhưng lại rất khó (về khối lượng tính toán) để thực hiện theo chiều ngược lại. Một ví dụ kinh điển cho lớp bài toán này là hàm nhân hai số nguyên tố rất lớn. Ta có thể tính tích số của 2 số nguyên tố này một cách khá dễ dàng nhưng nếu chỉ cho biết tích số thì rất khó để tìm ra 2 thừa số ban đầu. Do những đặc tính của hàm một chiều, hầu hết các khóa có thể lại là những khóa yếu và chỉ còn lại một phần nhỏ có thể dùng để làm khóa. Vì thế, các thuật toán khóa bất đối xứng đòi hỏi độ dài khóa lớn hơn rất nhiều so với các thuật toán khóa đối xứng để đạt được độ an toàn tương đương. Ngoài ra, việc thực hiện thuật toán khóa bất đối xứng đòi hỏi khối lượng tính toán lớn hơn nhiều lần so với thuật toán khóa đối xứng. Bên cạnh đó, đối với các hệ thống khóa đối xứng, việc tạo ra một khóa ngẫu nhiên để làm khóa phiên chỉ dùng trong một phiên giao dịch là khá dễ dàng. Vì thế, trong thực tế người ta thường dùng kết hợp: hệ thống mật mã khóa bất đối xứng được dùng để trao đổi khóa phiên còn hệ thống mật mã khóa đối xứng dùng khóa phiên có được để trao đổi các bản tin thực sự.
Mật mã học dùng khóa bất đối xứng, tức trao đổi khóa Diffie-Hellman, và những thuật toán nổi tiếng dùng khóa công khai / khóa bí mật (ví dụ như cái mà người ta vẫn thường gọi là thuật toán RSA), tất cả hình như đã được xây dựng một cách độc lập tại một cơ quan tình báo của Anh, trước thời điểm công bố của Diffie and Hellman vào năm 1976. Sở chỉ huy giao thông liên lạc của chính phủ (Government Communications Headquarters - GCHQ) - Cơ quan tình báo Anh Quốc - có xuất bản một số tài liệu quả quyết rằng chính họ đã xây dựng mật mã học dùng khóa công khai, trước khi bài viết của Diffie và Hellman được công bố. Nhiều tài liệu mật do GCHQ viết trong quá trình những năm 19601970, là những bài cuối cùng cũng dẫn đến một số kế hoạch đại bộ phận tương tự như phương pháp mật mã hóa RSA và phương pháp trao đổi chìa khóa Diffie-Hellman vào năm 19731974. Một số tài liệu này hiện được phát hành, và những nhà sáng chế (James H. Ellis, Clifford Cocks, và Malcolm Williamson) cũng đã cho công bố (một số) công trình của họ.cvcvvvvvvvvvvv

Chính trị trong mật mã học

Kết quả của việc này đã phá vỡ tính gần như độc quyền về mật mã học của các tổ chức chính phủ trên toàn thế giới (Xem Crypto (Bí mật) của Steven Levy để biết thêm về bài báo nói đến điều luật gây tranh cãi ở Mỹ). Lần đầu tiên trong lịch sử, những người không làm việc trong các tổ chức của chính phủ được phép truy cập các mật mã mà ngay cả chính phủ cũng khó có thể bẻ gãy được. Rất nhiều cuộc tranh cãi và xung động, công khai lẫn bí mật, khởi sự tức thời và đến bây giờ cũng vẫn chưa lắng xuống. Tại rất nhiều các quốc gia, xuất khẩu mật mã (export of cryptography) vẫn còn là một vấn đề bị hạn chế. Mãi đến năm 1996 việc xuất khẩu mật mã ở Mỹ dùng những chìa khóa dài hơn 40 bit, vẫn còn là một việc hết sức giới hạn. Ngay cả đến năm 2004, cựu giám đốc của FBI, Louis Freeh, cũng đã làm chứng trước Hội đồng 9/11 (9/11 Commission), kêu gọi việc phát hành những luật pháp mới chống lại việc sử dụng mật mã trong môi trường công cộng.
Người biện hộ nổi tiếng nhất đối với việc cho phép công chúng sử dụng các mật mã có độ tin cậy cao là Phil Zimmermann, với việc xuất bản chương trình ứng dụng PGP (Pretty Good Privacy) của mình vào năm 1991. Khi ông cảm thấy bị đe dọa bởi các điều lệ pháp luật, lúc đó đang được chính phủ Mỹ cân nhắc, và nó đòi hỏi là tất cả các giải pháp mật mã trong nước Mỹ phải tạo các cửa sau (back doors) - cho phép chính phủ theo dõi việc sử dụng, hoặc đọc nội dung của chúng - ông đã cho phát hành một phiên bản PGP miễn phí. Những cố gắng của ông trong việc phát hành PGP trên toàn cầu đã mang lại cho ông một cuộc đấu tranh lâu dài với Bộ Tư Pháp (Justice Department) vì viện tội là ông đã vi phạm các điều khoản hạn chế trong xuất khẩu (export restrictions). Bộ Tư Pháp cuối cùng phải hủy bỏ bản cáo trạng chống lại Zimmermann, và sự phân bố phần mềm PGP miễn phí được lan truyền trên khắp toàn cầu, cuối cùng nó đã trở thành một tiêu chuẩn mở (open standard) (xem RFC2440 hay OpenPGP)

Các kỹ thuật phá mã hiện đại

Những nhà mật mã học hiện đại đôi khi phải khai thác một số lớn các mạch tích hợp (integrated circuit) - hay còn gọi là vi mạch. Mạch điện này là một phần cơ bản trong Bộ phá mã DES của Tổ chức tiền tuyến điện tử (EFF DES cracker) và nó bao gồm 1800 chip tùy biến và có thể bẻ gãy (dùng phương pháp vét cạn) một khóa DES chỉ trong vòng vài ngày.
Trong khi những mã hiện đại tương tự như AES được đại bộ phận cho rằng là những mã không thể phá được, một số những thiết kế nghèo nàn vẫn đôi khi được chấp nhận và sử dụng, và do đó đã gây ra không ít những vụ phá mã, dùng phương pháp thám mã, đã xảy ra trong những thập kỷ gần đây. Ví dụ về những thiết kế mật mã bị bẻ gãy nổi tiếng bao gồm DES, mã hóa WEP phiên bản đầu tiên dùng trong kỹ thuật truyền thông vô tuyến Wi-Fi, Hệ thống Xáo trộn Nội dung (Content Scrambling System) được sử dụng để mã hóa và quản lý việc sử dụng DVD, và với các mã A5/1, A5/2 được sử dụng trong điện thoại di động GSM. Thêm vào đó, chưa có một chứng minh nào khẳng định được nền tảng toán học của mật mã dùng khóa công khai là 'không thể bẻ gãy', cho nên tiến triển của toán học trong tương lai có thể sẽ làm cho những hệ thống phụ thuộc vào chúng trở nên mất an toàn. Trong khi một số nhà quan sát nhìn trước được nguy cơ bị chọc thủng như vậy, thì độ lớn khóa đề nghị đối với việc bảo an lại càng ngày càng phải tăng lên, vì công suất máy tính cần thiết để bẻ gãy các mã càng ngày càng trở nên rẻ tiền hơn và sẵn có.
Trang này được sửa đổi lần cuối lúc 18:06, ngày 3 tháng 1 năm 2014.

Không có nhận xét nào:

Đăng nhận xét