Mật mã đa bảng là bất kỳ mật mã dựa trên thay thế, dùng nhiều bảng chữ cái thay thế. Trong mật mã thay thế đa bảng, chữ cái bản rõ được mã hóa khác nhau dựa trên vị trí trong văn bản. Thay vì tương quan một-một, có mối quan hệ một-nhiều giữa mỗi chữ cái và các thay thế của nó.
Ví dụ, 'a' có thể mã hóa thành 'd' ở đầu văn bản, nhưng 'n' ở giữa. Mật mã đa bảng có lợi che giấu tần suất chữ cái ngôn ngữ gốc. Do đó kẻ tấn công không dùng thống kê tần suất chữ cái đơn để bẻ mật mã.
Mật mã đa bảng đầu tiên là mật mã Alberti do Leon Battista Alberti phát minh 1467. Dùng bảng chữ cái ngẫu nhiên mã hóa bản rõ, nhưng tại các điểm khác nhau chuyển sang bảng chữ cái trộn khác, đánh dấu chuyển đổi bằng chữ hoa trong bản mã.
Để dùng mật mã này, Alberti dùng đĩa mật mã hiển thị liên kết chữ cái bản rõ và bản mã. Trong mật mã này, mỗi ký tự bản mã phụ thuộc cả ký tự bản rõ tương ứng và vị trí ký tự bản rõ trong thông điệp.
Như tên đa bảng gợi ý, đạt được bằng dùng nhiều khóa thay vì một khóa. Nghĩa là khóa phải là luồng khóa con, mỗi khóa con phụ thuộc vị trí ký tự bản rõ cần khóa con cho mã hóa.
Nói cách khác, cần luồng khóa k = (K₁, K₂, K₃...) trong đó Kᵢ dùng mã hóa ký tự thứ i bản rõ tạo ký tự thứ i bản mã. Thuật toán đơn giản và nổi tiếng nhất loại này là mật mã Vigenere.
Mật mã Vigenere là một trong thuật toán đơn giản và phổ biến nhất trong mật mã đa bảng. Phương pháp này, văn bản bảng chữ cái mã hóa dùng chuỗi nhiều mật mã Caesar dựa trên chữ cái từ khóa.
Mật mã Caesar thay mỗi chữ cái bản rõ bằng chữ cái đứng vị trí cố định bên phải trong bảng chữ cái. Dịch chuyển thực hiện modulo 26. Ví dụ, Caesar dịch 3: A→D, B→E, v.v.
Mật mã Vigenère chứa nhiều mật mã thay thế đơn giản tuần tự với nhiều giá trị dịch chuyển. Trong mật mã này, từ khóa lặp lại cho đến khi bằng độ dài bản rõ.
Mã hóa thực hiện bằng đi đến hàng trong bảng tương ứng khóa, tìm cột tiêu đề chữ cái bản rõ tương ứng; chữ cái tại giao hàng/cột của Vuông Vigenere tạo ký tự bản mã. Phần còn lại bản rõ mã hóa tương tự.