RU2808759C1 - Method for controlling data integrity based on uneven coding - Google Patents

Method for controlling data integrity based on uneven coding Download PDF

Info

Publication number
RU2808759C1
RU2808759C1 RU2023120734A RU2023120734A RU2808759C1 RU 2808759 C1 RU2808759 C1 RU 2808759C1 RU 2023120734 A RU2023120734 A RU 2023120734A RU 2023120734 A RU2023120734 A RU 2023120734A RU 2808759 C1 RU2808759 C1 RU 2808759C1
Authority
RU
Russia
Prior art keywords
data
blocks
integrity
code
degree
Prior art date
Application number
RU2023120734A
Other languages
Russian (ru)
Inventor
Иван Владимирович Чечин
Николай Владимирович Шкилев
Максим Викторович Соколов
Алексей Александрович Маринин
Павел Аркадьевич Новиков
Сергей Александрович Диченко
Дмитрий Владимирович Самойленко
Олег Анатольевич Финько
Original Assignee
федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное орденов Жукова и Октябрьской Революции Краснознаменное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации
Filing date
Publication date
Application filed by федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное орденов Жукова и Октябрьской Революции Краснознаменное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации filed Critical федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное орденов Жукова и Октябрьской Революции Краснознаменное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации
Application granted granted Critical
Publication of RU2808759C1 publication Critical patent/RU2808759C1/en

Links

Abstract

FIELD: computer engineering.
EFFECT: providing data integrity control with different levels of data security depending on the degree of their value.
SUBSTANCE: technical result is achieved by converting data that must be protected from changes under the destructive influences of an attacker and disturbances in the operating environment into Ml blocks with more valuable data and the remaining Mj blocks, each of which is represented as a number from an extension of the Galois field GF(q m ) and combined into one array, which is subject to linear encoding (n'' ,k'')-code V'' with minimum distance d'', which provides different levels of their protection depending on the degree of their value.
1 cl, 3 dwg

Description

Область техники, к которой относится изобретениеField of technology to which the invention relates

Предлагаемое изобретение относится к информационным технологиям и может быть использовано для контроля целостности данных в системах хранения в условиях деструктивных воздействий злоумышленника и возмущений среды функционирования.The proposed invention relates to information technology and can be used to monitor the integrity of data in storage systems under conditions of destructive influences of an attacker and disturbances in the operating environment.

Уровень техникиState of the art

Отправляемые на хранение данные, подлежащие защите от изменений, обладают различной степенью ценности. Их ценность в зависимости от вида рассматриваемых информационных систем, в интересах которых хранятся данные, может определяться следующим:Data sent for storage, subject to protection from changes, has varying degrees of value. Their value, depending on the type of information systems in question, for whose benefit the data is stored, can be determined by the following:

- количеством запросов пользователей системы;- the number of requests from system users;

- актуальностью (датой создания);- relevance (date of creation);

- категорией субъекта, отправляемого данные на хранение, и т.д. (От хранения данных к управлению информацией. 2-е изд. - СПб.: Питер, 2016. - 544 с.).- category of the subject sending the data for storage, etc. (From data storage to information management. 2nd ed. - St. Petersburg: Peter, 2016. - 544 p.).

Уровень защищенности (конфиденциальности, целостности, доступности) данных определяется применяемыми методами защиты. Для осуществления контроля целостности данных, подлежащих защите, в условиях деструктивных воздействий злоумышленника и возмущений среды функционирования необходимо вычисление и последующее хранение контрольных данных в объеме, соответствующем требуемому уровню защиты (чем выше уровень защиты, тем больше контрольных данных требуется вычислить). Обеспечение высокого уровня защищенности данных вне зависимости от степени их ценности приводит к преждевременному расходованию ресурсов систем хранения.The level of security (confidentiality, integrity, availability) of data is determined by the security methods used. To monitor the integrity of data to be protected under conditions of destructive influences from an attacker and disturbances in the operating environment, it is necessary to calculate and subsequently store control data in an amount corresponding to the required level of protection (the higher the level of protection, the more control data needs to be calculated). Ensuring a high level of data security, regardless of the degree of its value, leads to premature consumption of storage system resources.

Рациональное использование ресурсов систем хранения данных в современных условиях непрерывного роста объемов накапливаемых в них данных может быть обеспечен за счет учета при разработке методов контроля целостности данных того, что в массиве данных, подлежащих защите, содержатся блоки данных с разной степенью ценности.Rational use of the resources of data storage systems in modern conditions of continuous growth in the volume of data accumulated in them can be ensured by taking into account, when developing methods for monitoring data integrity, the fact that the data array to be protected contains data blocks with varying degrees of value.

а) Описание аналоговa) Description of analogues

Известны способы контроля целостности данных за счет применения криптографических методов: ключевое хэширование, средства электронной подписи (Патент на изобретение RUS №2680033, 14.02.2019; Патент на изобретение RUS №2680350, 19.02.2019; Патент на изобретение RUS №2680739, 26.02.2019; Патент на изобретение RUS №2696425, 02.08.2019; Патент на изобретение RUS №2707940, 02.12.2019; Патент на изобретение RUS №2726930, 16.07.2020; Патент на изобретение RUS №2730365, 21.08.2020; Патент на изобретение RUS №2758194, 26.10.2021; Патент на изобретение RUS №2758943, 03.11.2021; Патент на изобретение RUS №2759240, 11.11.2021; Патент на изобретение RUS №2771146, 27.04.2022; Патент на изобретение RUS №2771208, 28.04.2022; Патент на изобретение RUS №2771209, 28.04.2022; Патент на изобретение RUS №2771236, 28.04.2022; Патент на изобретение RUS №2771238, 28.04.2022; Патент на изобретение RUS №2771273, 29.04.2022; Патент на изобретение RUS №2774099, 15.06.2022; Патент на изобретение RUS №2785484, 08.12.2022; Патент на изобретение RUS №2785800, 13.12.2022; Патент на изобретение RUS №2786617, 22.12.2022; Патент на изобретение RUS №2793782, 06.04.2023; Шеннон, К. Работы по теории информации и кибернетике / К. Шеннон. - М.: Изд-во иностранной литературы, 1963. - 829 с.; Шнайер, Б. Секреты и ложь. Безопасность данных в цифровом мире / Б. Шнайер. - СПб.: Питер, 2003. - 367 с.), для которых типичны две обобщенные схемы вычисления значений хэш-функции: для каждого подблока в блоке данных и для целого блока данных.There are known methods for monitoring data integrity through the use of cryptographic methods: key hashing, electronic signature tools (Patent for invention RUS No. 2680033, 02/14/2019; Patent for invention RUS No. 2680350, 02/19/2019; Patent for invention RUS No. 2680739, 02/26/2019 ; Patent for invention RUS No. 2696425, 08/02/2019; Patent for invention RUS No. 2707940, 02.12.2019; Patent for invention RUS No. 2726930, 07.16.2020; Patent for invention RUS No. 2730365, 08.21.2020; Patent for invention RUS No. 2758194, 10.26.2021; Patent for invention RUS No. 2758943, 03.11.2021; Patent for invention RUS No. 2759240, 11.11.2021; Patent for invention RUS No. 2771146, 04.27.2022; Patent for invention RUS No. 2771208, 04/28/2022; Patent for invention RUS No. 2771209, 04/28/2022; Patent for invention RUS No. 2771236, 04/28/2022; Patent for invention RUS No. 2771238, 04/28/2022; Patent for invention RUS No. 2771273, 04/29/2022; Patent for invention RUS No. 27 74099 , 06/15/2022; Patent for invention RUS No. 2785484, 12/08/2022; Patent for invention RUS No. 2785800, 12/13/2022; Patent for invention RUS No. 2786617, 12/22/2022; Patent for invention RUS No. 2793782, 04/06/2023; Shannon, K. Works on information theory and cybernetics / K. Shannon. - M.: Foreign Literature Publishing House, 1963. - 829 p.; Schneier, B. Secrets and lies. Data security in the digital world / B. Schneier. - St. Petersburg: Peter, 2003. - 367 p.), for which two generalized schemes for calculating hash function values are typical: for each subblock in a data block and for the whole data block.

Недостатками данных способов являются:The disadvantages of these methods are:

- высокая избыточность при контроле целостности последовательности подблоков блока данных небольшой размерности (при вычислении для каждого подблока блока данных отдельного значения хэш-функции);- high redundancy when monitoring the integrity of the sequence of subblocks of a small data block (when calculating a separate hash function value for each subblock of a data block);

- отсутствие возможности обнаружения и локализации искаженных подблоков блока данных (при хэшировании целого блока данных и получении одного общего значения хэш-функции);- inability to detect and localize corrupted subblocks of a data block (when hashing an entire data block and obtaining one common hash function value);

- отсутствие возможности в обеспечении различного уровня защищенности данных в зависимости от степени их ценности.- inability to provide different levels of data security depending on the degree of their value.

Известны способы контроля целостности данных за счет применения некриптографических методов: кодов, корректирующих ошибки (Морелос-Сарагоса, Р. Искусство помехоустойчивого кодирования. Методы, алгоритмы, применение / Р. Морелос-Сарагоса; перевод с англ. В.Б. Афанасьев. - М.: Техносфера, 2006. - 320 с.; Хемминг, Р.В. Теория кодирования и теория информации / Р.В. Хемминг; перевод с англ. - М.: «Радио и связь», 1983. - 176 с.).There are known ways to control data integrity through the use of non-cryptographic methods: error-correcting codes (Morelos-Zaragoza, R. The art of error-correcting coding. Methods, algorithms, application / R. Morelos-Zaragoza; translation from English by V.B. Afanasyev. - M .: Technosphere, 2006. - 320 pp.; Hemming, R.V. Coding theory and information theory / R.V. Hemming; translation from English - M.: "Radio and Communication", 1983. - 176 pp.) .

Недостатками данных способов являются:The disadvantages of these methods are:

- контроль целостности данных выполняется с определенной для применяемого кода, корректирующего ошибки, вероятностью, для повышения которой, как правило, требуется введение высокой избыточности;- data integrity monitoring is performed with a probability specific to the error-correcting code used, to increase which, as a rule, the introduction of high redundancy is required;

- отсутствие возможности в обеспечении различного уровня защищенности данных в зависимости от степени их ценности.- inability to provide different levels of data security depending on the degree of their value.

б) Описание ближайшего аналога (прототипа)b) Description of the closest analogue (prototype)

Наиболее близким по технической сущности к заявленному изобретению (прототипом) является способ контроля целостности многомерных массивов данных на основе правил построения кода Рида-Соломона (Патент на изобретение RUS №2785862, 14.12.2022), в котором обеспечивается возможность обнаружения и локализации двух и более блоков данных с признаками нарушения целостности без вычисления и введения для этого высокой избыточности контрольных данных (фиг. 1).The closest in technical essence to the claimed invention (prototype) is a method for monitoring the integrity of multidimensional data arrays based on the rules for constructing the Reed-Solomon code (Invention Patent RUS No. 2785862, 12/14/2022), which provides the ability to detect and localize two or more blocks data with signs of integrity violation without calculating and introducing high redundancy of control data for this (Fig. 1).

Недостатком известного способа является отсутствие возможности в обеспечении различного уровня защищенности данных в зависимости от степени их ценности.The disadvantage of this known method is the inability to provide different levels of data security depending on the degree of their value.

Раскрытие изобретения (его сущность)Disclosure of the invention (its essence)

а) Технический результат, на достижение которого направлено изобретениеa) The technical result to be achieved by the invention

Целью настоящего изобретения является разработка способа контроля целостности данных, обеспечивающего различный уровень защищенности данных в зависимости от степени их ценности.The purpose of the present invention is to develop a method for monitoring data integrity, providing different levels of data security depending on the degree of their value.

б) Совокупность существенных признаковb) Set of essential features

Поставленная цель достигается тем, что в известном способе контроля целостности данных, заключающемся в том, что для обеспечения возможности обнаружения и локализации данных с признаками нарушения целостности первоначальный массив разбивается на блоки данных фиксированной длины, с которыми в последующем выполняются преобразования, в представленном же способе массив данных М фрагментируют на блоки с более ценными данными и остальные блоки каждый из которых для осуществления контроля целостности данных, обеспечивающего возможность обнаружения и локализации блоков данных с признаками нарушения целостности, представляют как число из расширения поля Галуа и объединяют в один массив где который подлежит кодированию линейным (n'',k'')-кодом V'' с минимальным расстоянием d'', где - информационные блоки, - кодовое слово, при этом через G'' обозначают порождающую матрицу кода, которая является максимальным соединением порождающих матриц G1 и G2 линейных (n1,k1)- и (n2,k2)-кодов V1 и V2 с минимальными расстояниями d1 и d2 соответственно, что обеспечивает для блоков Ml с более ценными данными большую степень защиты, равную , а для остальных блоков Mj - меньшую, но достаточную степень защиты, равную , в зависимости от требуемой корректирующей способности, что позволяет при контроле целостности данных обеспечивать различный уровень их защищенности в зависимости от степени их ценности, обнаружение и локализацию блоков данных с признаками нарушения целостности выполняют путем разделения кодового слова b на два слова и длиной n1 и n2 соответственно, и вычисления остатка от деления полученного кодового слова на порождающий многочлен g1(x) кода V1, по результатам чего принимают решение об отсутствии признаков нарушения целостности в случае получение остатка, равного 0, или об обратном.This goal is achieved by the fact that in the known method of data integrity monitoring, which consists in the fact that in order to ensure the possibility of detecting and localizing data with signs of integrity violations, the initial array is divided into data blocks of a fixed length, with which transformations are subsequently performed; in the presented method, the array data M is fragmented into blocks with more valuable data and the remaining blocks each of which, in order to monitor data integrity, providing the ability to detect and localize data blocks with signs of integrity violations, is represented as a number from an extension of the Galois field and combine them into one array Where which is to be encoded by a linear (n'',k'') code V'' with a minimum distance d'', where - information blocks, - code word, and G'' denotes the generating matrix of the code, which is the maximum connection of the generating matrices G 1 and G 2 of the linear (n 1 ,k 1 )- and (n 2 ,k 2 )-codes V 1 and V 2 with minimum distances d 1 and d 2 , respectively, which provides for blocks M l with more valuable data a greater degree of protection equal to , and for the remaining blocks M j - a smaller but sufficient degree of protection equal to , depending on the required corrective ability, which allows, when monitoring data integrity, to ensure different levels of data security depending on the degree of their value, detection and localization of data blocks with signs of integrity violations is performed by dividing the code word b into two words And length n 1 and n 2 respectively, and calculating the remainder of the division of the resulting codeword to the generating polynomial g 1 (x) of the code V 1 , based on the results of which a decision is made about the absence of signs of integrity violation in the case of obtaining a remainder equal to 0, or the opposite.

Сопоставительный анализ заявленного решения с прототипом показывает, что предлагаемый способ отличается от известного тем, что поставленная цель достигается за счет преобразования данных, подлежащих защите от изменений в условиях деструктивных воздействий злоумышленника и возмущений среды функционирования, в блоки Ml с более ценными данными и остальные блоки Mj, каждый из которых представляют как число из расширения поля Галуа и объединяют в один массив, который подлежит кодированию линейным (n'',k'')-кодом V'' с минимальным расстоянием d'', что обеспечивает различный уровень их защищенности в зависимости от степени их ценности.A comparative analysis of the claimed solution with the prototype shows that the proposed method differs from the known one in that the set goal is achieved by converting data to be protected from changes under the destructive influences of an attacker and disturbances in the operating environment into blocks M l with more valuable data and other blocks M j , each of which is represented as a number from an extension of the Galois field and are combined into one array, which is subject to encoding with a linear (n'',k'') code V'' with a minimum distance d'', which provides different levels of their security depending on the degree of their value.

Контроль целостности блоков данных с разной степенью ценности выполняется посредством использования линейного кода, полученного путем объединения кодов V1 и V2 с минимальными расстояниями d1 и d2 соответственно, что позволит в момент времени t в условиях деструктивных воздействий злоумышленника и возмущений среды функционирования обеспечить контроль целостности данных, характеризуемый различным уровнем их защищенности в зависимости от степени их ценности. Новым является то, что в предлагаемом способе массив данных М фрагментируют на блоки Ml с более ценными данными и остальные блоки Mj, каждый из которых представляют как число из расширения поля Галуа и объединяют в один массив так, чтобы вначале следовали блоки с более ценными данными. Новым является то, что массив подлежит кодированию линейным (n'',k'')-кодом V'' с минимальным расстоянием d'', полученным путем объединения кодов V1 и V2 с минимальными расстояниями d1 и d2 соответственно. Новым является то, что обеспечивается для блоков Ml с более ценными данными большая степень защиты, равная а для остальных блоков Mj - меньшая, но достаточная степень защиты, равная в зависимости от требуемой корректирующей способности, что позволяет при контроле целостности данных обеспечивать различный уровень их защищенности в зависимости от степени их ценности. Новым является то, что обнаружение и локализацию блоков данных с признаками нарушения целостности выполняют путем разделения кодового слова b на два слова и длиной n1 и n2 соответственно, и вычисления остатка от деления полученного кодового слова на порождающий многочлен кода V1, по результатам чего принимают решение об отсутствии признаков нарушения целостности в случае получение остатка, равного 0, или об обратном.Monitoring the integrity of data blocks with different degrees of value is performed by using a linear code obtained by combining codes V 1 and V 2 with minimum distances d 1 and d 2 , respectively, which will allow control at time t under conditions of destructive influences of an attacker and disturbances in the operating environment data integrity, characterized by different levels of security depending on the degree of their value. What is new is that in the proposed method, the data array M is fragmented into blocks M l with more valuable data and the remaining blocks M j , each of which is represented as a number from an extension of the Galois field and combine them into one array so that blocks with more valuable data come first. What's new is that the array to be encoded by a linear (n'',k'') code V'' with a minimum distance d'', obtained by combining codes V 1 and V 2 with minimum distances d 1 and d 2 , respectively. What is new is that a greater degree of protection is provided for M l blocks with more valuable data, equal to and for the remaining blocks M j - a smaller but sufficient degree of protection, equal to depending on the required corrective ability, which allows, when monitoring data integrity, to ensure different levels of data security depending on the degree of their value. What is new is that the detection and localization of data blocks with signs of integrity violations is performed by dividing the code word b into two words And length n 1 and n 2 respectively, and calculating the remainder of the division of the resulting codeword to the generating polynomial code V 1 , based on the results of which a decision is made about the absence of signs of integrity violation in the case of receiving a remainder equal to 0, or the opposite.

в) Причинно-следственная связь между признаками и техническим результатомc) Cause-and-effect relationship between characteristics and technical result

Благодаря новой совокупности существенных признаков в способе реализованы возможности:Thanks to a new set of essential features, the method implements the following capabilities:

- контроля целостности данных на основе теоретико-числовых преобразований в расширениях полей Галуа;- data integrity control based on number-theoretic transformations in extensions of Galois fields;

- контроля целостности данных, обеспечивающего различный уровень защищенности данных в зависимости от степени их ценности.- data integrity control, providing different levels of data security depending on the degree of their value.

Доказательства соответствия заявленного изобретения условиям патентоспособности «новизна» и «изобретательский уровень»Evidence of compliance of the claimed invention with the conditions of patentability “novelty” and “inventive step”

Проведенный анализ уровня техники позволил установить, что аналоги, характеризующиеся совокупностью признаков, тождественных всем признакам заявленного технического решения, отсутствуют, что указывает на соответствие заявленного способа условию патентоспособности «новизна».The analysis of the level of technology made it possible to establish that there are no analogues characterized by a set of features identical to all the features of the claimed technical solution, which indicates that the claimed method complies with the patentability condition of “novelty”.

Результаты поиска известных решений в данной и смежных областях техники с целью выявления признаков, совпадающих с отличительными от прототипа признаками заявленного объекта, показали, что они не следуют явным образом из уровня техники. Из уровня техники также не выявлена известность отличительных существенных признаков, обуславливающих тот же технический результат, который достигнут в заявленном способе. Следовательно, заявленное изобретение соответствует условию патентоспособности «изобретательский уровень».The results of a search for known solutions in this and related fields of technology in order to identify features that coincide with the features of the claimed object that are distinctive from the prototype, showed that they do not follow explicitly from the prior art. The prior art also does not reveal the knowledge of distinctive essential features that determine the same technical result that was achieved in the claimed method. Therefore, the claimed invention meets the patentability requirement of “inventive step”.

Краткое описание чертежейBrief description of drawings

Заявленный способ поясняется чертежами, на которых показано:The claimed method is illustrated by drawings, which show:

- фиг. 1 - схема, иллюстрирующая способ контроля целостности многомерных массивов данных на основе правил построения кода Рида-Соломона;- fig. 1 is a diagram illustrating a method for monitoring the integrity of multidimensional data arrays based on the rules for constructing the Reed-Solomon code;

- фиг. 2 - схема, иллюстрирующая порядок неравномерного кодирования массива данных М;- fig. 2 is a diagram illustrating the order of uneven encoding of a data array M;

- фиг. 3 - схема, иллюстрирующая порядок локализации блоков данных с признаками нарушения целостности.- fig. 3 is a diagram illustrating the order of localization of data blocks with signs of integrity violation.

Осуществление изобретенияCarrying out the invention

Данные, подлежащие защите от изменений при их хранении, представляются в виде массива данных М, который фрагментируется на блоки данных с более ценными данными и с остальными данными массива.Data to be protected from changes during storage is presented in the form of a data array M, which is fragmented into data blocks with more valuable data and with the rest of the array data.

Каждый блок данных Ml и Mj представляется как число из расширения поля Галуа . Далее блоки данных объединяются в один массив: где ), причем вначале идут блоки с наиболее важными данными (фиг. 2).Each data block M l and M j is represented as a number from an extension of the Galois field . Next, the data blocks are combined into one array: Where ), and the blocks with the most important data come first (Fig. 2).

Пусть V - линейный (n,k) - код с минимальным расстоянием d, - информационные символы, - кодовое слово. Через G обозначается порождающая матрица кода V, а через Т - переходная матрица, тогда b=aG и a=bT.Let V be a linear (n,k) code with minimum distance d, - information symbols, - a codeword. G denotes the generating matrix of the code V, and T the transition matrix, then b=aG and a=bT.

Рассмотрим частный вид соединения первого типа матриц А и В:Let's consider a particular type of connection of the first type of matrices A and B:

где С'' - максимальное соединение матриц А и В.where C'' is the maximum connection of matrices A and B.

Для кодирования массива p необходимо получить код V'' с порождающей матрицей G''. Для этого нужно объединить порождающие матрицы G1 и G2 кодов V1 и V2, которые являются линейными (n1,k1)- и (n2,k2)-кодами над GF(qm) с минимальными расстояниями d1 и d2 соответственно. В результате получается линейный (n1+n2,k1)-код V'' над GF(qm) с минимальным расстоянием d'', k2 информационных символов которого имеют степень защиты . Первые k1 символов кодового слова кода V'' - это информационные символы, а последние символов - проверочные. Среди k1 информационных символов k2 имеют степень защиты t'', а остальные информационные символы, а также проверочные имеют степень защиты To encode the array p, it is necessary to obtain the code V'' with the generating matrix G''. To do this, you need to combine the generating matrices G 1 and G 2 of the codes V 1 and V 2 , which are linear (n 1 ,k 1 ) and (n 2 ,k 2 ) codes over GF(q m ) with minimal distances d 1 and d 2 respectively. The result is a linear (n 1 +n 2 ,k 1 ) code V'' over GF(q m ) with a minimum distance d'', k 2 information symbols of which have a degree of protection . The first k 1 symbols of the code word V'' are information symbols, and the last symbols - verification. Among k 1 information symbols, k 2 have a degree of protection t'', and the remaining information symbols, as well as check symbols, have a degree of protection

Порождающая матрица G'' строится путем соединения порождающих матриц G1 и G2. Она примет вид:The generating matrix G'' is constructed by connecting the generating matrices G 1 and G 2 . It will look like:

Порождающие матрицы G1 и G2 строятся путем деления и на порождающие многочлены g1(х) и g2(х). Порождающие многочлены g1(х) и g2(х) находятся в соответствии со следующим выражением:Generating matrices G 1 and G 2 are constructed by division And to the generating polynomials g 1 (x) and g 2 (x). The generating polynomials g 1 (x) and g 2 (x) are found in accordance with the following expression:

Коэффициенты многочленов, получаемых в остатке на каждом шаге деления, представляют собой строки порождающей матрицы. Строки коэффициентов записываются в матрицу в порядке, обратном порядку деления.The coefficients of the polynomials obtained in the remainder at each division step are the rows of the generating matrix. The rows of coefficients are written into the matrix in the reverse order of division.

Отправляемое на хранение кодовое слово вычисляется путем перемножения строки информационных блоков а на матрицу G'':The codeword sent for storage is calculated by multiplying the row of information blocks a by the matrix G'':

Описанная конструкция позволяет строить линейные коды с большим, чем у исходных кодов расстоянием в случае, когда число информационных символов фиксировано и требуется увеличение минимального расстояния кода за счет увеличения длины, то есть числа проверочных символов.The described design makes it possible to construct linear codes with a distance greater than that of the original codes in the case when the number of information symbols is fixed and it is necessary to increase the minimum code distance by increasing the length, that is, the number of check symbols.

При обращении пользователя к хранимому слову b' оно разбивается на два слова: и . Производится деление слова на порождающий многочлен g1(x) кода V1.When the user accesses the stored word b', it is split into two words: And . The word is divided to the generating polynomial g 1 (x) of the code V 1 .

В случае, если остаток от деления равен 0, считается, что целостность блоков данных не нарушена. В противном случае считается, что целостность блоков данных, находящихся на хранении, была нарушена. В таком случае производится их локализация.If the remainder of the division is 0, it is considered that the integrity of the data blocks is not violated. Otherwise, it is considered that the integrity of the data blocks in storage has been violated. In this case, they are localized.

С этой целью определяются локаторы ошибок. Для этого вычисляется остаток е(х) от деления на g1(x), называемый полиномом ошибки. Далее определяется синдром ошибки, степень которого совпадает со степенью полинома ошибки. Коэффициенты полинома синдрома ошибки определяются по формуле , где а - примитивный элемент используемого расширения поля Галуа, i - степень элементов полинома ошибки, где z - степень полинома ошибки.For this purpose, error locators are defined. To do this, calculate the remainder e(x) from division on g 1 (x), called the error polynomial. Next, the error syndrome is determined, the degree of which coincides with the degree of the error polynomial. The error syndrome polynomial coefficients are determined by the formula , where a is the primitive element of the Galois field extension used, i is the degree of the elements of the error polynomial, where z is the degree of the error polynomial.

Многочлен локаторов L(x) определяется как , где Р-1 представляет собой матрицу, обратную матрице Р.The locator polynomial L(x) is defined as , where P -1 is the matrix inverse of the matrix P.

Матрица Р определяется какMatrix P is defined as

а столбец V находится какand column V is found as

при этом St - соответствующий коэффициент полинома синдрома ошибок.in this case S t is the corresponding coefficient of the error syndrome polynomial.

В результате расчета по формуле получается столбец:As a result of calculation using the formula the resulting column is:

После этого L представляется в полиномиальном виде.After this, L is represented in polynomial form.

Для нахождения локаторов ошибок необходимо найти корни многочлена локаторов и числа, обратные им. Эти числа следует представить в виде степени примитивного члена используемого расширения поля Галуа, показатель степени совпадает со степенью элемента полинома кодового слова, в котором допущена ошибка.To find error locators, you need to find the roots of the locator polynomial and their inverses. These numbers should be represented as the degree of the primitive term of the Galois field extension used; the exponent coincides with the degree of the element of the codeword polynomial in which the error was made.

В результате процесса локализации (фиг. 3) определяются позиции блоков данных с признаками нарушения целостности. В частности, в k2 информационных блоках, если произошло не более t'' ошибок, а также признаки нарушения целостности в остальных блоках при условии, если произошло не более t1 ошибок.As a result of the localization process (Fig. 3), the positions of data blocks with signs of integrity violation are determined. In particular, in k 2 information blocks, if no more than t'' errors occurred, as well as signs of integrity violations in the remaining blocks, provided that no more than t 1 errors occurred.

Пример. На хранение подлежит отправке следующий массив данных:Example. The following data array must be sent for storage:

Пусть первые 12 символов являются наиболее важными (для них требуется обеспечить высокую степень защиты).Let the first 12 characters be the most important (they require a high degree of security).

Перед отправкой на хранение массива данных М, в котором некоторые данные имеют наибольшую ценность, выполним кодирование с помощью правил построения кодов с неравной защитой символов. Для этого массив данных М фрагментируем на блоки данных Ml и Mj фиксированной длины m=4.Before sending the data array M, in which some data has the greatest value, for storage, we will perform encoding using the rules for constructing codes with unequal symbol protection. To do this, we fragment the data array M into data blocks M l and M j of fixed length m=4.

Получим 3 блока данных которые нужно обеспечить высокой степенью защиты и 6 блоков данных для которых не требуется высокая степень защиты:We will receive 3 data blocks which need to be provided with a high degree of protection and 6 data blocks for which a high degree of protection is not required:

- для Ml: М1=[0111], М2=[0101], М3=[1010];- for M l : M 1 = [0111], M 2 = [0101], M 3 = [1010];

- для Mj: М1=[0000], M2=[1001], M3=[0001], M4=[0001], М5=[0001], М6=[1001].- for M j : M 1 = [0000], M 2 = [1001], M 3 = [0001], M 4 = [0001], M 5 = [0001], M 6 = [1001].

Далее блоки данных представим в виде наборов символов некоторого алфавита, в качестве которого используется поле Галуа расширения двоичного поля Галуа . Затем блоки данных объединим в массив данных р[9].Next, we represent data blocks in the form of sets of characters of some alphabet, for which the Galois field of the extension is used binary Galois field . Then we combine the data blocks into a data array p[9].

Данные после их представления в виде числа из поля Галуа расширения будут выглядеть следующим образом:The data after being represented as a number from the Galois field of the extension will look like this:

После представления выполним операции с каждым блоком данных, как с числом из поля Галуа, то есть все арифметические операции будут выполняться по правилам арифметики в полях Галуа.After presentation, we will perform operations with each data block as with a number from a Galois field, that is, all arithmetic operations will be performed according to the rules of arithmetic in Galois fields.

Для построения кода с неравной защитой символов выберем следующие коды: (15,9)-код V1 и (7,3)-код V2 (коды Рида-Соломона).To construct a code with unequal symbol protection, we choose the following codes: (15,9)-code V 1 and (7,3)-code V 2 (Reed-Solomon codes).

Код V1 имеет степень защиты , код V2 имеет степень защиты Code V 1 has a degree of protection , code V 2 has a degree of protection

Построим порождающие многочлены кодов V1 и V2 (все операции выполняются по правилам арифметики в полях Галуа):Let's construct generating polynomials for codes V 1 and V 2 (all operations are performed according to the rules of arithmetic in Galois fields):

Образующие матрицы для кодов V1 и V2 строятся способом, описанным выше.Generating matrices for codes V 1 and V 2 are constructed in the manner described above.

Для построения кода с неравной защитой символов построим максимальное соединение матриц G1 и G2:To construct a code with unequal symbol protection, we construct a maximal connection of matrices G 1 and G 2 :

Для возможности осуществления контроля целостности данных выполним кодирование данных р, для этого умножим исходные данные на порождающую матрицу кода с неравной защитой символов С=pG''.To be able to monitor the integrity of the data, we will encode the data p; to do this, we will multiply the original data by the generating matrix of the code with unequal symbol protection C=pG''.

В результате чего на хранение отправляется следующие данные:As a result, the following data is sent for storage:

Допустим, что в данных при хранении возникли ошибки (нарушение целостности данных). При их запросе на использование были получены следующие данные:Let’s assume that errors occurred in the data during storage (data integrity violation). When requesting their use, the following data was received:

Принятое слово b' разобьем на два слова и получим:We split the accepted word b' into two words And we get:

Декодируем слово . Запишем слово в полиномиальном виде:Decoding the word . Let's write down the word in polynomial form:

Для обнаружения и исправления ошибки разделим на и получаем полином ошибки: To detect and correct the error, we will divide on and we get the error polynomial:

Полином синдрома ошибки примет вид:The error syndrome polynomial will take the form:

Составим матрицу Р и вектор V:Let's create a matrix P and a vector V:

Найдем обратную матрицу:Let's find the inverse matrix:

Найдем полином локаторов ошибок:Let's find a polynomial of error locators:

Найдем корни многочлена L(х) и получим:Let's find the roots of the polynomial L(x) and get:

Локаторы ошибок в таком случае имеют вид:Error locators in this case look like:

В соответствии с полученными локаторами блоки с признаками нарушения целостности имеют следующие позиции: х14, х13, х12.In accordance with the received locators, blocks with signs of integrity violations have the following positions: x 14 , x 13 , x 12 .

Таким образом, представлен способ контроля целостности данных, обеспечивающий различный уровень защищенности данных в зависимости от степени их ценности. В частности, приведен пример неравномерного кодирования и локализации блоков данных, имеющих признаки нарушения целостности, при использовании кода с неравной защитой символов (коды Рида-Соломона: (15,9)-код V1 и (7,3)-код V2).Thus, a method is presented for monitoring data integrity, providing different levels of data security depending on the degree of their value. In particular, an example is given of uneven coding and localization of data blocks that have signs of integrity violations when using a code with unequal symbol protection (Reed-Solomon codes: (15,9)-code V 1 and (7,3)-code V 2 ) .

Claims (1)

Способ контроля целостности данных на основе неравномерного кодирования, заключающийся в том, что для обеспечения возможности обнаружения и локализации данных с признаками нарушения целостности первоначальный массив разбивается на блоки данных фиксированной длины, с которыми в последующем выполняются преобразования, отличающийся тем, что массив данных М фрагментируют на блоки с более ценными данными и остальные блоки каждый из которых для осуществления контроля целостности данных, обеспечивающего возможность обнаружения и локализации блоков данных с признаками нарушения целостности, представляют как число из расширения поля Галуа и объединяют в один массив , где который подлежит кодированию линейным (n'',k'')-кодом V'' с минимальным расстоянием d'', где - информационные блоки, - кодовое слово, при этом через G'' обозначают порождающую матрицу кода, которая является максимальным соединением порождающих матриц G1 и G2 линейных (n1,k1)- и (n2,k2)-кодов V1 и V2 с минимальными расстояниями d1 и d2 соответственно, что обеспечивает для блоков Ml с более ценными данными большую степень защиты, равную а для остальных блоков Mj - меньшую, но достаточную степень защиты, равную , в зависимости от требуемой корректирующей способности, что позволяет при контроле целостности данных обеспечивать различный уровень их защищенности в зависимости от степени их ценности, обнаружение и локализацию блоков данных с признаками нарушения целостности выполняют путем разделения кодового слова b на два слова и длиной n1 и n2 соответственно, и вычисления остатка от деления полученного кодового слова на порождающий многочлен g1(x) кода V1, по результатам чего принимают решение об отсутствии признаков нарушения целостности в случае получение остатка, равного 0, или об обратном.A method for monitoring data integrity based on uneven coding, which consists in the fact that in order to ensure the possibility of detecting and localizing data with signs of integrity violations, the initial array is divided into data blocks of a fixed length, with which transformations are subsequently performed, characterized in that the data array M is fragmented into blocks with more valuable data and the remaining blocks each of which, in order to monitor data integrity, providing the ability to detect and localize data blocks with signs of integrity violations, is represented as a number from an extension of the Galois field and combine them into one array , Where which is to be encoded by a linear (n'',k'') code V'' with a minimum distance d'', where - information blocks, - code word, and G'' denotes the generating matrix of the code, which is the maximum connection of the generating matrices G 1 and G 2 of the linear (n 1 ,k 1 )- and (n 2 ,k 2 )-codes V 1 and V 2 with minimum distances d 1 and d 2 , respectively, which provides for blocks M l with more valuable data a greater degree of protection equal to and for the remaining blocks M j - a smaller but sufficient degree of protection equal to , depending on the required corrective ability, which allows, when monitoring data integrity, to ensure different levels of data security depending on the degree of their value, detection and localization of data blocks with signs of integrity violations is performed by dividing the code word b into two words And length n 1 and n 2 respectively, and calculating the remainder of the division of the resulting codeword to the generating polynomial g 1 (x) of the code V 1 , based on the results of which a decision is made about the absence of signs of integrity violation in the case of obtaining a remainder equal to 0, or the opposite.
RU2023120734A 2023-08-07 Method for controlling data integrity based on uneven coding RU2808759C1 (en)

Publications (1)

Publication Number Publication Date
RU2808759C1 true RU2808759C1 (en) 2023-12-04

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7197542B2 (en) * 2000-06-30 2007-03-27 Ponzio Jr Frank J System and method for signaling quality and integrity of data content
CN102541940A (en) * 2010-12-31 2012-07-04 上海可鲁系统软件有限公司 Method for controlling data integrity of industrial database
US9037951B2 (en) * 2009-12-17 2015-05-19 International Business Machines Corporation Data management in solid state storage systems
RU2591655C1 (en) * 2015-03-30 2016-07-20 Федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное училище имени генерала армии С.М.Штеменко" Министерства обороны Российской Федерации (Краснодарское высшее военное училище) Method for checking integrity and authenticity of electronic documents in text format stored as hard copy
RU2785862C1 (en) * 2021-11-17 2022-12-14 федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное орденов Жукова и Октябрьской Революции Краснознаменное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации Method for control of integrity of multimeric data arrays based on reed-solomon code building rules

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7197542B2 (en) * 2000-06-30 2007-03-27 Ponzio Jr Frank J System and method for signaling quality and integrity of data content
US9037951B2 (en) * 2009-12-17 2015-05-19 International Business Machines Corporation Data management in solid state storage systems
CN102541940A (en) * 2010-12-31 2012-07-04 上海可鲁系统软件有限公司 Method for controlling data integrity of industrial database
RU2591655C1 (en) * 2015-03-30 2016-07-20 Федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное училище имени генерала армии С.М.Штеменко" Министерства обороны Российской Федерации (Краснодарское высшее военное училище) Method for checking integrity and authenticity of electronic documents in text format stored as hard copy
RU2785862C1 (en) * 2021-11-17 2022-12-14 федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное орденов Жукова и Октябрьской Революции Краснознаменное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации Method for control of integrity of multimeric data arrays based on reed-solomon code building rules

Similar Documents

Publication Publication Date Title
US8510608B2 (en) Generating PUF error correcting code using redundant hardware
KR930005427B1 (en) Real time bch error correction code decoding mechanism
JP3256517B2 (en) Encoding circuit, circuit, parity generation method, and storage medium
JP3451221B2 (en) Error correction coding apparatus, method and medium, and error correction code decoding apparatus, method and medium
US7392461B2 (en) Decoding for algebraic geometric code associated with a fiber product
Munuera Steganography and error-correcting codes
JPH03136524A (en) Error detection and correction system to long burst error
KR20150112893A (en) Method for protecting data from algebraic manipulation
US8694872B2 (en) Extended bidirectional hamming code for double-error correction and triple-error detection
US20050188292A1 (en) Method and apparatus for encoding special uncorrectable errors in an error correction code
CN102799495B (en) For generating the device of School Affairs
CN113297001B (en) RAID (redundant array of independent disks) coding and decoding method and coding and decoding circuit
CN101779379B (en) Encoding and decoding using generalized concatenated codes (GCC)
US7461329B2 (en) Channel encoding adapted to error bursts
Li et al. Repairing Reed-Solomon Codes Over $ GF (2^\ell) $
US9998149B2 (en) Constant hamming weight coding
Nielsen List decoding of linear block codes
WO2018149354A1 (en) Polar code encoding method and apparatus, and device and storage medium
RU2808759C1 (en) Method for controlling data integrity based on uneven coding
RU164633U1 (en) STORAGE AND TRANSMISSION DEVICE WITH ERROR DETECTION
US6643819B1 (en) Hybrid root-finding technique
RU2707940C1 (en) Method of multilevel control and data integrity assurance
US20060010363A1 (en) Method and system for correcting low latency errors in read and write non volatile memories, particularly of the flash type
US20210218419A1 (en) Method, device and apparatus for storing data, computer readable storage medium
CN112614001A (en) Agricultural product tracing method and system based on block chain