<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "https://jats.nlm.nih.gov/publishing/1.3/JATS-journalpublishing1-3.dtd">
<article article-type="research-article" dtd-version="1.3" xml:lang="en">
  <front xmlns:xlink="http://www.w3.org/1999/xlink">
    <journal-meta>
      <journal-id journal-id-type="elibrary">9004</journal-id>
      <journal-title-group>
        <journal-title>Problems of information security. Computer systems</journal-title>
        <trans-title-group xml:lang="ru">
          <trans-title>Проблемы информационной безопасности. Компьютерные системы</trans-title>
        </trans-title-group>
      </journal-title-group>
      <issn pub-type="epub">2071-8217</issn>
    </journal-meta>
    <article-meta xmlns:xlink="http://www.w3.org/1999/xlink">
      <article-id pub-id-type="publisher-id">15</article-id>
      <title-group>
        <article-title>Algorithm for data integrity assurance in distributed storages with compensation for the results of destabilizing impacts and verification of recovery results</article-title>
        <trans-title-group xml:lang="ru">
          <trans-title>Алгоритм обеспечения целостности данных в распределенных хранилищах с компенсацией результатов воздействий дестабилизирующих факторов и проверкой достоверности результатов восстановления</trans-title>
        </trans-title-group>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <contrib-id contrib-id-type="orcid">0009-0005-4352-9099</contrib-id>
          <name>
            <surname>Rusov</surname>
            <given-names>German</given-names>
          </name>
          <xref ref-type="aff" rid="aff1"/>
          <email>grusov1999@gmail.com</email>
        </contrib>
        <contrib contrib-type="author">
          <contrib-id contrib-id-type="orcid">0000-0002-0644-4353</contrib-id>
          <name>
            <surname>Dichenko</surname>
            <given-names>Sergei</given-names>
          </name>
          <xref ref-type="aff" rid="aff2"/>
          <email>dichenko.sa@yandex.ru</email>
        </contrib>
      </contrib-group>
      <aff id="aff1">Krasnodar Higher Military awarded by the Order of Zhukov and by the Orders of October Revolution and the Red Banner School named after the general of the Army S. M. Shtemenko of the Department of Defense of Russian Federation</aff>
      <aff id="aff2">Krasnodar Higher Military School named after General of the Army S. M. Shtemenko</aff>
      <pub-date publication-format="electronic" date-type="pub" iso-8601-date="2026-10-09">
        <day>09</day>
        <month>10</month>
        <year>2026</year>
      </pub-date>
      <issue>3</issue>
      <fpage>204</fpage>
      <lpage>215</lpage>
      <self-uri xmlns:xlink="http://www.w3.org/1999/xlink" content-type="pdf" xlink:href="https://jisp.spbstu.ru/userfiles/images/oblozhki/3_2026.png"/>
      <abstract xml:lang="en">
        <p>An algorithm for ensuring data integrity in distributed storage systems is considered. The algorithm is aimed at monitoring the integrity of stored data and compensating for the effects of random and deliberate destabilizing factors, with verification of the reliability of recovery results. It is intended to support write and read operations for data arrays under conditions of storage node failures, sub-block corruption, network degradation, and attempts at coordinated substitution of integrity reference values for stored data arrays. The mathematical basis of the algorithm consists of modular arithmetic methods, the Chinese Remainder Theorem, and cryptographic hashing. A data array is represented as a vector of residues with separation of the system’s informational and control modules. Verification of the reliability of the data integrity assurance result is achieved by means of an independent global reference value of the original array and local reference values of its sub-blocks, placed with threefold replication in an isolated cluster of storage nodes. In the absence of signs of integrity violation, the algorithm performs reading using the minimum required number of sub-blocks and a single global cryptographic check. When signs of integrity violation are detected, verification against local reference values is performed, a minimally sufficient set of correct sub-blocks is formed, and the original array is reconstructed according to the Chinese Remainder Theorem. The result is then verified by cryptographic integrity control, after which the corrupted sub-blocks are rewritten and the metadata are updated. The proposed algorithm ensures the integrity of processed data, localization of sub-blocks exhibiting signs of integrity violation, and early completion of integrity control and recovery procedures in distributed storage systems.</p>
      </abstract>
      <kwd-group xml:lang="en">
        <kwd>Data integrity</kwd>
        <kwd>distributed storage</kwd>
        <kwd>modular arithmetic</kwd>
        <kwd>Chinese remainder theorem</kwd>
        <kwd>cryptographic hash function</kwd>
        <kwd>confirmed integrity</kwd>
        <kwd>data recovery</kwd>
      </kwd-group>
    </article-meta>
  </front>
</article>
