Студопедия — Система шифрования методом укладки рюкзака. (Ранцевая система шифрования)
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Система шифрования методом укладки рюкзака. (Ранцевая система шифрования)






 

Классическая задача об укладке рюкзака формулируется следующим образом. Пусть имеется множество предметов с указанием их веса, некоторые представители которого укладываются в рюкзак. Зная вес наполненного рюкзака (без учета веса самого рюкзака), необходимо определить содержимое рюкзака.

Опишем задачу о рюкзаке с использованием вектора рюкзака и вектора данных. Вектор рюкзака представляет собой набор из n различных чисел (аналогично множеству различных предметов, укладываемых в рюкзак), т.е. . Вектор данных – множество двоичных символов, т.е. , где . Вес наполненного рюкзака есть сумма подмножества компонентов вектора рюкзака, определяемая как

.

Тогда задачу о рюкзаке можно сформулировать следующим образом: по заданному значению S и известном определить .

Пример 13.2.1. Пусть . Пусть . Требуется определить . Методом проб можно установить, что

.

Тогда . ð

В этом простом примере решение было найдено методом проб и ошибок, однако если в заданном множестве не 10, а 100 и более различных чисел, то задача может стать вычислительно неосуществимой. Следовательно, по заданному вектору нахождение S при известном осуществляется просто, как . Однако решение обратной задачи, т.е. нахождение по известному и заданному S представляет собой трудную в вычислительном плане задачу, и, значит, может рассматриваться как односторонняя функция.

Для организации схемы шифрования на основе этой задачи необходима не просто односторонняя функция, а функция с лазейкой, в качестве которой выступает быстровозрастающая последовательность компонентов вектора . Вектор будет быстровозрастающим, если для его компонентов выполняется соотношение

,

т.е. каждый компонент вектора больше суммы предшествующих ему компонентов. Тогда если является быстровозрастающим, то последний элемент , т.е. принимает значение единица, если , и – в противном случае. Все предшествующие элементы находятся согласно соотношению

(13.3)

где .

Пример 13.2.2. Пусть , а . Очевидно, что является быстровозрастающим. Тогда из (13.3) следует, что . ð

Из примера очевидным образом следует, что в случае наличия быстровозрастающего , т.е. лазейки, определение осуществляется достаточно просто, в противном же случае задача отыскания становится трудно осуществимой. Следовательно, в качестве части секретного ключа необходимо использовать быстровозрастающую последовательность и именно с учетом этого положения строить схему шифрования.

Данная схема шифрования, известная также как схема Меркла–Хэллмана, основана на образовании вектора , который не является быстровозрастающим. Следовательно, задача отыскания по при известном S не является легкоразрешимой. При этом схема обязательно должна содержать лазейку в виде быстровозрастающего вектора , который позволит разрешенным пользователям легко решить задачу.

Первоначально образуем быстро возрастающий вектор и выберем простое число P, при котором выполняется следующее неравенство

.

Затем случайным образом выберем число и вычислим , такое что

. (13.4)

Вектор и числа являются секретными. Затем из элементов сформируем вектор , компоненты которого определяются как

.

Формирование вектора согласно последнему соотношению знаменуют собой формирование вектора рюкзака с лазейкой. Так, если нужно передать сообщение, описываемое вектором , то первоначально умножается на , что дает число S, вычисляемое как

,

которое и передается по открытому каналу связи.

Санкционированный пользователь получает S и, используя соотношение (13.4), превращает его в вида

.

Поскольку разрешенный пользователь знает засекреченный быстровозрастающий вектор , для отыскания он может использовать .

Пример 13.2.3. Предположим, что абонент A хочет создать общедоступную и конфиденциальную схему шифрования. Первоначально он создает быстровозрастающий вектор , размерность которого n определяются потребностями абонента. Затем он определяет число P из условия

и число W, такое что , при котором . Пусть, например, , , так, что , которые и образуют секретный ключ пользователя.

Образовав секретный ключ, абонент A переходит к формированию общедоступного ключа, в качестве которого выступает вектор , содержащий «лазейку»:

,

так что

.

Предположим, что пользователь B собирается послать сообщение абоненту A. Если , то пользователь B создает следующее число

и передает его пользователю A. Последний преобразует его в по алгоритму

,

которое, в свою очередь, определяется как . Учитывая, что вектор является быстровозрастающим, на основании алгоритма (13.3) абонент A легко восстановит вектор .

Поскольку , то . Далее

,

следовательно, . Аналогично для :

,

то . Продолжая следовать алгоритму (13.3), получаем . Так что в итоге имеем .

Схем Меркла–Хэллмана в настоящее время считается взломанной, поэтому для реализации криптосистем с открытыми ключами используется алгоритм RSA.







Дата добавления: 2015-04-19; просмотров: 1295. Нарушение авторских прав; Мы поможем в написании вашей работы!



Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

ПУНКЦИЯ И КАТЕТЕРИЗАЦИЯ ПОДКЛЮЧИЧНОЙ ВЕНЫ   Пункцию и катетеризацию подключичной вены обычно производит хирург или анестезиолог, иногда — специально обученный терапевт...

Ситуация 26. ПРОВЕРЕНО МИНЗДРАВОМ   Станислав Свердлов закончил российско-американский факультет менеджмента Томского государственного университета...

Различия в философии античности, средневековья и Возрождения ♦Венцом античной философии было: Единое Благо, Мировой Ум, Мировая Душа, Космос...

ЛЕЧЕБНО-ПРОФИЛАКТИЧЕСКОЙ ПОМОЩИ НАСЕЛЕНИЮ В УСЛОВИЯХ ОМС 001. Основными путями развития поликлинической помощи взрослому населению в новых экономических условиях являются все...

МЕТОДИКА ИЗУЧЕНИЯ МОРФЕМНОГО СОСТАВА СЛОВА В НАЧАЛЬНЫХ КЛАССАХ В практике речевого общения широко известен следующий факт: как взрослые...

СИНТАКСИЧЕСКАЯ РАБОТА В СИСТЕМЕ РАЗВИТИЯ РЕЧИ УЧАЩИХСЯ В языке различаются уровни — уровень слова (лексический), уровень словосочетания и предложения (синтаксический) и уровень Словосочетание в этом смысле может рассматриваться как переходное звено от лексического уровня к синтаксическому...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия