Код документа: RU2410842C2
Область техники, к которой относится изобретение
Настоящее изобретение касается системы связи, включающей в себя два устройства связи с возможностью шифрования передаваемых данных, являющихся открытым текстом, с целью их представления в виде зашифрованных данных и их последующей передачи в устройство связи на другом конце, а также дешифрования принимаемых зашифрованных данных и их представления в виде передаваемых данных.
Предпосылки к созданию изобретения
Вышеупомянутая система связи используется в условиях необходимости сохранения конфиденциальности данных, передаваемых между двумя устройствами связи, по отношению к третьей стороне. Несмотря на существование различных технических приемов шифрования и их использование для сохранения конфиденциальности передаваемых данных, полное предотвращение дешифрования кода является затруднительным.
Обычно при осуществлении связи с шифрованием передаваемых данных используют последовательность операций разделения передаваемых данных на порции с заданным числом битов в приемопередающем устройстве на стороне передатчика, шифрования каждой порции разделенных данных и ее передачи в устройство связи на другом конце, а также дешифрования принимаемых данных в приемопередающем устройстве на стороне приемника.
При этом приемопередающее устройство на стороне передатчика и приемопередающее устройство на стороне приемника выполняют процесс шифрования или дешифрования блоками фиксированного размера, такими как 8 битов или 16 битов.
Поэтому в случае, когда размер таких блоков известен третьей стороне, вероятность взлома алгоритма, используемого для шифрования, и, следовательно, нарушения конфиденциальности связи повышается.
Существующее устройство выполняет шифрование или дешифрование стандартизированными блоками, такими как 8 битов или 16 битов. Поэтому в случае, когда приемопередающее устройство выполняет шифрование или дешифрование такими же блоками, что и такие стандартизированные блоки, взлом алгоритма, используемого для шифрования, облегчается.
Цель настоящего изобретения заключается в усовершенствовании системы связи, включающей в себя два устройства связи с возможностью шифрования передаваемых данных, являющихся открытым текстом, с целью их представления в виде зашифрованных данных и их последующей передачи в устройство связи на другом конце, а также дешифрования принимаемых зашифрованных данных и их представления в виде передаваемых данных, и снижении, таким образом, вероятности взлома третьей стороной.
Сущность изобретения
Для достижения цели изобретатели этого изобретения предлагают первое изобретение и второе изобретение, описываемые ниже.
Система связи согласно первому изобретению включает в себя первое устройство связи и второе устройство связи, являющиеся двумя устройствами связи с возможностью шифрования передаваемых данных, являющихся открытым текстом, с целью их представления в виде зашифрованных данных и их последующей передачи в устройство связи на другом конце, а также дешифрования принимаемых зашифрованных данных и их представления в виде передаваемых данных.
Как первое устройство связи, так и второе устройство связи содержат: средство разделения для разделения передаваемых данных на множество порций передаваемых разделенных данных с заданным числом битов, а также для разделения зашифрованных данных на множество порций зашифрованных разделенных данных с числом битов, равным числу битов в порциях, на которые зашифрованные данные были разделены при шифровании; средство шифрования и дешифрования для шифрования передаваемых разделенных данных с помощью алгоритма, общего для первого устройства связи и второго устройства связи, с целью их представления в виде зашифрованных данных и дешифрования зашифрованных разделенных данных с помощью алгоритма, использованного при шифровании зашифрованных разделенных данных, с целью их представления в виде передаваемых разделенных данных; соединительное средство для соединения дешифрованных передаваемых разделенных данных с целью их представления в виде передаваемых данных; и средство передачи и приема для передачи и приема зашифрованных данных.
Причем средство разделения в этой системе связи разделяет передаваемые данные так, что, по меньшей мере, одна порция передаваемых разделенных данных имеет число битов, отличное от числа битов в других порциях передаваемых разделенных данных.
При разделении передаваемые данных и генерации передаваемых разделенных данных система связи разделяет передаваемые данных так, что, по меньшей мере, одна порция передаваемых разделенных данных имеет число битов, отличное от числа битов в других порциях передаваемых разделенных данных. Поэтому, даже если алгоритм, использованный для шифрования, является известным, третья сторона не может дешифровать зашифрованные данные, если не известны блоки шифрования зашифрованных данных. Система связи может иметь, по меньшей мере, одну порцию передаваемых разделенных данных или зашифрованных разделенных данных с числом битов, отличным от числа битов в других порциях передаваемых разделенных данных или зашифрованных разделенных данных. Поэтому при дешифровании кода, по меньшей мере, для одной порции передаваемых разделенных данных или зашифрованных разделенных данных требуется обработка данных блоками, отличными от 8 битов и 16 битов, которые являются общими блоками обработки данных, что создает затруднения при анализе этого кода компьютером общего назначения.
Поэтому взлом кода шифрования в этой системе связи для третьей стороны является затруднительным.
Система связи согласно первому изобретению может быть следующей.
Система связи включает в себя первое устройство связи и второе устройство связи, являющиеся двумя устройствами связи с возможностью шифрования передаваемых данных, являющихся открытым текстом, с целью их представления в виде зашифрованных данных и их последующей передачи в устройство связи на другом конце, а также дешифрования принимаемых зашифрованных данных и их представления в виде передаваемых данных.
Как первое устройство связи, так и второе устройство связи содержат: средство разделения для разделения передаваемых данных на множество порций передаваемых разделенных данных с заданным числом битов, а также для разделения зашифрованных данных на множество порций зашифрованных разделенных данных с числом битов, равным числу битов в порциях, на которые зашифрованные данные были разделены при шифровании; средство генерации общих данных для последовательной генерации общих данных, являющихся общими для первого устройства связи и второго устройства связи; средство шифрования и дешифрования для шифрования передаваемых разделенных данных с помощью алгоритма, общего для первого устройства связи и второго устройства связи, генерированного на основе общих данных, принимаемых от средства генерации общих данных, с целью их представления в виде зашифрованных данных и дешифрования зашифрованных разделенных данных с помощью алгоритма, использованного при шифровании зашифрованных разделенных данных, с целью их представления в виде передаваемых разделенных данных; соединительное средство для соединения дешифрованных передаваемых разделенных данных с целью их представления в виде передаваемых данных; и средство передачи и приема для передачи и приема зашифрованных данных, причем средство генерации общих данных генерирует общие данные при приеме передаваемых разделенных данных или зашифрованных разделенных данных средством шифрования и дешифрования.
Средство разделения в этой системе связи разделяет передаваемые данные так, что, по меньшей мере, одна порция передаваемых разделенных данных имеет число битов, отличное от числа битов в других порциях передаваемых разделенных данных.
Система связи обновляет алгоритм синхронно с выполнением шифрования и дешифрования с помощью одного и того же алгоритма для первого устройства связи и второго устройства связи и обеспечивает, таким образом, более низкую вероятность взлома кода.
Как первое устройство связи, так и второе устройство связи в первом изобретении могут содержать средство смешивания для включения фиктивных данных, не относящихся к передаваемым данным, в состав передаваемых разделенных, за исключением их порции с наибольшим числом битов, и обеспечения, таким образом, совпадения числа битов в каждой порции передаваемых разделенных данных с числом битов в порции передаваемых разделенных данных с наибольшим числом битов. Таким образом, число битов во всех порциях передаваемых разделенных данных или зашифрованных разделенных данных в качестве блоков шифрования или дешифрования в первом устройстве связи или втором устройстве связи совпадает, что облегчает процессы шифрования и дешифрования. В то же время третья сторона не может определить, какие данные является исходными передаваемыми разделенными данными или зашифрованными разделенными данными, а какие данные являются фиктивными данными, и таким образом вероятность взлома кода остается низкой.
Система связи согласно второму изобретению включает в себя первое устройство связи и второе устройство связи, являющиеся двумя устройствами связи с возможностью шифрования передаваемых данных, являющихся открытым текстом, с целью их представления в виде зашифрованных данных и их последующей передачи в устройство связи на другом конце, а также дешифрования принимаемых зашифрованных данных и их представления в виде передаваемых данных.
Как первое устройство связи, так и второе устройство связи содержат: средство разделения для разделения передаваемых данных на множество порций передаваемых разделенных данных с заданным числом битов, а также для разделения зашифрованных данных на множество порций зашифрованных разделенных данных с числом битов, равным числу битов в порциях, на которые зашифрованные данные были разделены при шифровании; средство шифрования и дешифрования для шифрования передаваемых разделенных данных с помощью алгоритма, общего для первого устройства связи и второго устройства связи с целью их представления в виде зашифрованных данных и дешифрования зашифрованных разделенных данных с помощью алгоритма, использованного при шифровании зашифрованных разделенных данных, с целью их представления в виде передаваемых разделенных данных, выполняющее шифрование или дешифрование каждого стандартного числа битов как стандартного; соединительное средство для соединения дешифрованных передаваемых разделенных данных с целью их представления в виде передаваемых данных; и средство передачи и приема для передачи и приема зашифрованных данных.
Средство разделения в этой системе связи разделяет передаваемые данные на порции с числом битов, более коротким, чем стандартное число битов; и как первое устройство связи, так и второе устройство связи содержат средство смешивания для включения фиктивных данных, не относящихся к передаваемым данным, в состав передаваемых разделенных данных и обеспечения, таким образом, совпадения числа битов передаваемых разделенных данных со стандартным число битов.
Средство разделения в этой системе связи разделяет передаваемые данные на порции с более коротким числом битов, чем стандартное число битов. Стандартное число битов может составлять, например, 8 битов или 16 битов, такое же, как в общих блоках обработки данных. Следовательно, при дешифровании кода, по меньшей мере, для одной порции передаваемых разделенных данных или зашифрованных разделенных данных требуется обработка данных блоками, отличными от 8 битов и 16 битов, которые являются общими блоками обработки данных, что создает затруднения при анализе этого кода компьютером общего назначения. Первое устройство связи и второе устройство связи, входящие в эту систему связи, содержат средство смешивания для включения фиктивных данных, не относящихся к передаваемым данным, в состав передаваемых разделенных данных и обеспечения, таким образом, согласования числа битов передаваемых разделенных данных со стандартным число битов. Следовательно, первое устройство связи и второе устройство связи, входящие в эту систему связи, в результате позволяют осуществлять процессы шифрования и дешифрования такими же блоками обработки данных, как и компьютер общего назначения. Поэтому изменение аппаратной конфигурации по сравнению с традиционной является необязательным. В то же время третья сторона не может определить, какие данные являются передаваемыми разделенными данными или зашифрованными разделенными данными, а какие данные являются фиктивными данными, и таким образом вероятность взлома кода остается низкой.
Система связи согласно второму изобретению может быть следующей.
Система связи согласно второму изобретению включает в себя первое устройство связи и второе устройство связи, являющиеся двумя устройствами связи с возможностью шифрования передаваемых данных, являющихся открытым текстом, с целью их представления в виде зашифрованных данных и их последующей передачи в устройство связи на другом конце, а также дешифрования принимаемых зашифрованных данных и их представления в виде передаваемых данных.
Как первое устройство связи и второе устройство связи содержат: средство разделения для разделения передаваемых данных на множество порций передаваемых разделенных данных с заданным числом битов, а также для разделения зашифрованных данных на множество порций зашифрованных разделенных данных с числом битов, равным числу битов в порциях, на которые зашифрованные данные были разделены при шифровании; средство генерации общих данных для последовательной генерации общих данных, являющихся общими для первого устройства связи и второго устройство связи; средство шифрования и дешифрования для шифрования передаваемых разделенных данных с помощью алгоритма, общего для первого устройства связи и второго устройства связи, генерированного на основе общих данных, принимаемых от средства генерации общих данных, с целью их представления в виде зашифрованных данных и дешифрования зашифрованных разделенных данных с помощью алгоритма, использованного при шифровании зашифрованных разделенных данных, с целью их представления в виде передаваемых разделенных данных, выполняющее шифрование или дешифрование каждого стандартного числа битов как стандартного; соединительное средство для соединения дешифрованных передаваемых разделенных данных с целью их представления в виде передаваемых данных; и средство передачи и приема для передачи и приема зашифрованных данных, причем средство генерации общих данных генерирует общие данные при приеме передаваемых разделенных данных или зашифрованных разделенных данных средством шифрования и дешифрования.
Средство разделения в этой системе связи разделяет передаваемые данные на порции с числом битов, более коротким, чем стандартное число битов; и как первое устройство связи, так и второе устройство связи содержат средство смешивания для включения фиктивных данных, не относящихся к передаваемым данным, в состав передаваемых разделенных данных и обеспечения, таким образом, совпадения числа битов передаваемых разделенных данных со стандартным число битов.
Система связи обновляет алгоритм, используемый для шифрования и дешифрования, синхронно с выполнением шифрования и дешифрования с помощью одного и того же алгоритма для первого устройства связи и второго устройства связи и обеспечивает, таким образом, более низкую вероятность взлома кода.
В случае разделения передаваемых данных, более коротких, чем стандартное число битов, средство разделения может разделять их на порции или с заданным числом битов, или различным числом битов. В первом случае обработка данных является более простой, однако в последнем случае вероятность взлома кода ниже.
В случае, когда средство разделения разделяет передаваемые данные на порции с заданным числом битов, более коротким, чем стандартное число битов, средство смешивания может включать фиктивные данные в состав передаваемые данных в определенной позиции или включать фиктивные данные в состав передаваемых данных в позиции, отличной для каждой другой порции. В первом случае обработка данных является более простой, однако в последнем случае вероятность взлома кода ниже.
Далее текст описания является общим для первого изобретения и второго изобретения.
Средство генерации общих данных может генерировать в качестве общих данных псевдослучайные числа. Разумеется, средство генерации общих данных может генерировать и любые другие данные.
Что касается алгоритма, используемого для шифрования и дешифрования, то средство генерации общих данных должно генерировать вышеупомянутые общие данные с такой синхронизацией, чтобы обеспечивать их генерацию с помощью одного и того же алгоритма для первого устройства связи и второго устройства связи. Например, средство генерации общих данных может генерировать общие данные при каждом шифровании передаваемых данных или дешифровании зашифрованных данных. Средство генерации общих данных может также генерировать общие данные при каждом шифровании передаваемых разделенных данных или дешифровании зашифрованных разделенных данных.
Средство смешивания может выбирать позицию для включения фиктивных данных на основе общих данных. В случае, когда фиктивные данные включаются в состав передаваемых разделенных данных в различной позиции (в том числе в случае, когда, по меньшей мере, одна порция передаваемых разделенных данных имеет число битов, отличное от числа битов в других порциях передаваемых разделенных данных), первое устройство связи и второе устройство связи не могут дешифровать принимаемых зашифрованных разделенных данных без знания позиции, в которой фиктивные данные включены в состав передаваемых разделенных данных с помощью устройство связи на стороне передатчика. Если средство смешивания настроено на выбор заданной позиции для включения фиктивных данных на основе общих данных, то устройство связи на стороне приемника может быть проинформировано о позиции фиктивных данных, таким образом включенных в состав передаваемых разделенных данных, посредством имеющихся данных (это - данные, общие для первого устройства связи и второго устройство связи). В этом случае обмен информацией о позиции фиктивных данных, включенных в состав передаваемых разделенных данных, между первым устройством связи и вторым устройством связи отсутствует. Поэтому взлом кода этой системы связи третьей стороной является практически невозможным.
Первое изобретение может также быть реализовано с помощью следующего способа.
Пример способа является способом, реализуемым в системе связи, включающей в себя первое устройство связи и второе устройство связи, являющиеся двумя устройствами связи с возможностью шифрования передаваемых данных, являющихся открытым текстом, с целью их представления в виде зашифрованных данных и их последующей передачи в устройство связи на другом конце, а также дешифрования принимаемых зашифрованных данных и их представления в виде передаваемых данных.
Этот способ включает в себя этапы для одного из первого устройства связи и второго устройства связи: разделения передаваемых данных на множество порций передаваемых разделенных данных с заданным числом битов; шифрования передаваемых разделенных данных с помощью определенного алгоритма с целью их представления в виде зашифрованных данных; и передачи зашифрованных данных в другое из первого устройства связи и второго устройства связи, и этапы для другого из первого устройства связи и второго устройства связи: разделения принимаемых зашифрованных данных на множество порций зашифрованных разделенных данных с числом битов, равным числу битов в порциях, на которые зашифрованные данные были разделены при шифровании; дешифрования зашифрованных разделенных данных с помощью алгоритма, использованного при шифровании зашифрованных разделенных данных, с целью их представления в виде передаваемых разделенных данных; и соединения дешифрованных передаваемых разделенных данных с целью их представления в виде передаваемых данных.
Согласно этому способу одно из первого устройства связи и второго устройства связи разделяет передаваемые данные так, что, по меньшей мере, одна порция передаваемых разделенных данных имеет число битов, отличное от числа битов в других порциях передаваемых разделенных данных.
Другой пример способа является способом, реализуемым в системе связи, включающей в себя первое устройство связи и второе устройство связи, являющиеся двумя устройствами связи с возможностью шифрования передаваемых данных, являющихся открытым текстом, с целью их представления в виде зашифрованных данных и их последующей передачи в устройство связи на другом конце, а также дешифрования принимаемых зашифрованных данных и их представления в виде передаваемых данных.
Этот способ включает в себя этапы для одного из первого устройства связи и второго устройства связи: разделения передаваемых данных на множество порций передаваемых разделенных данных с заданным числом битов; шифрования передаваемых разделенных данных с помощью определенного алгоритма с целью их представления в виде зашифрованных данных; и передачи зашифрованных данных в другое из первого устройства связи и второго устройства связи, и этапы для другого из первого устройства связи и второго устройства связи: разделения принимаемых зашифрованных данных на множество порций зашифрованных разделенных данных с числом битов, равным числу битов в порциях, на которые зашифрованные данные были разделены при шифровании; дешифрования зашифрованных разделенных данных с помощью алгоритма, использованного при шифровании зашифрованных разделенных данных, с целью их представления в виде передаваемых разделенных данных; и соединения дешифрованных передаваемых разделенных данных с целью их представления в виде передаваемых данных, причем первое устройство связи и второе устройство связи генерируют общие данные при приеме передаваемых разделенных данных или зашифрованных разделенных данных; и выполняют шифрование или дешифрование каждого стандартного числа битов как стандартного, а одно из первого устройства связи и второго устройства связи разделяет передаваемые данные на порции с числом битов, более коротким, чем стандартное число битов; и включает в состав передаваемых разделенных данных фиктивные данные, не относящиеся к передаваемым данным, и обеспечивает, таким образом, совпадение числа битов передаваемых разделенных данных со стандартным число битов.
Второе изобретение может также быть реализовано с помощью следующего способа.
Пример второго изобретения является способом, реализуемым в системе связи, включающей в себя первое устройство связи и второе устройство связи, являющиеся двумя устройствами связи с возможностью шифрования передаваемых данных, являющихся открытым текстом, с целью их представления в виде зашифрованных данных и их последующей передачи в устройство связи на другом конце, а также дешифрования принимаемых зашифрованных данных и их представления в виде передаваемых данных.
Этот способ включает в себя этапы для одного из первого устройства связи и второго устройства связи: разделения передаваемых данных на множество порций передаваемых разделенных данных с заданным числом битов; последовательной генерации заданных общих данных; шифрования передаваемых разделенных данных с помощью алгоритма, генерированного на основе общих данных, с целью их представления в виде зашифрованных данных; и передачи зашифрованных данных в другое из первого устройства связи и второго устройства связи, и этапы для другого из первого устройства связи и второго устройства связи: разделения принимаемых зашифрованных данных на множество порций зашифрованных разделенных данных с числом битов, равным числу битов в порциях, на которые зашифрованные данные были разделены при шифровании; последовательной генерации общих данных, являющихся общими с одним из первого устройства связи и второго устройства связи; дешифрования зашифрованных разделенных данных с помощью алгоритма, генерированного на основе генерированных общих данных и использованного при шифровании зашифрованных разделенных данных, с целью их представления в виде передаваемых разделенных данных; и соединения дешифрованных передаваемых разделенных данных с целью их представления в виде передаваемых данных.
Первое устройство связи и второе устройство связи в этом способе генерируют общие данные при приеме передаваемых разделенных данных или зашифрованных разделенных данных; и разделяют передаваемые данные так, что, по меньшей мере, одна порция передаваемых разделенных данных имеет число битов, отличное от числа битов в других порциях передаваемых разделенных данных.
Другой пример способа является способом, реализуемым в системе связи, включающей в себя первое устройство связи и второе устройство связи, являющиеся двумя устройствами связи с возможностью шифрования передаваемых данных, являющихся открытым текстом, с целью их представления в виде зашифрованных данных и их последующей передачи в устройство связи на другом конце, а также дешифрования принимаемых зашифрованных данных и их представления в виде передаваемых данных.
Этот способ включает в себя этапы для одного из первого устройства связи и второго устройства связи: разделения передаваемых данных на множество порций передаваемых разделенных данных с заданным числом битов; последовательной генерации заданных общих данных; шифрования передаваемых разделенных данных с помощью алгоритма, генерированного на основе общих данных, с целью их представления в виде зашифрованных данных; и передачи зашифрованных данных в другое из первого устройства связи и второго устройства связи, и этапы для другого из первого устройства связи и второго устройства связи: разделения принимаемых зашифрованных данных на множество порций зашифрованных разделенных данных с числом битов, равным числу битов в порциях, на которые зашифрованные данные были разделены при шифровании; последовательной генерации общих данных, являющихся общими с одним из первого устройства связи и второго устройства связи; дешифрования зашифрованных разделенных данных с помощью алгоритма, генерированного на основе генерированных общих данных и использованного при шифровании зашифрованных разделенных данных, с целью их представления в виде передаваемых разделенных данных; и соединения дешифрованных передаваемых разделенных данных с целью их представления в виде передаваемых данных.
Первое устройство связи и второе устройство связи в этом примере осуществления генерируют общие данные при приеме передаваемых разделенных данных или зашифрованных разделенных данных; и выполняют шифрование или дешифрование каждого стандартного числа битов как стандартного; а одно из первого устройства связи и второго устройства связи разделяет передаваемые данные на порции с более коротким числом битов, чем стандартное число битов; и включает фиктивные данные, не относящиеся к передаваемым данным, в состав передаваемых разделенных данных и обеспечивает, таким образом, совпадение числа битов передаваемых разделенных данных со стандартным число битов.
Краткое описание чертежей
Фиг.1 - схематический вид системы связи согласно примеру осуществления, демонстрирующий ее полную конфигурацию.
Фиг.2 - схематический вид первого устройства связи и второго устройства связи в составе системы связи, представленной на фиг.1, демонстрирующий их аппаратную конфигурацию.
Фиг.3 - блок-схема устройства связи, используемого в качестве первого устройства связи и второго устройства связи в составе системы связи, представленной на фиг.1, демонстрирующая его конфигурацию.
Фиг.4 - блок-схема последовательности этапов процесса обработки данных, осуществляемой в системе связи, представленной на фиг.1.
Фиг.5 - блок-схема последовательности этапов процесса шифрования, осуществляемого в первом устройстве связи системы связи, представленной на фиг.1.
Фиг.6 - блок-схема последовательности этапов процесса дешифрования, осуществляемого во втором устройстве связи системы связи, представленной на фиг.1.
Подробное описание предпочтительных примеров осуществления
Ниже приводится подробное описание предпочтительного примера осуществления настоящего изобретения, сопровождаемое ссылками на чертежи.
Конфигурация системы связи согласно рассматриваемому примеру осуществления в общих чертах представлена на фиг.1. Система связи включает в себя первое устройство 11 связи и второе устройство 12 связи, соединенные одно с другим посредством сети 13. Первое устройство 11 связи и второе устройство 12 связи обеспечивают установление взаимной зашифрованной связи.
Сеть 13, соединяющая первое устройство 11 связи со вторым устройством 12 связи, представляет собой, например, Интернет. Возможно построение сети 13 и на базе другого средства, такого как интрасеть или выделенная линия.
Далее рассматривается конфигурация первого устройства 11 связи и второго устройства 12 связи. Поскольку согласно рассматриваемому примеру осуществления первое устройство 11 связи и второе устройство 12 связи имеют одну и ту же конфигурацию, то приводится описание только конфигурации первого устройства 11 связи как типичной.
На фиг.2 представлена аппаратная конфигурация первого устройства 11 связи.
Согласно рассматриваемому примеру осуществления первое устройство 11 связи содержит ЦП (центральный процессор) 21, ПЗУ (постоянное запоминающее устройство) 22, НЖМД (накопитель на жестких магнитных дисках) 23, ОЗУ (оперативное запоминающее устройство) 24, устройство 25 ввода, дисплей 26, устройство 27 связи и шину 28. ЦП 21, ПЗУ 22, НЖМД 23, ОЗУ 24, устройство 25 ввода, дисплей 26 и устройство 27 связи могут обмениваться данными посредством шины 28.
В ПЗУ 22 или НЖМД 23 записаны определенная программа и определенные данные (которые могут включать в себя данные, являющиеся передаваемыми данными, как в рассматриваемом примере осуществления, а также данные, необходимые для исполнения программы). ЦП 21 осуществляет полное управление первым устройством 11 связи и выполняет описываемый ниже процесс обработки данных на основе программы и данных, хранимых в ПЗУ 22 или НЖМД 23. ОЗУ 24 используется в качестве рабочей области памяти при выполнении процесса обработки данных на ЦП 21.
Устройство 25 ввода образовано клавиатурой, мышью и т.п. и используется для ввода команд и данных. Дисплей 26 может представлять собой ЖК дисплей (дисплей на жидких кристаллах), ЭЛТ (электронно-лучевую трубку) и т.п. и используется для отображения команд, введенных данных, состояния процесса обработки данных, описываемого ниже, и т.п.
Устройство 27 связи осуществляет связь со вторым устройством 12 связи посредством сети 13. Устройство 27 связи, образующее второе устройство 12 связи, осуществляет связь с первым устройством 11 связи посредством сети 13.
Далее приводится описание конфигурации устройства 27 связи. На фиг.3 представлена блок-схема устройства 27 связи.
Устройство 27 связи образовано интерфейсным блоком 31, препроцессорным блоком 32, блоком 33 шифрования и дешифрования, блоком 34 генерации общих данных, блоком 35 генерации алгоритмов, блоком 36 генерации ключей, блоком 37 связи и соединительным блоком 38.
Интерфейсный блок 31 осуществляет обмен данными между шиной 28 и блоком 33 шифрования и дешифрования. Интерфейсный блок 31 имеет также функцию передачи данных от шины 28 в блок 34 генерации общих данных и данных от соединительного блока 38 к шине 28.
Препроцессорный блок 32 имеет функцию разделения передаваемых данных или зашифрованных данных, принимаемых от шины 28 посредством интерфейсного блока 31, на порции с заданным числом битов и генерации передаваемых разделенных данных или зашифрованных разделенных данных с целью их передачи в блок 33 шифрования и дешифрования. Описание способа разделения передаваемых данных и зашифрованных данных приводится ниже. Согласно рассматриваемому примеру осуществления препроцессорный блок 32 имеет функцию включения фиктивных данных, не имеющих отношения к передаваемым данным, в состав передаваемых данных, реализуемую способом, который описывается ниже.
Блок 33 шифрования и дешифрования имеет функцию приема передаваемых разделенных данных или зашифрованных разделенных данных от препроцессорного блока 32, шифрования принимаемых данных в случае приема передаваемых разделенных данных или дешифрования принимаемых данных в случае приема зашифрованных разделенных данных. Блок 33 шифрования и дешифрования в рассматриваемом примере осуществления имеет фиксированное стандартное число битов в качестве блока обработки данных в случае выполнения процесса шифрования и дешифрования. Стандартным числом битов в рассматриваемом примере осуществления является число 8 битов, однако это не ограничивает объема притязаний настоящего изобретения. Подробное описание процесса шифрования и дешифрования приводится ниже.
Блок 34 генерации общих данных последовательно генерирует общие данные, являющиеся общими данными для первого устройства 11 связи и второго устройства 12 связи. Блок 34 генерации общих данных в составе первого устройства 11 связи и второго устройства 12 связи в рассматриваемом примере осуществления последовательно генерирует общие данные с соблюдением одного и того же порядка следования. Общие данные в рассматриваемом примере осуществления представляют собой псевдослучайные числа, однако это не ограничивает объема притязаний настоящего изобретения. Генерированные общие данные передаются в препроцессорный блок 32, блок 35 генерации алгоритмов и блок 36 генерации ключей.
Блок 35 генерации алгоритмов генерирует алгоритмы на основе общих данных, принимаемых от блока 34 генерации общих данных. Алгоритмы используются при выполнении процесса шифрования и процесса дешифрования блоком 33 шифрования и дешифрования.
Блок 36 генерации ключей генерирует ключи на основе общих данных, принимаемых от блока 34 генерации общих данных. Ключи используются при выполнении процесса шифрования и процесса дешифрования блоком 33 шифрования и дешифрования.
Блок 37 связи обменивается данными с сетью 13. Зашифрованные разделенные данные, генерированные путем шифрования передаваемых разделенных данных в блоке 33 шифрования и дешифрования, соединяются в соединительном блоке 38 и передаются в устройство связи на другом конце посредством блока 37 связи. Блок 37 связи принимает зашифрованные данные от устройства связи на другом конце. Зашифрованные данные передаются от блока 37 связи в препроцессорный блок 32.
Соединительный блок 38 имеет функцию соединения передаваемых разделенных данных, генерированных путем дешифрования зашифрованных разделенных данных в блоке 33 шифрования и дешифрования, в исходном порядке следования с целью их представления в виде совокупности передаваемых данных. Передаваемые данные передаются в интерфейсный блок 31 и в случае необходимости передаются в НЖМД 23 или ЦП 21 посредством шины 28. Соединительный блок 38 имеет также функцию соединения зашифрованных разделенных данных, генерированных путем шифрования передаваемых разделенных данных в блоке 33 шифрования и дешифрования, в исходном порядке следования с целью их представления в виде совокупности зашифрованных данных. Зашифрованные данные передаются в блок 37 связи и передаются от блока 37 связи в устройство связи на другом конце. Соединительный блок 38 может не иметь функции соединения зашифрованных разделенные данных, генерированных путем шифрования передаваемых разделенных данных в блоке 33 шифрования и дешифрования. В этом случае зашифрованные разделенные данные последовательно передаются в устройство связи на другом конце в порядке следования, в котором они были зашифрованы. При таком соединительном блоке 38 возможна непосредственная передача зашифрованных разделенных данных в блок 37 связи, минуя соединительный блок 38.
Далее приводится описание потока обработки данных, выполняемого системой связи.
В общих чертах поток обработки данных можно описать со ссылками на фиг.4 следующим образом.
Сначала первое устройство 11 связи шифрует передаваемые данные для генерации зашифрованных данных (S110). Затем первое устройство 11 связи передает зашифрованные данные во второе устройство связи 12 (S120). После этого второе устройство 12 связи, принимающее зашифрованные данные, дешифрует зашифрованные данные с целью их обратного преобразования в передаваемые данные (S130).
Далее рассматривается передача зашифрованных данных от первого устройства 11 связи во второе устройство 12 связи. Однако очевидно, что содержание процесса обработки не изменится, если он будет являться обратным по отношению к описанному выше случаю и состоять в передаче зашифрованных данных от второго устройства 12 связи в первое устройство 11 связи.
Сначала со ссылками на фиг.5 приводится подробное описание вышеупомянутого этапа S110, на котором первое устройство 11 связи шифрует передаваемые данные с целью генерации зашифрованных данных.
Сначала передаваемые данные подвергаются считыванию. Передаваемые данные могут представлять собой любые данные, которые требуется передать от первого устройства 11 связи во второе устройство 12 связи. Согласно рассматриваемому примеру осуществления передаваемые данные записаны в НЖМД 23. В случае ввода команды на передачу передаваемых данных во второе устройство 12 связи, например от устройства 25 ввода, ЦП 21 считывает передаваемые данные из НЖМД 23 и записывает их временно в ОЗУ 24. Из ОЗУ 24 передаваемые данные передаются в препроцессорный блок 32 посредством шины 28 и интерфейсного блока 31 в устройстве 27 связи (S1101).
В препроцессорном блоке 32 передаваемые данные разделяются на порции с заданным числом битов с целью их предоставления в виде передаваемых разделенных данных (S1102). В случае необходимости препроцессорный блок 32 включает в состав передаваемых разделенных данных фиктивные данные.
Может быть только один способ генерации передаваемых разделенных данных из передаваемых данных. Однако согласно рассматриваемому примеру осуществления передаваемые разделенные данные генерируются из передаваемых данных по одному из следующих трех способов.
А) Случай разделения передаваемых данных на передаваемые разделенные данные с заданным числом битов, более коротким, чем стандартное число битов, и включения фиктивных данных в порции передаваемых разделенных данных, каждая из которых имеет более короткое число битов, чем стандартное число битов, в фиксированных позициях.
B) Случай разделения передаваемых данных на передаваемые разделенные данные с заданным числом битов, более коротким, чем стандартное число битов, и включения фиктивных данных в порции передаваемых разделенных данных, каждая из которых имеет более короткое число, чем стандартное число битов, в различных позициях.
C) Случай разделения передаваемых данных на передаваемые разделенные данные с числом битов, совпадающим или более коротким, чем стандартное число битов, и включения фиктивных данных в соответствующие порции передаваемых разделенных данных, имеющие более короткое число битов, чем стандартное число битов.
Выбор одного из описанных выше способов, который должен быть использован для генерации передаваемых разделенных данных из передаваемых данных, осуществляется на основе общих данных, генерированных блоком 34 генерации общих данных.
Сначала приводится описание процесса генерации общих данных блоком 34 генерации общих данных.
В случае, когда интерфейсный блок 31 принимает передаваемые данные от шины 28, блок 34 генерации общих данных принимает содержащуюся в них информацию от интерфейсного блока 31.
При этом блок 34 генерации общих данных начинает генерировать общие данные. общих данных генерирует общие данные при каждом приеме передаваемых данных интерфейсным блоком 31. Общие данные в рассматриваемом примере осуществления представляют собой матрицу (X) с 8 строками и 8 столбцами, однако этот вариант не ограничивает объема притязаний настоящего изобретения.
Согласно рассматриваемому примеру осуществления блок 34 генерации общих данных осуществляет генерацию общих данных последовательно, с использованием нелинейного перехода, однако этот вариант не ограничивает объема притязаний настоящего изобретения.
Среди технических приемов последовательного осуществления генерации общих данных с использованием нелинейного перехода можно назвать (1), включающий в себя экспоненциальное вычисление над предыдущими общими данными в процессе генерации общих данных, (2), включающий в себя перемножение двух или больше порций предыдущих общих данных в процессе генерации общих данных, или комбинацию (1) и (2).
Согласно рассматриваемому примеру осуществления блок 34 генерации общих данных имеет 01-е решение (X01) и 02-е решение (X02), заданные в качестве начальных матриц (например, 01-е решение и 02-е решение записаны в определенной памяти).
Блок 34 генерации общих данных вводит эти начальные матрицы в алгоритм для генерации решения и генерирует 1-е решение (Х1) следующим образом.
1-е решение (X1)=X02X01+α (α = матрица с 8 строками и 8 столбцами)
Это решение представляет собой общие данные, генерируемые вначале.
Затем в случае, когда интерфейсный блок 31 принимает передаваемые данные от шины 28, блок 34 генерации общих данных генерирует 2-е решение (Х2) следующим образом.
2-е решение (Х2)=X1X02+α
Аналогичным образом при каждом приеме интерфейсным блоком 31 передаваемых данных от шины 28 блок 34 генерации общих данных генерирует 3-е, 4-е, … N-e решение следующим образом.
3-е решение (Х3)=X2X1+α
4-е решение (Х4)=Х3Х2+α
.
.
.
N-e решение (XN)=XN-1XN-2+α
Генерированные таким образом общие данные (то есть решения) передаются в препроцессорный блок 32 и блок 35 генерации алгоритмов, а также сохраняются в блоке 34 генерации общих данных. Для генерации N-го решения (XN) в рассматриваемом примере осуществления используется N-1-e решение (XN-1) и N-2-e решение (XN-2), то есть два решения, генерированные непосредственно перед этим. Поэтому для генерации нового решения блок 34 генерации общих данных должен сохранять два самых близких предшествующих решения, генерированных в прошлом (или эти два решения должны быть сохранены где-нибудь еще). Решения же, полученные ранее двух самых близких предшествующих решений, генерированных в прошлом, с этого времени не используются для генерации нового решения. Таким образом, в рассматриваемом примере осуществления два прошлых решения постоянно хранятся в блоке 34 генерации общих данных. В то же время решение, которое до этого времени являлось вторым самым близким предшествующим решением и вследствие генерации нового решения является теперь третьим самым близким предшествующим решением, стирается, например, из определенной памяти, в которой оно было записано.
Генерируемые таким образом решения при нелинейном переходе имеют хаотический характер и представляют собой псевдослучайные числа.
Для инициирования нелинейного перехода помимо приведенной выше формулы.
N-e решение (XN)=XN-1XN-2+α могут быть использованы следующие формулы:
Например:
(a) N-e решение (XN)=(XN-1)Р
(b) N-e решение (XN)=(XN-1)Р(XN-2)Q(XN-3)R(XN-4)S
(c) N-e решение (XN)=(XN-1)Р+(XN-2)Q
Р, Q, R и S представляют собой соответствующие заданные константы. Блок 34 генерации общих данных в случае использования формулы (а) или (с) имеет две начальные матрицы, а в случае использования формулы (b) - четыре начальные матрицы.
Приведенная выше матрица α является константой. Однако она может представлять собой и специальную меняющуюся информацию об окружающей среде. Эта информация об окружающей среде является информацией, естественно генерируемой с течением времени и обычно доступной в удаленных точках, такой как информация, определяемая на основе погоды в конкретном регионе, информация, определяемая на основе содержания телепередачи телевизионной станции, передаваемой в конкретное время, и информация, определяемая на основе результата конкретных спортивных соревнований.
Последовательное создание указанной выше матрицы α на основе подобной информации об окружающей среде и генерация общих данных позволяют повысить конфиденциальность связи.
Разумеется, возможно и прибавление матрицы α (генерация может быть осуществлена на основе информации об окружающей среде) к правым сторонам формул (а)-(с).
Как указывалось выше, препроцессорный блок 32, принимающий общие данные (то есть приведенные выше решения), выбирает один из указанных выше способов А), В) и С), который должен быть использован для генерации передаваемых разделенных данных. Согласно рассматриваемому примеру осуществления генерация передаваемых разделенных данных осуществляется по способу А) в случае, когда остаток от деления суммы чисел, образующих матрицу с 8 строками и 8 столбцами, на 3 равен 0, по способу В) в случае, когда остаток равен 1, и по способу С) в случае, когда этот остаток равен 2, однако это не ограничивает объема притязаний настоящего изобретения.
В случае генерации передаваемых разделенных данных по способу А) препроцессорный блок 32 разделяет передаваемые данные, принимаемые от интерфейсного блока 31, в порядке их следования от начала на порции с заданным числом битов (7 битов в рассматриваемом примере осуществления), более коротким, чем стандартное число битов, с целью генерации передаваемых разделенных данных. Препроцессорный блок 32 вставляет фиктивные данные в передаваемые разделенные данные в фиксированной позиции. Позиции передаваемых разделенных данных для вставки фиктивных данных могут быть переменными или фиксированными. В последнем случае позиции, в которые вставляются фиктивные данные, могут быть началом или концом передаваемых разделенных данных или заданной промежуточной позицией, такой как второй бит или третий бит. Фиктивные данные могут представлять собой любые данные, не относящиеся к передаваемым данным. Например, может осуществляться постоянная вставка данных со значением 0 или данных со значением 1 или поочередная вставка данных со значениями 1 и 0. В другом примере выбор фиктивных данных, которые должны быть вставлены, может быть сделан на основе описанных выше общих данных. Например, если остаток от деления суммы чисел, составляющих матрицу с 8 строками и 8 столбцами в качестве общих данных, на 9 равен 0, то возможна последовательная вставка данных со значением 0 - 0, 0, 0, 0… Если остаток равен 1, возможно чередование с данными со значением 1 - 0, 1, 0, 1… Если остаток равен 2, возможна вставка данных со значением 1 в каждом третьем случае - 0, 0, 1, 0, 0, 1… Аналогичным образом, если остаток равен 3, возможна вставка данных со значением 1 в каждом четвертом случае, если остаток равен 4, - вставка данных со значением 1 в каждом пятом случае, … и, если остаток равен 9, - вставка данных со значением 1 в каждом десятом случае.
В случае генерации передаваемых разделенных данных по способу В) препроцессорный блок 32 разделяет передаваемые данные на порции с заданным числом битов (7 битов, например), более коротким, чем стандартное число битов, с целью их представления в виде передаваемых разделенных данных и включает фиктивные данные во все порции передаваемых разделенных данных, имеющие более короткое число битов, чем стандартное число битов, в различных позициях. В этом случае позиции, в которые вставляются фиктивные данные, для каждой порции передаваемых разделенных данных могут быть фиксированными или меняющимися регулярно, например, в порядке следования битов - первый бит, второй бит, третий бит, … восьмой бит, первый бит, второй бит… восьмой бит, или меняющимися случайным образом. При случайном характере изменения позиций вставки фиктивных данных выбор позиций может осуществляться, например, на основе общих данных.
Выбор стандартного число битов для вставки фиктивных данных с помощью общих данных может быть осуществлен в результате выполнения, например, следующих процессов обработки. Если остаток от деления суммы чисел, составляющих матрицу с 8 строками и 8 столбцами в качестве общих данных, на 8 будет равен 0, то фиктивные данные будут вставляться поочередно в начало и конец порций передаваемых разделенных данных. Если остаток равен 1, то передаваемые разделенные данные с фиктивными данными, вставленными в начало, и передаваемые разделенные данные с фиктивными данными, вставленными в конец, будут встречаться в каждом третьем случае. Если остаток равен 2, то передаваемые разделенные данные с фиктивными данными, вставленными в начало, и передаваемые разделенные данные с фиктивными данными, вставленными в конец, будут встречаться в каждом четвертом случае. Если остаток равен 7, то передаваемые разделенные данные с фиктивными данными, вставленными в начало, и передаваемые разделенные данные с фиктивными данными, вставленными в конец, будут встречаться в каждом девятом случае. Возможно также и смещение позиций вставки фиктивных данных, а не использование фиксированных позиций, таких как начало и конец.
В случае генерации передаваемых разделенных данных по способу С) передаваемые данные разделяют на порции со стандартным числом битов или более коротким числом битов, чем стандартное число битов. Это разделение может быть выполнено путем разделения передаваемых данных на порции произвольной длины, более короткой, чем 8 битов. Например, если частное от деления суммы чисел, составляющих матрицу с 8 строками и 8 столбцами, на 8 равно 0, то начало передаваемых данных в этот момент времени может быть разделено на порции с 8 битами. Если остаток равен 1, то начало передаваемых данных в этот момент времени может быть разделено на порции с 1 битом. Если остаток равен 2, то начало передаваемых данных в этот момент времени может быть разделено на порции с 2 битами…, если остаток равен 7, то начало передаваемых данных в этот момент времени может быть разделено на порции с 7 битами. Препроцессорный блок 32 вставляет фиктивные данные в каждую порцию генерированных таким образом передаваемых разделенных данных, в которой число битов является более коротким, чем стандартное число битов. В этом случае позиция вставки фиктивных данных может быть определенной позицией, такой как начало или конец, или меняющейся заданной меняющейся позицией, определяемой, например, общими данными.
В любом случае генерированные таким образом передаваемые разделенные данные передаются в блок 33 шифрования и дешифрования в виде потока в порядке генерации.
Параллельно с генерацией передаваемых разделенных данных блок 35 генерации алгоритмов генерирует алгоритм, используемый при шифровании передаваемых разделенных данных.
Блок 35 генерации алгоритмов генерирует алгоритм на основе общих данных.
Согласно рассматриваемому примеру осуществления блок 35 генерации алгоритмов генерирует алгоритм следующим образом.
Алгоритм в рассматриваемом примере осуществления определяется как "в случае 8-битовых передаваемых разделенных данных, представляющих собой матрицу Y с 1 строкой и 8 столбцами, выполняющий умножение Y на матрицу Х с 8 строками и 8 столбцами в качестве общих данных, возведенную в а-ую степень и повернутую по часовой стрелке на n×90°".
При этом а может являться заданной константой. Однако согласно рассматриваемому примеру осуществления может быть и некоторым числом, меняющимся в зависимости от общих данных. В частности, алгоритм в рассматриваемом примере осуществления меняется в зависимости от общих данных. Например, а может быть определена как остаток от деления числа, полученного путем суммирования всех элементов матрицы, включенной в состав общих данных, представляющих собой матрицу с 8 строками и 8 столбцами, на 5 (при условии, что а=1 в случае, когда остаток равен 0).
Вышеупомянутый множитель n является заданным числом, определяемым ключом. Если ключ представляет собой постоянное число, то n является фиксированной величиной. Однако, как описывается ниже, ключ меняется в зависимости от общих данных. В частности, согласно рассматриваемому примеру осуществления n также меняется в зависимости от общих данных.
Возможно также выбрать другой алгоритм.
Согласно рассматриваемому примеру осуществления блок 35 генерации алгоритмов генерирует алгоритм при каждом приеме общих данных от блока 34 генерации общих данных и передает их в блок 33 шифрования и дешифрования.
Параллельно с генерацией передаваемых разделенных данных блок 36 генерации ключей генерирует ключ, используемый при шифровании передаваемых разделенных данных.
Блок 36 генерации ключей генерирует ключ на основе общих данных.
Согласно рассматриваемому примеру осуществления блок 36 генерации ключей генерирует ключ следующим образом.
Ключ в рассматриваемом примере осуществления представляет собой число, получаемое путем сложения всех чисел, являющихся элементами матрицы, включенной в состав общих данных, являющихся матрицей с 8 строками и 8 столбцами. Поэтому ключ согласно рассматриваемому примеру осуществления меняется в зависимости от общих данных.
Возможно также выбрать и другой ключ.
Согласно рассматриваемому примеру осуществления блок 36 генерации ключей генерирует ключ при каждом приеме общих данных от блока 34 генерации общих данных и передает их в блок 33 шифрования и дешифрования.
Блок 33 шифрования и дешифрования шифрует передаваемые разделенные данные, принимаемые от препроцессорного блока 32, на основе алгоритма, принимаемого от блока 35 генерации алгоритмов, и ключа, принимаемого от блока 36 генерации ключей (S1103).
Как описывается выше, алгоритм определяется как "в случае 8-битовых передаваемых разделенных данных, представляющих собой матрицу Y с 1 строкой и 8 столбцами, выполняющий умножение Y на матрицу Х с 8 строками и 8 столбцами в качестве общих данных, возведенную в а-ую степень и повернутую по часовой стрелке на n×90°".
В случае, когда а имеет значение 3, a n - 6, шифрование выполняется путем умножения передаваемых разделенных данных на матрицу с 8 строками и 8 столбцами, полученную путем возведения матрицы Х с 8 строками и 8 столбцами в степень 3 и поворота на 6×90°=540°.
Генерированные таким образом данные представляют собой зашифрованные разделенные данные.
Зашифрованные разделенные данные передаются в соединительный блок 38. Соединительный блок 38 соединяет зашифрованные разделенные данные в один массив и генерирует зашифрованные данные (S1104). Порядок сортировки зашифрованных разделенных данных в этом случае соответствует порядку сортировки исходных зашифрованных разделенных данных.
На этом этап S110 шифрования передаваемых данных первым устройством 11 связи с целью генерации зашифрованных данных завершается.
Зашифрованные данные передаются в блок 37 связи, а затем посредством сети 13 передаются во второе устройство связи 12.
Второе устройство 12 связи, принимающее зашифрованные данные, выполняет этап S130 дешифрования зашифрованных данных с целью их обратного преобразования в передаваемые данные.
Ниже приводится подробное описание этого этапа дешифрования.
Зашифрованные данные, переданные во второе устройство 12 связи, принимаются блоком 37 связи второго устройства 12 связи (S1201).
Блок 37 связи передает зашифрованные данные в препроцессорный блок 32.
Препроцессорный блок 32 разделяет принимаемые зашифрованные на порции с заданным числом битов и генерирует зашифрованные разделенные данные (S1202).
В случае разделения зашифрованных данных и генерации зашифрованных разделенных данных препроцессорный блок 32 выполняет процесс обработки данных, обратный по отношению к процессу, выполняемому соединительным блоком 38 в составе первого устройства 11 связи. В частности, зашифрованные данные подвергаются разделению на порции с 8 битами от начала с целью разбиения на множество порций зашифрованных разделенных данных.
Затем зашифрованные разделенные данные передаются в блок 33 шифрования и дешифрования, где они дешифруются и представляются в виде передаваемых разделенных данных (S1203).
Дешифрование выполняется как процесс обработки данных, обратный по отношению к процессу, выполняемому блоком 33 шифрования и дешифрования в составе первого устройства 11 связи. Поэтому второму устройству 12 связи требуется алгоритм и ключ, которые требовались при выполнении шифрования первым устройством 11 связи.
Алгоритм и ключ, используемые для дешифрования, генерируются во втором устройстве 12 связи. Далее приводится описание этого процесса генерации.
Информация, содержащаяся в зашифрованных данных, принимаемых блоком 37 связи в составе второго устройства 12, передается от блока 37 связи в блок 34 генерации общих данных. Блок 34 генерации общих данных при каждом приеме этой информации генерирует общие данные.
Генерация общих данных блоком 34 генерации общих данных в составе второго устройства 12 связи осуществляется в результате выполнения этапа, совпадающего с этапом, выполняемым блоком 34 генерации общих данных в составе первого устройства 11 связи. Блок 34 генерации общих данных в составе второго устройства 12 связи хранит те же самые начальную матрицу и алгоритм для генерации решения, что и блок 34 генерации общих данных в составе первого устройства 11 связи. Поэтому общие данные, генерируемые вторым устройством 12 связи, если сравнивать в одном и том же порядке генерации, совпадают с общими данными, генерируемыми первым устройством 11 связи.
Генерированные общие данные передаются от 34 блока генерации общих данных в препроцессорный блок 32, блок 35 генерации алгоритмов и блок 36 генерации ключей.
На основе принимаемых общих данных блок 35 генерации алгоритмов генерирует алгоритм при каждом приеме общих данных. Этап генерации алгоритма блоком 35 генерации алгоритмов в составе второго устройства 12 связи совпадает с этапом генерации алгоритма блоком 35 генерации алгоритмов в составе первого устройства 11 связи. Генерированный алгоритм передается от блока 35 генерации алгоритмов в блок 33 шифрования и дешифрования.
На основе принимаемых общих данных блок 36 генерации ключей генерирует ключ при каждом приеме общих данных. Этап генерации ключа блоком 36 генерации ключей в составе второго устройства 12 связи совпадает с этапом генерации ключа блоком 36 генерации ключей в составе первого устройства 11 связи. Генерированный ключ передается от блока 36 генерации ключей в блок 33 шифрования и дешифрования.
Что касается этой системы связи, то при каждом выполнении шифрования первым устройством 11 связи первое устройство 11 связи генерирует новые общие данные, и при каждом выполнении дешифрования вторым устройством 12 связи второе устройство 12 связи также генерирует новые общие данные. Как описывается выше, общие данные, генерируемые вторым устройством 12 связи, если сравнивать в одном и том же порядке генерации, совпадают с общими данными, генерируемыми первым устройством 11 связи. Поэтому все общие данные, генерированные при шифровании определенных передаваемых данных первым устройством 11 связи, а также алгоритмы и ключи, генерированные на основе этих общих данных, постоянно совпадают соответственно с общими данными, генерированными вторым устройством 12 связи, а также алгоритмами и ключами, генерированными на основе этих общих данных при дешифровании зашифрованных данных, генерированных с помощью этих общих данных, а также алгоритмов и ключей, генерированных на их основе. Эти обстоятельства совпадают с обстоятельствами и в случае выполнения шифрования вторым устройством 12 связи, а дешифрования - первым устройством 11 связи.
Как описывается выше, блок 33 шифрования и дешифрования выполняет процесс дешифрования с помощью алгоритма, принимаемого от блока 35 генерации алгоритмов. Если рассмотреть это более подробно, то блок 33 шифрования и дешифрования выполняет процесс дешифрования путем генерации алгоритма для выполнения процесса дешифрования (определяемого как "в случае зашифрованных разделенных данных, представляющих собой матрицу Z с 1 строкой и 8 столбцами, выполняющий с целью получения передаваемых разделенных данных умножение Y на обратную матрицу Х с 8 строками и 8 столбцами в качестве общих данных, возведенную в а-ую степень и повернутую по часовой стрелке на n×90°") на основе алгоритма, принимаемого от блока 35 генерации алгоритмов (определяемого как "в случае 8-битовых передаваемых разделенных данных, представляющих собой матрицу Y с 1 строкой и 8 столбцами, выполняющий с целью получения зашифрованных разделенных данных путем умножения Y на матрицу Х с 8 строками и 8 столбцами в качестве общих данных, возведенную в а-ую степень и повернутую по часовой стрелке на n×90°"), и выполнения вычисления в соответствии с приведенным выше определением при использовании ключа. Таким образом, блок 33 шифрования и дешифрования дешифрует зашифрованные разделенные данные, подаваемые в виде потока от препроцессорного блока 32, с целью генерации передаваемых разделенных данных.
Далее, в случае необходимости блок 33 шифрования и дешифрования удаляет фиктивные данные из передаваемых разделенных данных (S1204). Как описывается выше, общие данные, генерированные блоком 34 генерации общих данных, передаются в препроцессорный блок 32. Эти общие данные были использованы при определении способа вставки фиктивных данных в передаваемые разделенные данные препроцессорным блоком 32 в составе первого устройства 11 связи. В частности, общие данные, хранимые в этот момент времени препроцессорным блоком 32 в составе второго устройства 12 связи, указывают на способ вставки фиктивных данных в зашифрованные разделенные данные (в частности, в передаваемые разделенные данные перед шифрованием зашифрованных разделенных данных), полностью дешифрованные (или дешифрование которых должно начаться или только что началось) блоком 33 шифрования и дешифрования в составе второго устройства 12 связи.
Препроцессорный блок 32 передает в блок 33 шифрования и дешифрования информацию о позициях вставки фиктивных данных в передаваемые разделенные данные, дешифрованные блоком 33 шифрования и дешифрования.
Используя эту информацию, блок 33 шифрования и дешифрования удаляет фиктивные данные из передаваемых разделенных данных.
Генерированные таким образом передаваемые разделенные данные передаются в соединительный блок 38. Соединительный блок 38 соединяет принимаемые передаваемые разделенные данные в один массив и подвергает их обратному преобразованию с целью представления в виде передаваемых данных в исходном состоянии перед шифрованием первым устройством 11 связи (S1205).
На этом этап 130 дешифрования зашифрованных данных вторым устройством 12 связи и их обратного преобразования с целью представления в виде передаваемых данных завершается.
Генерированные передаваемые данные передаются от соединительного блока 38 в интерфейсный блок 31, а затем передаются в НЖМД 23, например, посредством шины 28 с целью хранения в нем.
Модифицированный пример
В системе связи, описанной выше, блок 34 генерации общих данных генерирует общие данные при каждом приеме передаваемых данных интерфейсным блоком 31 или при каждом приеме зашифрованных данных блоком 37 связи. В этом случае шифрование всех порций передаваемых разделенных данных, генерируемых из одной порции передаваемых данных, осуществляется с помощью одного и того же алгоритма.
Вместо этого блок 34 генерации общих данных может генерировать общие данные при каждом приеме передаваемых разделенных данных блоком 33 шифрования и дешифрования или при каждом приеме зашифрованных разделенных данных блоком 33 шифрования и дешифрования. В этом случае для каждой порции передаваемых разделенных данных, генерируемых из одной порции передаваемых данных, шифрование выполняется с помощью различных алгоритма и ключа.
В таком модифицированном примере в случае осуществления шифрования общие данные, алгоритм и ключ генерируются следующим образом.
Сначала приводится описание случая выполнения шифрования.
Если интерфейсный блок 31 принимает передаваемые данные, содержащаяся в них информация передается от интерфейсного блока 31 в блок 34 генерации общих данных. При приеме этой информации блок 34 генерации общих данных генерирует данные, как в случае примера осуществления, рассмотренного выше. Общие данные передаются в препроцессорный блок 32, блок 35 генерации алгоритмов и блок 36 генерации ключей. При приеме общих данных препроцессорный блок 32 начинает генерацию передаваемых разделенных данных путем разделения передаваемых данных, как в случае примера осуществления, рассмотренного выше. На основе принимаемых общих блок 35 генерации алгоритмов данных генерирует алгоритм и передает генерированный алгоритм в блок 33 шифрования и дешифрования. На основе принимаемых общих блок 36 генерации ключей генерирует ключ и передает генерированный ключ в блок 33 шифрования и дешифрования.
Блок 33 шифрования и дешифрования шифрует принимаемые передаваемые разделенные данные с помощью принимаемых алгоритма и ключа с целью генерации первой порции зашифрованных разделенных данных.
Затем перед передачей второй порции передаваемых разделенных данных от препроцессорного блока 32 в блок 33 шифрования и дешифрования блок 34 генерации общих данных генерирует общие данные с целью их передачи в блок 35 генерации алгоритмов и блок 36 генерации ключей. При приеме этих данных блок 35 генерации алгоритмов генерирует алгоритм, отличный от алгоритма, использованного для генерации первой порции зашифрованных разделенных данных, и передает генерированный алгоритм в блок 33 шифрования и дешифрования 33. Блок 36 генерации ключей аналогичным образом генерирует ключ, отличный от первого ключа, и передает генерированный ключ в блок 33 шифрования и дешифрования. Блок 33 шифрования и дешифрования использует эти алгоритм и ключ для генерации второй порции зашифрованных разделенных данных с помощью второй порции передаваемых разделенных данных.
В результате повторения этих операций каждая порция передаваемых разделенных данных подвергается шифрованию, отличному от другой порции.
В этом модифицированном примере общие данные после второй порции передаются только в блок 35 генерации алгоритмов и блок 36 генерации ключей. Однако возможна передача общих данных после второй порции и в препроцессорный блок 32. В этом случае появляется возможность изменения способа генерации передаваемых разделенных данных для каждой порции передаваемых разделенных данных.
Далее приводится описание случаев выполнения дешифрования.
Если блок связи 37 принимает зашифрованные данные, содержащаяся в них информация передается от блока 37 связи в блок 34 генерации общих данных. При приеме этой информации блок 34 генерации общих данных генерирует общие данные, как в случае примера осуществления, рассмотренного выше. Общие данные передаются в препроцессорный блок 32, блок 35 генерации алгоритмов и блок 36 генерации ключей. При приеме общих данных препроцессорный блок 32 генерирует информацию о способе генерации передаваемых разделенных данных, как в случае примера осуществления, рассмотренного выше, и передает эту информацию в блок 33 шифрования и дешифрования. Блок 35 генерации алгоритмов генерирует на основе принимаемых общих данных алгоритм и передает генерированный алгоритм в блок 33 шифрования и дешифрования. Блок генерации ключей 36 генерирует на основе принимаемых общих данных ключ и передает генерированный ключ в блок 33 шифрования и дешифрования. Алгоритм и ключ идентичны соответственно алгоритму и ключу, использованным при шифровании этих передаваемых разделенных данных. Препроцессорный блок 32 передает зашифрованные разделенные данные, генерированные путем разделения зашифрованных данных, в блок 33 шифрования и дешифрования, как в случае примера осуществления, рассмотренного выше.
Блок 33 шифрования и дешифрования дешифрует принимаемые зашифрованные разделенные данные с помощью алгоритма для дешифрования, генерированного с использованием принимаемого алгоритма, с целью генерации первой порции передаваемых разделенных данных. Блок 33 шифрования и дешифрования удаляет фиктивные данные из генерированных передаваемых разделенных данных в соответствии с указанной выше принимаемой информации о способе генерации передаваемых разделенных данных.
Затем перед передачей второй порции передаваемых разделенных данных от препроцессорного блока 32 в блок 33 шифрования и дешифрования блок 34 генерации общих данных генерирует следующую порцию общих данных с целью их передачи в блок 35 генерации алгоритмов. При приеме этих данных блок 35 генерации алгоритмов генерирует алгоритм, отличный от алгоритма, использованного для генерации первой порции передаваемых разделенных данных, и передает этот алгоритм в блок 33 шифрования и дешифрования. Этот алгоритм является тем же алгоритмом, который был использован для шифрования этих передаваемых разделенных данных. При приеме общих данных блок 36 генерации ключей генерирует ключ, отличный от ключа, использованного для генерации первой порции передаваемых разделенных данных, и передает этот ключ в блок 33 шифрования и дешифрования. Этот ключ является тем же ключом, который был использован для шифрования этих передаваемых разделенных данных.
Блок 33 шифрования и дешифрования дешифрует вторую порцию зашифрованных разделенных данных с помощью этих алгоритма и ключа с целью генерации второй порции передаваемых разделенных данных. Кроме того, как и в случае примера осуществления, рассмотренного выше, этот блок удаляет фиктивные данные.
В результате повторения этих операций каждая порция зашифрованных разделенных данных подвергается дешифрованию с помощью отличных от других порций алгоритма и ключа и осуществляется последовательная генерация порций передаваемых разделенных данных.
В случае, когда при выполнении шифрования изменение способа генерации передаваемых разделенных данных для каждой порции передаваемых разделенных данных обеспечивается путем передачи общих данных после второй порции и в препроцессорный блок 32, и в случае выполнения дешифрования общие данные после второй порции также передаются в препроцессорный блок 32. При этом препроцессорный блок 32 генерирует информацию о способе генерации передаваемых разделенных данных для каждой порции зашифрованных разделенных данных. Генерированная таким образом вышеупомянутая информация о способе генерации передаваемых разделенных данных передается в блок 33 шифрования и дешифрования при каждом дешифровании зашифрованных разделенных данных блоком 33 шифрования и дешифрования. Блок 33 шифрования и дешифрования использует эту информацию с целью гарантированного удаления фиктивных данных, вставленных в каждую порцию передаваемых разделенных данных различным способом.
Изобретение относится к области передачи данных. Система включает в себя первое и второе устройства связи. Одно из устройств связи шифрует передаваемые данные с целью генерации зашифрованных данных и передает их в другое устройство связи, которое осуществляет дешифрование принимаемых зашифрованных данных. Перед выполнением шифрования каждое из устройств связи разделяет передаваемые данные на порции с заданным числом битов. Каждое из устройств связи изменяет число битов передаваемых разделенных данных и смешивает с передаваемыми разделенными данными, за исключением порции с наибольшим числом битов, и включает фиктивные данные, размер которых обеспечивает совпадение числа битов передаваемых разделенных данных с наибольшим числом битов. Достигается уменьшение вероятности взлома данных третьей стороной. 9 н. и 10 з.п. ф-лы, 6 ил.