矩阵维数为n × n (n − 1 )。我们要使用介于1和n之间(包括1和n)的整数来填充A。
要求:
- 每一列都是1 ,… ,n的排列。
- 由两行组成的任何子矩阵不能具有相同的列。
题:
是否可以填充满足要求的矩阵?
与密码学的关系:
每个行号对应一个纯文本。每列对应一个键。由于键定义了注入,因此每一列都必须是一个排列。第二个要求是对两个消息完全保密。
1
假设您已经用cr.crypto-security标记了它,那么如果您可以声明它与加密/安全性之间的关系,它将改善这个问题。
—
戴夫·克拉克
简单观察:存在n≤4的矩阵。对于n≤3,采用所有排列。对于n = 4,唯一的解决方案是采用所有偶数排列或所有奇数排列。
—
伊藤刚(Tsuyoshi Ito)
谢谢,伊藤 其实我想出答案时手。但是,事情变得更加困难,当ñ ≥ 5。发生指数爆炸。
—
Cyker
(1)我认为该问题与编码理论有关,并将其添加为标签。(2)另一个观察结果:问题也可以陈述如下。找出大小为n×(n ^ 2)的矩阵B,使得B的前n列中的每一个都是相同数目的n个重复,并且B满足问题中的条件2。如果存在这样的B,则B的最后n(n-1)列中的每一个都必须是一个排列。相反地,满足条件1和2的任何矩阵A可以通过n表示列附着到左A的转换为矩阵B
—
刚伊藤