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"). 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ế"). 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. 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à formula_1. 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. 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.