Mật mã học là một lĩnh vực liên quan đến 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. Trong 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 tin có thể nhận thức được thành dạng không 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 nghành nghề dịch vụ liên ngành, được tạo ra từ 1 số ít nghành nghề dịch vụ khác. Các dạng cổ nhất của mật mã hóa đa phần tương quan với những kiểu mẫu trong ngôn từ. Gần đây thì tầm quan trọng đã biến hóa và mật mã hóa sử dụng và gắn liền nhiều hơn với toán học, đơn cử là toán học rời rạc, gồm có những yếu tố tương quan đến kim chỉ nan số, triết lý thông tin, độ phức tạp giám sát, thống kê và tổng hợp. Mật mã hóa cũng được coi là một nhánh của công nghệ tiên tiến, nhưng nó được coi là không thông thường vì nó tương quan đến những sự chống đối ngầm ( xem công nghệ tiên tiến mật mã hóa và công nghệ tiên tiến bảo mật an ninh ). Mật mã hóa là công cụ được sử dụng trong bảo mật an ninh máy tính và mạ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).
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ể.
Bạn đang đọc: Mật mã học – Wikipedia tiếng Việt
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ã là 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ã. Hệ thống mã hóa bao gồm: mã hóa,mật hóa,văn bản hóa,…. 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, “mã” 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 mã 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ế.
Như vậy trong một mạng lưới hệ thống mật mã khái quát sẽ có những 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”.!
Mục tiêu của thám mã ( phá mã ) là tìm những điểm yếu hoặc không bảo đảm an toàn trong phương pháp mật mã hóa. Thám mã hoàn toàn có thể được triển khai bởi những kẻ tiến công ác ý, nhằm mục đích làm hỏng mạng lưới hệ thống ; hoặc bởi những người phong cách thiết kế ra mạng lưới hệ thống ( hoặc những người khác ) với dự tính nhìn nhận độ bảo đảm an toàn của mạng lưới hệ thống .Có rất nhiều mô hình tiến công thám mã, và chúng hoàn toàn có thể được phân loại theo nhiều cách khác nhau. Một trong những đặc thù tương quan là những người tiến công hoàn toàn có thể biết và làm những gì để hiểu được thông tin bí hiểm. Ví dụ, những người thám mã chỉ truy vấn đượ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í còn : Anh ta có lựa chọn những bản rõ ngẫu nhiên để mật mã hóa ? Các ngữ cảnh này tương ứng với tiến công bản mã, tiến công biết bản rõ và tiến công lựa chọn 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ính và Thám mã vi phân là những giải pháp chung cho mật mã hóa khóa đối xứng. Khi mật mã hóa dựa vào những yếu tố 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, những thuật toán như nghiên cứu và 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ã .
Gậy mật mã của người Hy Lạp là một trong những dụng cụ tiên phong 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à những 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ẽ rằng là gậy mật mã ( tiếng Hy Lạp : σκυτάλη ). Trong nửa đầu thế kỷ XX, một số ít thiết bị cơ khí đã được ý tưởng để thực thi mật mã hóa, gồm có rotor machines — nổi tiếng nhất là máy Enigma được người Đức sử dụng trong Đại chiến quốc tế 2. Mật mã triển khai bằng những máy móc này đã tăng độ phức tạp lên đáng kể so với việc làm nghiên cứu và phân tích mã .Với sự sinh ra của máy tính kỹ thuật số và điện tử học thì những mật mã cực kỳ phức tạp đã hoàn toàn có thể được triển khai. Đặc trưng của mật mã máy tính là chúng triển khai trên những chuỗi nhị phân, không giống như trong những quy mô mật mã hóa cổ xưa và cơ học ( chỉ sử dụng bảng vần âm với khoảng chừng 26 ký tự-phụ thuộc vào từng ngôn từ ). Mật mã máy tính cũng có năng lực chịu đựng việc nghiên cứu và phân tích mật mã tốt hơn ; rất ít những mật mã như thế dễ bị tổn thương chỉ bởi kiểu tiế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ư những bài học kinh nghiệm thu được từ trong lịch sử vẻ vang của nó, những 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ì được nhắc đến khi nói về độ lớn khóa, và những hiệu ứng tiềm năng của máy tính lượng tử cũng đã được nói
Mục lục nội dung
An ninh thông tin[sửa|sửa mã nguồn]
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à:
- 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.
- 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.
- 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.
- 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.
- 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 hoàn toàn có thể cung ứng chính sách để giúp sức triển khai điều này. Tuy nhiên, một số ít tiềm năng không phải khi nào cũng là thiết yếu, trong nghĩa cảnh của thực tiễn hay mong ước của người sử dụng. Ví dụ, người gửi thông tin hoàn toàn có thể mong ước giữ mình là nặc danh ; trong trường hợp này tính không khước từ rõ ràng là không thích hợp .
Khóa đối xứng[sửa|sửa mã nguồn]
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ự tái diễn ( trên 6 – 10 ) của mật mã hóa khối SAFER – K. Các mật mã văn minh thực thi bởi máy tính hoàn toàn có thể phức tạp hơn nhiều so với việc triển khai bằng tay hay những máy cơ điện khác .Khóa đối xứng hoàn toàn có thể nhóm thành mật mã khối và mật mã luồng. Mật mã luồng mật mã hóa 1 bit tại một thời gian, ngược lại với mật mã khối là phương pháp được cho phép triển khai trên một nhóm những bit ( ” khối ” ) với độ dài nào đó trong một lần. Phụ thuộc vào phương pháp triển khai, mật mã khối hoàn toàn có thể được thực thi như thể mật mã luồng tự đồng điệu ( chính sách CFB ). Tương tự, mật mã luồng hoàn toàn có thể làm để nó hoạt động giải trí trên những khối riêng rẽ của văn bản thường tại một thời gian. Vì thế, ở đây sống sót sự đối ngẫu giữa hai phương pháp này. Các mật mã khối như DES, IDEA và AES, 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 lúc cũng được phân loại như thể 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. MD5 và SHA-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 minh bạch[sửa|sửa mã nguồn]
Xem chi tiết: Mật mã hóa 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 DSA và chữ 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 ứng nền tảng cho những kỹ thuật khóa thỏa thuận hợp tác xác nhận mật khẩu ( PAKA ) và không kỹ năng và kiến thức 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 những chứng tỏ kim chỉ nan và kinh nghiệm tay nghề rằng việc xác nhận chỉ bằng mật khẩu sẽ không bảo vệ bảo đảm an toàn trên mạng chỉ với khóa mật mã đối xứng và những hàm băm .
Các chủ đề khác[sửa|sửa mã nguồn]
Độ bảo đảm an toàn của những mạng lưới hệ thống mật mã hóa thực tiễn vẫn chưa được chứng tỏ, so với cả những mạng lưới 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 thông tin thu được trong thuật toán thường thì là giai thoại — ví dụ điển hình vẫn chưa có tiến công nào trên những thuật toán được thông tin là thành công xuất sắc trong nhiều năm gần đây mặc dầu có những nghiên cứu và phân tích rất tích cực. Vì thế mật mã loại này hoàn toàn có thể có độ bảo đảm an toàn chứng tỏ được khi chống lại một tập hợp hữu hạn những phương pháp tiến công. Đối với những mạng lưới hệ thống bất đối xứng, nói chung dựa trên độ khó của những yếu tố toán học có tương quan, nhưng chúng cũng không phải là độ bảo đảm an toàn hoàn toàn có thể chứng tỏ .Mật mã học có mật mã với kiểm chứng mạnh của độ bảo đảm an toàn là mật mã Vernam. Tuy nhiên, nó nhu yếu những khóa ( tối thiểu ) là có độ dài bằng độ dài văn bản thường, do đó nói chung người ta cho rằng chúng là quá cồng kềnh để hoàn toàn có thể vận dụng trong thực tiễn .Khi độ bảo đảm an toàn của mạng lưới hệ thống bị mất, rất hiếm khi là do những điểm yếu trong những 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 điều tra và nghiên cứu làm thế nào tốt nhất để thi hành và tích hợp mật mã hóa là nghành của chính nó, xem thêm : công nghệ tiên tiến mật mã hóa, công nghệ tiên tiến bảo mật an ninh và mạng lưới hệ thống mật mã .Mật mã học hoàn toàn có thể sử dụng để thi hành những giao thức khác nhau : không kỹ năng và kiến thức kiểm chứng, bảo đảm an toàn giám sát nhiều bên và san sẻ bí hiểm .Mật mã học hoàn toàn có thể sử dụng để thi hành việc quản trị bản quyền số hóa .
Xem thêm: Viber
Liên kết ngoài[sửa|sửa mã nguồn]
Source: https://mindovermetal.org
Category: Ứng dụng hay