✨Thuật toán khóa đối xứng

Thuật toán khóa đối xứng

thumb|320x320px|Mã hóa khóa đối xứng: quá trình mã hóa và giải mã sử dụng cùng một khóa Trong mật mã học, các thuật toán khóa đối xứng (tiếng Anh: symmetric-key algorithms) là một lớp các thuật toán mật mã hóa trong đó các khóa dùng cho việc mật mã hóa và giải mã có quan hệ rõ ràng với nhau (có thể dễ dàng tìm được một khóa nếu biết khóa kia). Mã khóa loại này không công khai.

Khóa dùng để mã hóa có liên hệ một cách rõ ràng với khóa dùng để giải mã có nghĩa chúng có thể hoàn toàn giống nhau, hoặc chỉ khác nhau nhờ một biến đổi đơn giản giữa hai khóa. Trên thực tế, các khóa này đại diện cho một bí mật được phân hưởng bởi hai bên hoặc nhiều hơn và được sử dụng để giữ gìn sự bí mật trong kênh truyền thông tin.

Nhiều thuật ngữ khác dành cho việc mã hóa dùng chìa khóa đối xứng bao gồm các phương pháp mã hóa đơn khóa (single-key), phương pháp mã hóa một khóa (one-key) và phương pháp mã hóa khóa cá nhân (private-key). Cách sử dụng thuật ngữ sau cùng đôi khi gây xung đột với thuật ngữ khóa cá nhân (private-key) dùng trong mật mã hóa khóa công khai (public key cryptography).

Các loại thuật toán khóa đối xứng

Thuật toán đối xứng có thể được chia ra làm hai thể loại, mật mã luồng (stream ciphers) và mật mã khối (block ciphers). Mật mã luồng mã hóa từng bit của thông điệp trong khi mật mã khối gộp một số bit lại và mật mã hóa chúng như một đơn vị. Cỡ khối được dùng thường là các khối 64 bit. Thuật toán tiêu chuẩn mã hóa tân tiến (Advanced Encryption Standard), được NIST công nhận tháng 12 năm 2001, sử dụng các khối gồm 128 bit.

Các thuật toán đối xứng thường không được sử dụng độc lập. Trong thiết kế của các hệ thống mật mã hiện đại, cả hai thuật toán bất đối xứng (asymmetric) (dùng chìa khóa công khai) và thuật toán đối xứng được sử dụng phối hợp để tận dụng các ưu điểm của cả hai. Những hệ thống sử dụng cả hai thuật toán bao gồm những cái như SSL (Secure Sockets Layer), PGP (Pretty Good Privacy) và GPG (GNU Privacy Guard) v.v. Các thuật toán chìa khóa bất đối xứng được sử dụng để phân phối chìa khóa mật cho thuật toán đối xứng có tốc độ cao hơn.

Một số ví dụ các thuật toán đối xứng nổi tiếng và khá được tôn trọng bao gồm Twofish, Serpent, AES (còn được gọi là Rijndael), Blowfish, CAST5, RC4, Tam phần DES (Triple DES), và IDEA (International Data Encryption Algorithm - Thuật toán mật mã hóa dữ liệu quốc tế).

Tốc độ

Các thuật toán đối xứng nói chung đòi hỏi công suất tính toán ít hơn các thuật toán khóa bất đối xứng (asymmetric key algorithms). Trên thực tế, một thuật toán khóa bất đối xứng có khối lượng tính toán nhiều hơn gấp hằng trăm, hằng ngàn lần một thuật toán khóa đối xứng (symmetric key algorithm) có chất lượng tương đương.

Những hạn chế

Hạn chế của các thuật toán khóa đối xứng bắt nguồn từ yêu cầu về sự phân hưởng chìa khóa bí mật, mỗi bên phải có một bản sao của chìa. Do khả năng các chìa khóa có thể bị phát hiện bởi đối thủ mật mã, chúng thường phải được bảo an trong khi phân phối và trong khi dùng. Hậu quả của yêu cầu về việc lựa chọn, phân phối và lưu trữ các chìa khóa một cách không có lỗi, không bị mất mát là một việc làm khó khăn, khó có thể đạt được một cách đáng tin cậy.

Để đảm bảo giao thông liên lạc an toàn cho tất cả mọi người trong một nhóm gồm n người, tổng số lượng chìa khóa cần phải có là \begin{matrix} \frac {n{(n-1})}{2} \end{matrix}.

Hiện nay người ta phổ biến dùng các thuật toán bất đối xứng có tốc độ chậm hơn để phân phối chìa khóa đối xứng khi một phiên giao dịch bắt đầu, sau đó các thuật toán khóa đối xứng tiếp quản phần còn lại (xem Bảo an tầng giao vận (Transport Layer Security)). Vấn đề về bảo quản sự phân phối chìa khóa một cách đáng tin cậy cũng tồn tại ở tầng đối xứng, song ở một điểm nào đấy, người ta có thể kiểm soát chúng dễ dàng hơn. Tuy thế, các khóa đối xứng hầu như đều được sinh tạo tại chỗ.

Các thuật toán khóa đối xứng không thể dùng cho mục đích xác thực (authentication) hay mục đích chống thoái thác (non-repudiation) được.

Tính thuận nghịch

Theo định nghĩa, các hàm số dùng trong mật mã học phải có khả năng đảo ngược (reversible), vì chúng ta cần phải có khả năng vừa mật mã hóa các thông điệp song cũng đồng thời giải mã chúng (với điều kiện chúng ta có chìa khóa đúng của nó).

Trong quá khứ, nhiều phương pháp đã được sử dụng để giải quyết việc này. Trước đây, người ta đã từng dùng sách mật mã - trong đó chìa khóa phân hưởng liên quan đến nội dụng của quyển sách, mật mã khóa tự động - trong đó chìa khóa có thể được suy ra từ một phần của văn bản thuần túy (plaintext), mã đục lỗ (grill) (Có giả thuyết rằng phương pháp này đầu tiên được nhà toán học người Ý Gerolamo Cardano sáng chế), vân vân. Trong thời đại hiện nay, khi máy tính trở nên sẵn có, đa số các phương pháp mật mã đối xứng đều dựa trên cơ sở 'vòng' tuần hoàn (các lượt tính toán được nhắc đi nhắc lại). Thường thì một lượt được nhắc đi nhắc lại nhiều lần, theo một sự bố trí khá đơn giản, như trong ví dụ chung dưới đây. Phương pháp chung này thường được gán cho ông Horst Feistel. Để biết được nội dung có chiều sâu hơn nữa về phương pháp này (với biểu đồ minh họa), xin xem bài về Feistel cipher.

Những bit dùng để mã hóa được phân ra là hai phần, P1P2. P1 được giữ nguyên, không thay đổi, P2 được cộng (hay được XOR) với một hàm băm một chiều (one-way hashed function) f (được biến thiên bởi một chìa khóa hay một nhân tố (salt)) của P1. Hai kết quả này sau đó được đổi chỗ cho nhau. Mỗi quá trình này được gọi là 'một lượt' (hay một vòng).

Chẳng hạn với p1, p2, chìa khóa là các vectơ bit; Dấu phẩy (',') là toán tử phép ghép chuỗi và f là ánh xạ từ p1, p2 \mapsto p2^{\prime}, p1 hầu cho:

p2^{\prime} = p2 + \mathrm{f}(p1, key) (key = chìa khóa)

Vì kết quả của lượt tính này vẫn còn cho phép truy cập giá trị của P1, và tính cộng là một phép toán có thể đảo ngược được, cho nên phép toán có thể được hoàn giải, đối với bất cứ một hàm số f nào đấy.

Tuy đã kinh qua một vòng toán, song kết quả của nó vẫn chưa được an toàn cho lắm, vì p1 vẫn còn giữ nguyên giá trị và chưa bị thay đổi, nhưng nếu chúng ta lặp lại phép toán một hoặc nhiều lần, thường là bởi nhiều hàm số khác và với 'các chìa khóa của vòng toán' ('round keys'), thì kết quả sẽ tăng cường tính đảm bảo của nó rất nhiều (greatly improves the strength).

Để giải mã bội số lượt, mỗi lượt phải được giải theo trật tự ngược lại và vì thế, trong khi giải mã, các chìa khóa cũng phải được áp dụng theo trật tự ngược lại.

Sau nhiều lần (đa số là từ 8 đến 64 lần) thi hành, kết quả trở nên bị xáo trộn đến mức, như trong trường hợp khi các mã được thiết kế khá tốt, không có phương pháp giải mã nào nhanh hơn là phương pháp tìm khóa dùng bạo lực (brute force key search) và chỉ có phương pháp này mới có thể giải được.

Tấn công đối với các mật mã đối xứng

Trong quá khứ, các mã đối xứng thường rất dễ bị ảnh hưởng bởi các loại tấn công gọi là tấn công với văn bản thuần túy biết trước (known-plaintext attacks), tấn công với văn bản thuần túy chọn trước (chosen plaintext attacks), thám mã vi phân (differential cryptanalysis) và thám mã tuyến tính (linear cryptanalysis). Nếu mỗi hàm số sử dụng trong các vòng toán được thiết kế một cách cẩn thận, thì nó sẽ giảm khả năng chìa khóa của mã bị tấn công một cách thành công rất nhiều.

Khi được sử dụng với mật mã đối xứng để truyền tin chìa khóa mật mã, các trình sinh tạo chìa khóa giả ngẫu nhiên (pseudorandom key generators) thường được sử dụng để sinh tạo các chìa khóa dùng trong phiên giao dịch sử dụng mật mã đối xứng. Song trong quá khứ, sự thiếu hụt trong tính ngẫu nhiên của các trình sinh tạo ngẫu số hay trong các vectơ khởi tạo (initialization vectors) của chúng thường gây ra những thảm họa và thường dẫn đến các vụ mật mã bị bẻ gãy. Việc thực hiện và triển khai thận trọng, với khởi tạo (initialization) dựa trên những nguồn entrôpi có chất lượng cao là một yếu tố cần thiết để thuyên giảm sự mất mát trong an ninh.

👁️ 0 | 🔗 | 💖 | ✨ | 🌍 | ⌚
thumb|320x320px|Mã hóa khóa đối xứng: quá trình mã hóa và giải mã sử dụng cùng một khóa Trong mật mã học, các **thuật toán khóa đối xứng** (_tiếng Anh: symmetric-key algorithms_) là một lớp các
right|thumb|upright=0.8 thumb|upright=0.8|[[Nhóm đối xứng hình cầu o đại diện cho đối xứng quay bát diện. Vùng màu vàng hiển thị miền cơ bản.]] right|nhỏ|_[[Người Vitruvius_ của Leonardo da Vinci (khoảng 1487).]] thumb|Đối xứng ở các
Bài này nói về từ điển các chủ đề trong toán học. ## 0-9 * -0 * 0 * 6174 ## A * AES * ARCH * ARMA * Ada Lovelace * Adrien-Marie Legendre *
nhỏ| Để tìm kiếm một mục đã cho trong một danh sách theo thứ tự nhất định, có thể sử dụng cả thuật toán [[Tìm kiếm tuần tự|tìm kiếm nhị phân và tuyến tính (bỏ
phải|Chọn một số ngẫu nhiên lớn để sinh cặp khóa. phải|Dùng khoá công khai để mã hóa, nhưng dùng khoá bí mật để giải mã. phải|Dùng khoá bí mật để ký một thông báo;dùng khoá
Trong mật mã học, **hạ tầng khóa công khai** (, viết tắt _PKI_) là một cơ chế để cho một bên thứ 3 (thường là nhà cung cấp chứng thực số) cung cấp và xác
Trong hình học đại số và vật lý lý thuyết, **đối xứng gương** là mối quan hệ giữa các vật thể hình học được gọi là những đa tạp Calabi-Yau. Các đa tạp này có
thumb|Thuật toán Euclid để tìm ước chung lớn nhất (ƯCLN) của hai đoạn thẳng BA và DC, độ dài của cả hai đều là bội của một "đơn vị" độ dài chung. Vì độ dài
nhỏ|phải|[[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 được bao vệ các thông tin tính toán học nhạy cam.]] **Mật mã học** là một lĩnh vực
Toán học trong nghệ thuật: Bản khắc trên tấm đồng mang tên _[[Melencolia I_ (1514) của Albrecht Dürer. Những yếu tố liên quan đến toán học bao gồm com-pa đại diện cho hình học, hình
nhỏ|Nếu người bán hàng xuất phát từ điểm A, và nếu khoảng cách giữa hai điểm bất kì được biết thì đâu là đường đi ngắn nhất mà người bán hàng có thể thực hiện
**Độ lớn khóa ** (hay _độ dài khóa_), trong mật mã học, là khái niệm để đánh giá kích thước khóa có thể sử dụng trong một hệ thống mã hóa (theo bit hoặc byte).
nhỏ|khóa ( Trong mật mã học, **khóa** là một đoạn thông tin điều khiển hoạt động của thuật toán mật mã hóa. Nói một cách khác, khóa là thông tin để cá biệt hóa quá
Ngoài những vấn đề trên, về khía cạnh mật mã học, an ninh của PGP phụ thuộc vào các giả định về thuật toán mà nó sử dụng trong điều kiện về thiết bị và
thumb|right|Các thao tác bước xoay [[Rubik|khối lập phương Rubik tạo thành nhóm khối lập phương Rubik.]] Trong toán học, một **nhóm** (group) là một tập hợp các phần tử được trang bị một phép toán
**Trao đổi khóa Diffie–Hellman** (**D-H**) là một phương pháp trao đổi khóa được phát minh sớm nhất trong mật mã học. Phương pháp trao đổi khóa Diffie–Hellman cho phép hai bên (người, thực thể giao
**Phẫu thuật mắt** là phẫu thuật ngoại khoa thực hiện trên mắt hoặc trên các phần phụ của nó, được thực hiện bởi một bác sĩ nhãn khoa. Mắt là một cơ quan rất mỏng
thumb | [[Hoá học là một phân nhánh của khoa học tự nhiên]] **Khoa học** là một hệ thống kiến thức về những định luật, cấu trúc và cách vận hành của thế giới tự
**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ã
Trong mật mã học, **RSA** là một thuật toán mật mã hóa khóa công khai. Đây là thuật toán đầu tiên phù hợp với việc tạo ra chữ ký điện tử đồng thời với việc
thumb|[[Vincent van Gogh, tháng 7 năm 1890, _Đồng lúa và những con quạ_.]] **Tâm lý học mỹ thuật** là một lĩnh vực liên ngành nghiên cứu về quan niệm, nhận thức và đặc điểm của
nhỏ|430x430px|BrdU (màu đỏ), thể hiện quá trình neurogenesis trong trung khu dưới hạt (SGZ) của vùng DG hồi hải mã. Hình ảnh minh họa này của Faiz và cộng sự, năm 2005. **Khoa học thần
[[Siêu máy tính song song hàng loạt Blue Gene/P của IBM]] **Tính toán song song** (tiếng Anh: _Parallel computing_), là một hình thức tính toán trong đó nhiều phép tính và tiến trình được thực
Thí nghiệm của [[James Prescott Joule, năm 1843, để phát hiện sự chuyển hóa năng lượng từ dạng này (cơ năng) sang dạng khác (nhiệt năng)]] Trong vật lý và hóa học, **định luật bảo
**Tổ Xung Chi** (chữ Hán: 祖沖之; 429-500) là nhà khoa học nổi tiếng thời Nam Bắc triều trong lịch sử Trung Quốc. Ông là người đầu tiên trên thế giới tính được số pi chính
Trong tài chính, **phân tích kỹ thuật** là một phương pháp phân tích chứng khoán dự báo hướng của giá cả thông qua việc nghiên cứu các dữ liệu thị trường quá khứ, chủ yếu
Thí nghiệm kiểm tra lý thuyết tương đối tổng quát đạt độ chính xác cao nhờ tàu thăm dò không gian [[Cassini–Huygens|Cassini (ảnh minh họa): Các tín hiệu radio được gửi đi giữa Trái Đất
**Viên Thuật** (chữ Hán: 袁术; 155 – 199), tên tự là **Công Lộ** (公路), là một lãnh chúa quân phiệt vào cuối thời Đông Hán, đầu thời Tam Quốc trong lịch sử Trung Quốc. Trong
**Lịch sử của thuyết tương đối hẹp** bao gồm rất nhiều kết quả lý thuyết và thực nghiệm do nhiều nhà bác học khám phá như Albert Abraham Michelson, Hendrik Lorentz, Henri Poincaré và nhiều
nhỏ|Chân dung ba thanh niên, hai người mặc trang phục thổ dân **Biến đổi xã hội** (tiếng Anh: _Social change_) là một quá trình qua đó những khuôn mẫu của các hành vi xã hội,
Một **công dân kỹ thuật số** () là người có kỹ năng sử dụng công nghệ thông tin để giao tiếp với người khác, tham gia vào các hoạt động xã hội, kinh doanh và
Mô phỏng dựa theo thuyết tương đối rộng về chuyển động quỹ đạo xoáy tròn và hợp nhất của hai hố đen tương tự với sự kiện [[GW150914. Minh họa hai mặt cầu đen tương
_Cuốn [[The Compendious Book on Calculation by Completion and Balancing_]] Từ _toán học_ có nghĩa là "khoa học, tri thức hoặc học tập". Ngày nay, thuật ngữ "toán học" chỉ một bộ phận cụ thể
**Nghệ thuật môi trường** là một loạt những hoạt động nghệ thuật từ cách tiếp cận tự nhiên trước kia cho đến các tác phẩm có động cơ sinh thái và chính trị gần đây.
Trong vật lý học, **thuyết tương đối hẹp** (**SR**, hay còn gọi là **thuyết tương đối đặc biệt** hoặc **STR**) là một lý thuyết vật lý đã được xác nhận bằng thực nghiệm và chấp
**Đội Chiến dịch Đặc biệt số 13 (**tiếng Anh: **Special Operation Team No. 13)**, mật danh **Con Nai** (tiếng Anh: **Deer**), hay **Đội Con Nai** (tiếng Anh: **Deer Team**), là một nhóm đặc nhiệm tình
Khoa học máy tính nghiên cứu các cơ sở lý thuyết của thông tin và tính toán, cùng với các kỹ thuật thực tiễn để thực hiện và
thumb|mô hình đơn giản về quá trình trao đổi chất của tế bào thumb|right|Cấu trúc của [[adenosine triphosphate (ATP), một chất trung gian quan trọng trong quá trình chuyển hóa năng lượng]] **Trao đổi chất**
nhỏ|Các binh sĩ của [[Quân đội nhân dân Việt Nam đang duyệt binh trong bộ quân phục mới.]] **Hiện đại hóa** trong Quân đội nhân dân Việt Nam là một trong những mục tiêu theo
**Xung đột biên giới Nga – Thanh (1652 - 1689)** là một loạt các vụ đụng độ vũ trang giữa nhà Thanh, với sự trợ giúp từ nhà Triều Tiên, và Sa quốc Nga, tranh
**Tổng cục Kỹ thuật** trực thuộc Bộ Quốc phòng Việt Nam thành lập ngày 10 tháng 9 năm 1974 là cơ quan quản lý kỹ thuật đầu ngành của Bộ Quốc phòng có chức năng
**Kỹ thuật sáng tạo** là phương pháp khuyến khích hành động sáng tạo, dù là trong nghệ thuật hoặc khoa học. Họ tập trung vào nhiều khía cạnh của sự sáng tạo, bao gồm các
**Triết học toán học** là nhánh của triết học nghiên cứu các giả định, nền tảng và ý nghĩa của toán học, và các mục đích để đưa ra quan điểm về bản chất và
**Phân tích tính toán** (Analytics) là phân tích tính toán có hệ thống của dữ liệu hoặc thống kê. Đây là quá trình phát hiện, giải thích và truyền đạt các mô hình có ý
**Toán học của thuyết tương đối rộng** là mô hình chứa đựng cấu trúc và kỹ thuật toán học được sử dụng để nghiên cứu và thiết lập lên thuyết tương đối rộng của Einstein.
thumb|Bản sao tác phẩm điêu khắc _[[Reconciliation_ (1977) của Josefina de Vasconcellos, ban đầu được tặng cho Khoa Nghiên cứu Hòa bình của Đại học Bradford, nằm phía trước Nhà thờ Hòa giải tại địa
thế=Một Võ sư Võ cổ truyền Việt Nam.|nhỏ|Một [[Võ sư Võ cổ truyền Việt Nam.|225x225px]] **Võ thuật** là hệ thống được mã hóa và truyền thống chiến đấu được thực hành vì một số lý
Trong võ thuật, **đòn đánh** là những vận động của người phát lực nhằm gây ra tác động bất lợi cho đối thủ. Những tác động bất lợi đó thể hiện bằng sự tê liệt,
**Nha khoa** là một khoa học nghiên cứu, chẩn định, chữa và phòng chống các bệnh về răng và các bộ phận khác trong miệng như xương hàm, nướu, và mạc mô trong miệng, gồm
**Phẫu thuật chuyển giới** (tiếng Anh: **Sex reassignment surgery**, viết tắt là **SRS**), còn gọi là **giải phẫu chuyển đổi giới tính**, **phẫu thuật xác định lại giới tính**_,_ **phẫu thuật tái tạo bộ phận