La matrice a la dimension . Nous voulons remplir utilisant des entiers compris entre et , inclus.n × n ( n - 1 ) A 1 n
Exigences:
- Chaque colonne de est une permutation de .1 , … , n
- Toute sous-matrice formée de deux rangées de ne peut pas avoir de colonnes identiques.
Question:
Est-il possible de remplir la matrice répondant aux exigences?
Relation avec la cryptographie:
Chaque numéro de ligne correspond à un texte en clair. Chaque colonne correspond à une clé. Puisqu'une clé définit une injection, chaque colonne doit être une permutation. La deuxième exigence est le secret parfait pour deux messages.
Réponses:
Tsuyoshi, belle observation dans ton commentaire! Je pense que cela résout presque le problème.
Considérez les deux questions suivantes
L'observation de Tsuyoshi dans son commentaire montre que si vous pouvez atteindre une valeur pour la question (1), vous pouvez atteindre la même valeur k pour la question (2). Nous montrons maintenant que si nous pouvons atteindre une valeur k pour la question (2), nous pouvons atteindre la valeur k - 1 pour la question (1). Ainsi, la réponse à ces deux questions est presque la même.k k k k - 1
La construction se déroule comme suit: Ignorez la première ligne, sauf mettez tous les dans les n premières positions. Vous pouvez maintenant appliquer une permutation des valeurs { 1 , 2 , … , n } à chacune des k - 1 lignes restantes de sorte que, à l'exception de la première entrée, chacune des n premières colonnes contient des valeurs identiques, et par l'observation de Tsuyoshi dans le commentaire, cela vous donne un ensemble de k - 1 lignes satisfaisant votre condition.1 n { 1 , 2 , … , n } k - 1 n k - 1
Maintenant, si vous avez un ensemble de lignes de longueur n 2 avec chaque paire de lignes contenant toutes les paires ordonnées dans chaque colonne, alors cela équivaut à un ensemble de k - 2 carrés latins orthogonaux . Chacune des lignes 3 , 4 , … , k donne un carré latin. Pour obtenir le carré latin associé à la ligne j , mettez la valeur dans la i ème colonne de la ligne j dans la cellule dont les coordonnées sont données par la paire ordonnée dans la i ème colonne des deux premières lignes.k n2 k - 2 3 4 … k j je j je
Si n'est pas une puissance première, combien de carrés latins mutuellement orthogonaux d'ordre n existent est un problème ouvert célèbre, et je ne crois pas qu'aucun ensemble de n - 2 carrés latins orthogonaux existe pour n pas une puissance première; le consensus général est que de tels ensembles n'existent pas. Le seul résultat prouvé jusqu'à présent est qu'un tel ensemble n'existe pas pour n = 6 . On sait que le nombre k de lignes possibles croît au moins comme k = Ω ( n c ) pour certains cn n n - 2 n n = 6 k k = Ω ( nc) c . Je crois qu'il y a 8 carrés latins orthogonaux d'ordre 10 est encore ouvert. (On sait qu'il n'y en a pas 9, mais en raison de la différence possible de dans la réponse aux deux questions, cela ne nous dit rien sur le problème d'origine.)1
Pour , le k maximum que vous pouvez obtenir est de 3, et il s'avère que vous pouvez obtenir trois lignes pour le problème (1) en regardant n'importe quel carré latin 6 × 6 avec une transversale, dont il existe de nombreux exemples non équivalents . Pour n = 10 , il existe des constructions connues donnant deux carrés latins orthogonaux. Si ces carrés ont une transversale commune, alors vous pouvez obtenir k = 4 pour le problème (1).n = 6 k 6×6 n=10 k=4
la source
Ceci est une solution partielle. Une telle matrice existe si n est une puissance première.
Soit F le corps fini d'ordre n . Nous construisons une matrice n × n ( n −1) dont les lignes sont étiquetées par F , dont les colonnes sont étiquetées par ( F ∖ {0}) × F , et dont les entrées sont en F comme suit: la i- ème ligne de la la colonne étiquetée ( a , b ) est donnée par ai + b . En d'autres termes, chaque colonne correspond à un polynôme de degré dans une F . Ensuite, chaque colonne contient chaque élément de F exactement une fois, et deux colonnes n'ont pas les mêmes entrées sur plus d'une ligne car les valeurs de deux polynômes de degré un distincts peuvent coïncider au plus en un point.
(Si vous voulez une matrice dont les entrées sont dans {1,…, n } au lieu de dans F , remplacez arbitrairement les éléments de F par {1,…, n }.)
la source