В данной работе будут рассмотрены альтернативы для используемых в наше время криптосистем с открытым ключом, а именно криптосистемы, основанные на задаче о рюкзаке. Один из вариантов такой системы предложили Ральф Меркл и Мартин Хеллман [5]. В данных системах открытым ключом является последовательность объектов (весов), в самом простом случае это последовательность натуральных чисел. Отправитель вычисляет сумму только тех объектов, которые соответствуют единицам в сообщении, представленном в бинарном виде, далее эта сумма пересылается адресату. В общем случае задача восстановления сообщения по вышеуказанной сумме NP-полная задача. Однако секретным ключом являются параметры прямого и обратного преобразований весов, преобразование строится таким образом, чтобы в обычном виде задача по расшифровке была сложна, а в преобразованном виде решалась быстро.
В итоге было показано, что система Меркла-Хеллмана действительно ненадёжна на практике. При продолжении её изучения можно рассматривать модификации, например, когда множество весов разбито на несколько частей, в каждой из которых веса образуют супервозрастающую последовательность только по своему модулю. Однако гораздо более широкий простор действий открывают ранцевые криптосистемы с объектами-векторами. Например, ключ в системе Нидеррайтера (одной из таких систем) обязан быть большим по памяти для обеспечения стойкости системы, это происходит вследствие малого веса используемых ошибок, и это возможно исправить. Для дальнейших исследований можно сформулировать следующую задачу: изучить основанные на теории кодирования ранцевые криптосистемы с объектами-векторами при разных способах кодирования и различных заданиях множества допустимых ошибок.
[1] Kannan Ravindran, Bachem Achim. Polynomial algorithms for computing the Smith and Hermite normal forms of an integer matrix // SIAM Journal on Computing. — 1979. — Vol. 8, no. 4. — P. 499-507.
[2] Lenstra A. K., Lenstra H. W. Jr., Lovasz Laszlo. Factoring polynomials with rational coefficients // Math. Ann.— 1982.— Vol. 261.— P. 515-534.
[3] Lenstra H. W. Jr. Integer programming with a fixed number of variables // Math. Oper. Res. — 1983. — Vol. 8. — P. 538-548.
[4] McEliece R. J. A Public-Key Cryptosystem Based On Algebraic Coding Theory // Deep Space Network Progress Report.-- 1978.-- Vol. 44.— P. 114-116.
[5] Merkle Ralph C., Hellman Martin E. Hiding information and signatures in trapdoor knapsacks // IEEE Transactions on Information Theory. -1978. -- Vol. 24, no. 5. -- P. 525-530.
[6] Niederreiter Harald. Knapsack-type cryptosystems and algebraic coding theory // Problems of Control and Information Theory. -- 1986. -Vol. 15, no. 2. — P. 159-166.
[7] Shamir Adi. A polynomial-time algorithm for breaking the basic Merkle- Hellman cryptosystem // IEEE Transactions on Information Theory. -1984. — Vol. 30, no. 5. — P. 699-704.