Trước hết, mật mã thay thế một bảng chữ cái có thể là khái niệm thay thế một bảng chữ cái hoặc mã hóa chỉ sử dụng kỹ thuật này. Điều đó có nghĩa là, Ceaser là sự thay thế một bảng chữ cái, bởi vì nó sử dụng khái niệm này. Sự khác biệt đối với sự thay thế một bảng chữ cái "thực" là việc tạo khóa không hoàn toàn ngẫu nhiên.
Cá nhân tôi sẽ không định nghĩa $\mathcal{M}, \mathcal{C}, \mathcal{K}$ theo cách bạn đã làm, bởi vì tôi nghĩ rằng nó không đủ rõ ràng. Một định nghĩa toán học hơn có thể tốt hơn:
- $\mathcal{M} = \{ a,b,c,...,z\}^*$ và $\mathcal{C} = \{ a,b,c,...,z\}^*$
Tôi cũng muốn tránh $\mathcal{M} = \mathcal{C}$ bởi vì nó có thể đúng về mặt toán học, nhưng có thể gây hiểu lầm cho người đọc. Tôi chọn $\{ a,b,c,...,z\}^*$, bởi vì thông thường không gian tin nhắn là $\{0,1\}^*$ và tôi đã điều chỉnh điều đó cho phù hợp với bối cảnh nhất định.
Bây giờ tôi nghĩ bạn không thể định nghĩa $\mathcal{K} = S_{26}$. Là gì $S$? tôi sẽ xác định $\mathcal{K} = \{f_k\mid k \in \{a,...,z\}\}$, ở đâu $f_k$ là một chức năng thay thế bijective.
Mã hóa và giải mã có vẻ tốt. Tôi sẽ làm như thế cho một tin nhắn $m = m_1, ... m_n \in \mathcal{M}$:
- $Enc_k(m)$: $c_i = f_{m_i}(m_i)\forall i \in \{1,...,n\}$
- $Dec_k(c)$: $m_i = f^{-1}_{c_i}(c_i) \forall i \in \{1,...,n\}$
Thế hệ sau đó có thể được định nghĩa là:
- $Gen$: Chọn một sự thay thế ngẫu nhiên $f_k$ Cho mọi $k \in \{a,...,z\}$, để có thể $f^{-1}_k$ là hàm nghịch đảo song ánh