Матрица имеет размерность n × n ( n - 1 ) . Мы хотим заполнить A, используя целые числа от 1 до n включительно.
Требования:
- Каждый столбец является перестановкой 1 , … , n .
- Любая подматрица, образованная двумя строками не может иметь одинаковые столбцы.
Вопрос:
Можно ли заполнить матрицу, удовлетворяющую требованиям?
Отношение к криптографии:
Каждый номер строки соответствует открытому тексту. Каждый столбец соответствует ключу. Поскольку ключ определяет инъекцию, каждый столбец должен быть перестановкой. Второе требование - полная секретность двух сообщений.
Ответы:
Tsuyoshi, большое замечание в вашем комментарии! Я думаю, что это почти решает проблему.
Рассмотрим следующие два вопроса
источник
Это частичное решение. Такая матрица существует, если n - простая степень.
Пусть F - конечное поле порядка n . Мы строим матрицу n × n ( n − 1), строки которой помечены буквой F , столбцы которой помечены ( F ∖ {0}) × F , а записи которой находятся в F следующим образом: i-я строка столбец с меткой ( a , b ) задается как ai + b . На словах, каждый столбец соответствует степени полинома-один в F . Тогда каждый столбец содержит каждый элемент F ровно один раз, и никакие два столбца не имеют одинаковых записей в более чем одной строке, потому что значения двух различных многочленов степени один могут совпадать не более чем в одной точке.
(Если вам нужна матрица, элементы которой находятся в {1,…, n } вместо F , замените элементы F на {1,…, n } произвольно.)
источник