<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE article PUBLIC "-//NLM/DTD JATS (Z39.96) Journal Publishing DTD v1.2 20120330//EN" "http://jats.nlm.nih.gov/publishing/1.2/JATS-journalpublishing1.dtd">
    <!--<?xml-stylesheet type="text/xsl" href="article.xsl">-->
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:ns1="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.2" xml:lang="en">
	<front>
		<journal-meta>
			<journal-id journal-id-type="eissn">3034-1558</journal-id>
			<journal-title-group>
				<journal-title>Cifra. Информационные технологии и телекоммуникации</journal-title>
			</journal-title-group>
			<publisher>
				<publisher-name>ООО Цифра</publisher-name>
			</publisher>
		</journal-meta>
		<article-meta>
			<article-id pub-id-type="doi">10.60797/itech.2026.11.1</article-id>
			<article-categories>
				<subj-group>
					<subject>Brief communication</subject>
				</subj-group>
			</article-categories>
			<title-group>
				<article-title>метод декодирования кодов Рида-Соломона на основе коррекции ошибок и стираний для биометрических систем</article-title>
			</title-group>
			<contrib-group>
				<contrib contrib-type="author" corresp="yes">
					<contrib-id contrib-id-type="orcid">https://orcid.org/0000-0003-0418-9595</contrib-id>
					<name>
						<surname>Ассанович</surname>
						<given-names>Борис Алиевич</given-names>
					</name>
					<email>bas@grsu.by</email>
					<xref ref-type="aff" rid="aff-1">1</xref>
				</contrib>
				<contrib contrib-type="author">
					<name>
						<surname>Гаврилова</surname>
						<given-names>Ирина Леонидовна</given-names>
					</name>
					<email>igavr@grsu.by</email>
					<xref ref-type="aff" rid="aff-1">1</xref>
				</contrib>
			</contrib-group>
			<aff id="aff-1">
				<institution-wrap>
					<institution-id institution-id-type="ROR">https://ror.org/03q92e557</institution-id>
					<institution content-type="education">Гродненский государственный университет имени Янки Купалы</institution>
				</institution-wrap>
			</aff>
			<pub-date publication-format="electronic" date-type="pub" iso-8601-date="2026-07-14">
				<day>14</day>
				<month>07</month>
				<year>2026</year>
			</pub-date>
			<pub-date pub-type="collection">
				<year>2026</year>
			</pub-date>
			<volume>13</volume>
			<issue>11</issue>
			<fpage>1</fpage>
			<lpage>13</lpage>
			<history>
				<date date-type="received" iso-8601-date="2025-11-14">
					<day>14</day>
					<month>11</month>
					<year>2025</year>
				</date>
				<date date-type="accepted" iso-8601-date="2026-04-30">
					<day>30</day>
					<month>04</month>
					<year>2026</year>
				</date>
			</history>
			<permissions>
				<copyright-statement>Copyright: &amp;#x00A9; 2022 The Author(s)</copyright-statement>
				<copyright-year>2022</copyright-year>
				<license license-type="open-access" xlink:href="http://creativecommons.org/licenses/by/4.0/">
					<license-p>
						This is an open-access article distributed under the terms of the Creative Commons Attribution 4.0 International License (CC-BY 4.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited. See 
						<uri xlink:href="http://creativecommons.org/licenses/by/4.0/">http://creativecommons.org/licenses/by/4.0/</uri>
					</license-p>
					.
				</license>
			</permissions>
			<self-uri xlink:href="https://itech.cifra.science/archive/3-11-2026-july/10.60797/itech.2026.11.1"/>
			<abstract>
				<p>В работе рассматривается биометрическая система (БС) аутентификации, основанная на схеме нечеткого обязательства (fuzzy commitment), предназначенная для защиты секретных ключей с использованием помехоустойчивых кодов. Предлагается усовершенствованный метод декодирования с исправлением ошибок и стираний для недвоичных кодов Рида-Соломона (РС), использующий вспомогательные данные двух типов, связанных с предыдущими измерениями и их вариациями. Метод базируется на многоуровневой оценке надежности символов с возможностью персонализации на основе профилей пользователей, с использованием вспомогательных данных и хеша ключа, что позволяет снизить избыточность кодирования при сохранении высокой надежности восстановления.Предложены две оригинальные стратегии: интеллектуальная, включающая трехкомпонентную оценку надежности символов на основе исторических данных биометрических измерений с гибридным алгоритмом управления стираниями с расширенным поиском (fall-back), а также каскадная, последовательно применяющая фиксированный, адаптивный и приоритетный методы отбора стираний. Оценка метода проводилась с использованием синтетических данных и реальной биометрии человеческих лиц из базы данных UvA-NEMO для кодов РС длины 63 с различной корректирующей способностью: РС(63,21), РС(63,15) и РС(63,11).Результаты экспериментов демонстрируют прирост успешности декодирования относительно базового алгоритма (без обработки стираний) от 9,5% для РС(63,11) до 43,1% для кода РС(63,21). Интеллектуальная стратегия с fall-back механизмом достигает 96,3% успешности для РС(63,21) при нагрузке в 4 раза меньшей, чем каскадная, а для РС(63,11) обеспечивает 99,8% успешности. При решении задачи аутентификации достигнуты значения FRR менее 1% для РС(63,11) и менее 2% для РС(63,15), что соответствует требованиям большинства практических приложений.</p>
			</abstract>
			<kwd-group>
				<kwd>коды Рида-Соломона</kwd>
				<kwd> декодирование с исправлением ошибок и стираний</kwd>
				<kwd> биометрическая система</kwd>
				<kwd> fuzzy commitment</kwd>
				<kwd> fall-back механизм</kwd>
				<kwd> вспомогательные данные</kwd>
				<kwd> надежность символов</kwd>
				<kwd> аутентификация</kwd>
			</kwd-group>
		</article-meta>
	</front>
	<body>
		<sec>
			<title>HTML-content</title>
			<p>1. Введение</p>
			<p>Традиционные биометрические системы (БС) используют как отдельные, так и каскадные схемы кодирования с применением одного или нескольких помехоустойчивых кодов для обеспечения устойчивости к естественным вариациям биометрических характеристик </p>
			<p>[1][2][3]</p>
			<p>Предлагаемая БС реализует модифицированную схему JW (Juels-Wattenberg) </p>
			<p>[4][5][6][7][8]</p>
			<p>Одной из последних работ, учитывающих эти изменения, стало исследование Курбатова с соавторами </p>
			<p>[9]</p>
			<p>Для решения этой проблемы в современных БС широко применяются линейные коды блочного типа </p>
			<p>[10][11][12][3]</p>
			<p>Алгебраический алгоритм декодирования кодов Рида-Соломона </p>
			<p>[12][13]</p>
			<p>В последние годы отмечается активное внедрение методов DL в задачу декодирования помехоустойчивых кодов </p>
			<p>[14][15][16][15][16]</p>
			<p>Однако прямое применение передовых DL-методов с DNN к задачам биометрии сталкивается с вычислительными ограничениями при росте размерности полей Галуа и практическими ограничениями при развёртывании на мобильных и встроенных устройствах. В БС актуально применение «легковесных» алгебраических методов, которые эффективно используют информацию о надежности канала для маркировки стираний и коррекции ошибок, но при этом обладают предсказуемой вычислительной сложностью. Предлагаемый в данной работе подход фокусируется не на фундаментальном переосмыслении процесса декодирования с помощью DL, а на целевой оптимизации классической цепочки «оценка надежностей, маркировка стираний, алгебраическое декодирование» для специфических условий биометрических каналов. </p>
			<p>В работе рассматривается биометрическая система, в которой секретный ключ K кодируется недвоичным кодом РС длины n символов, что позволяет улучшить эффективность декодирования без применения каскадных кодов </p>
			<p>[5]</p>
			<p>Новизна исследования определяется двумя предложенными стратегиями обработки биометрических данных: интеллектуальной и каскадной.</p>
			<p>Интеллектуальная стратегия — с трехкомпонентной оценкой надежности на основе исторических профилей пользователей и гибридным управлением стираниями с расширенным поиском. Каскадная стратегия — с последовательным применением фиксированного, адаптивного и приоритетного методов отбора стираний. Данные стратегии обеспечивают высокую успешность декодирования при оптимальном балансе вычислительной нагрузки для различных типов кодов.</p>
			<p>2. Биометрическая система с двумя образцами вспомогательных данных</p>
			<p>Для создания биометрического ключа и формирования устойчивого биометрического шаблона в БС создается супервектор Y = y1 Missing Mark : sup∪ y2 Missing Mark : sup⋯ ∪ yMMissing Mark : sup из отдельных векторов yiMissing Mark : sup, где M — количество обрабатываемых биометрических фреймов данных. Это может быть несколько отпечатков пальца либо видеокадров лица человека и т.п. Предлагаемая система реализует схему FC (ниже представлена ее формализация), используя один или два образца вспомогательных данных HD1 и HD2, которые выполняют принципиально различные функции. HD1 содержит данные, связанные с вариацией измерений, которые образуют персонализированную мета-информацию о стабильности биометрических признаков пользователя, применяемую адаптивным алгоритмом для оптимального выбора стираний. Информация HD2 представляет собой публичные криптографические данные, маскирующие секретный ключ. Инновация предлагаемого подхода заключается не в изменении схемы FC, а в использовании HD1 для аналитической оптимизации процесса коррекции ошибок, применяемого к HD2. </p>
			<p>Важными характеристиками производительности БС являются вероятность ложного доступа FAR (False Acceptance Rate) и вероятность ложного отказа FRR (False Rejection Rate). Величина FRR зависит от вероятности ошибки на символ perrMissing Mark : sub для биномиального распределения XiMissing Mark : sub ~Bin(niMissing Mark : sub, perrMissing Mark : sub) и фактически ограничена сверху вероятностью того, что в i-том блоке данных число ошибок превысит порог коррекции tiMissing Mark : sub FRRi Missing Mark : sub~ P(XiMissing Mark : sub&gt;tiMissing Mark : sub) </p>
			<p>[3]</p>
			<p>При равномерном квантовании на L уровней вероятность «угадать» отдельный символ для злоумышленника равна (pgMissing Mark : sub=1)/L. Тогда, в рамках биномиальной модели для Y~Bin(n, pgMissing Mark : sub), где Y — количество угаданных злоумышленником символов, вероятность FAR вычисляется как FAR=P(Y≥k), где k – порог восстановления ключа. Оптимальным для решаемой задачи признано квантование на L=64 уровня. Данный шаг квантования более чем на порядок меньше среднего абсолютного отклонения биометрических данных и гарантирует надёжное разделение различных реализаций одного признака.</p>
			<p>Классическая модель биномиального канала предполагает, что вероятность ошибки символа p_err фиксирована и одинакова для всех символов, а ошибки статистически независимы. Однако, как показано в работе </p>
			<p>[18]</p>
			<p>Переход от биномиальной модели к бета-распределению принципиально меняет оценку вероятности ошибки символа p_err при равномерном квантовании на L=64 уровня. Оценка ошибки квантования, отображающая вариативность биометрических данных, описывается на основе функции плотности вероятности f(x), которая аппроксимируется бета-распределением и может быть получена с учетом независимости двух измерений при попадании в интервал квантования</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:msub>
						<mml:mi>p</mml:mi>
						<mml:mrow>
							<mml:mi>e</mml:mi>
							<mml:mi>r</mml:mi>
							<mml:mi>r</mml:mi>
						</mml:mrow>
					</mml:msub>
					<mml:mo>=</mml:mo>
					<mml:mn>1</mml:mn>
					<mml:mo>−</mml:mo>
					<mml:msubsup>
						<mml:mo>∑</mml:mo>
						<mml:mrow>
							<mml:mi>i</mml:mi>
							<mml:mo>=</mml:mo>
							<mml:mn>1</mml:mn>
						</mml:mrow>
						<mml:mrow>
							<mml:mi>L</mml:mi>
						</mml:mrow>
					</mml:msubsup>
					<mml:msup>
						<mml:mrow>
							<mml:mo stretchy="true" fence="true" form="prefix">(</mml:mo>
							<mml:msubsup>
								<mml:mo>∫</mml:mo>
								<mml:mrow>
									<mml:mo stretchy="false">(</mml:mo>
									<mml:mi>i</mml:mi>
									<mml:mo>−</mml:mo>
									<mml:mn>1</mml:mn>
									<mml:mo stretchy="false">)</mml:mo>
									<mml:mi>δ</mml:mi>
								</mml:mrow>
								<mml:mrow>
									<mml:mi>i</mml:mi>
									<mml:mi>δ</mml:mi>
								</mml:mrow>
							</mml:msubsup>
							<mml:mi>f</mml:mi>
							<mml:mo stretchy="false">(</mml:mo>
							<mml:mi>x</mml:mi>
							<mml:mo stretchy="false">)</mml:mo>
							<mml:mi>d</mml:mi>
							<mml:mi>x</mml:mi>
							<mml:mo stretchy="true" fence="true" form="postfix">)</mml:mo>
						</mml:mrow>
						<mml:mrow>
							<mml:mn>2</mml:mn>
						</mml:mrow>
					</mml:msup>
					<mml:mo>.</mml:mo>
				</mml:mrow>
			</mml:math>
			<p>В биномиальной модели с равномерным распределением признаков perrMissing Mark : sub составляла около 0.25, тогда как для бета-распределения численное интегрирование даёт perrMissing Mark : sub=0.174. </p>
			<p>Современные тенденции к криптографической стойкости биометрических систем определяют использование ключей длиной не менее 128 бит </p>
			<p>[5]</p>
			<p>– код РС(63,21), для которого достаточно M=1 кодового слова (длина ключа: 21×6=126 бит, близко к 128 бит).</p>
			<p>– код РС(63,15), в случае которого необходимо 2 кодовых слова для длины ключа 2×15×6=180 бит (более 128 бит).</p>
			<p>– код РС(63,11), который требует M=2 кодовых слова (длина ключа: 2×11×6=132 бита).</p>
			<p>Выбор между ними определяется компромиссом между вычислительной сложностью, особенностями применения в режиме исправления ошибок и стираний, в параметрах FAR и FRR. Для кода РС(63,21) без использования стираний переход от биномиальной модели (perrMissing Mark : sub=0,22) к бета-распределению (perrMissing Mark : sub=0,174) снижает FRR с 1,02% до 0.19%. А для кода РС(63,15) и РС(63,11) при perrMissing Mark : sub=0,174 величина FRR составляет 3,4×10-6Missing Mark : sup и 1,2×10-7Missing Mark : sup соответственно. </p>
			<p>При фиксированной общей вероятности искажения символа perrMissing Mark : sub переход от ошибок к стираниям позволяет снизить «стоимость» искажений с 2perrMissing Mark : sub до 2peMissing Mark : sub+psMissing Mark : sub, что эквивалентно увеличению запаса исправляющей способности на npsMissing Mark : sub, где n — длина кода, а psMissing Mark : sub — вероятность стирания символа и peMissing Mark : sub — вероятность ошибки, которые в сумме дают perrMissing Mark : sub.</p>
			<p>Доля успешного декодирования кода с учетом стираний, например РС(63,21), вычисляется сумма трехчленного распределения по всем допустимым комбинациям числа ошибок NeMissing Mark : sub=e и числа стираний NsMissing Mark : sub=s:</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:msub>
						<mml:mi>P</mml:mi>
						<mml:mrow>
							<mml:mtext>success </mml:mtext>
						</mml:mrow>
					</mml:msub>
					<mml:mo>=</mml:mo>
					<mml:msubsup>
						<mml:mo>∑</mml:mo>
						<mml:mrow>
							<mml:mi>e</mml:mi>
							<mml:mo>=</mml:mo>
							<mml:mn>0</mml:mn>
						</mml:mrow>
						<mml:mrow>
							<mml:mi>n</mml:mi>
						</mml:mrow>
					</mml:msubsup>
					<mml:msubsup>
						<mml:mo>∑</mml:mo>
						<mml:mrow>
							<mml:mi>s</mml:mi>
							<mml:mo>=</mml:mo>
							<mml:mn>0</mml:mn>
						</mml:mrow>
						<mml:mrow>
							<mml:mi>n</mml:mi>
							<mml:mo>−</mml:mo>
							<mml:mi>e</mml:mi>
						</mml:mrow>
					</mml:msubsup>
					<mml:mn>1</mml:mn>
					<mml:mo stretchy="false">[</mml:mo>
					<mml:mn>2</mml:mn>
					<mml:mi>e</mml:mi>
					<mml:mo>+</mml:mo>
					<mml:mi>s</mml:mi>
					<mml:mo>≤</mml:mo>
					<mml:mn>42</mml:mn>
					<mml:mo stretchy="false">]</mml:mo>
					<mml:mi>·</mml:mi>
					<mml:mfrac>
						<mml:mrow>
							<mml:mi>n</mml:mi>
							<mml:mo>!</mml:mo>
						</mml:mrow>
						<mml:mrow>
							<mml:mi>e</mml:mi>
							<mml:mo>!</mml:mo>
							<mml:mi>s</mml:mi>
							<mml:mo>!</mml:mo>
							<mml:mo stretchy="false">(</mml:mo>
							<mml:mi>n</mml:mi>
							<mml:mo>−</mml:mo>
							<mml:mi>e</mml:mi>
							<mml:mo>−</mml:mo>
							<mml:mi>s</mml:mi>
							<mml:mo stretchy="false">)</mml:mo>
							<mml:mo>!</mml:mo>
						</mml:mrow>
					</mml:mfrac>
					<mml:mi>·</mml:mi>
					<mml:msubsup>
						<mml:mi>p</mml:mi>
						<mml:mrow>
							<mml:mi>e</mml:mi>
						</mml:mrow>
						<mml:mrow>
							<mml:mi>e</mml:mi>
						</mml:mrow>
					</mml:msubsup>
					<mml:msubsup>
						<mml:mi>p</mml:mi>
						<mml:mrow>
							<mml:mi>s</mml:mi>
						</mml:mrow>
						<mml:mrow>
							<mml:mi>s</mml:mi>
						</mml:mrow>
					</mml:msubsup>
					<mml:msup>
						<mml:mrow>
							<mml:mo stretchy="true" fence="true" form="prefix">(</mml:mo>
							<mml:mn>1</mml:mn>
							<mml:mo>−</mml:mo>
							<mml:msub>
								<mml:mi>p</mml:mi>
								<mml:mrow>
									<mml:mi>e</mml:mi>
								</mml:mrow>
							</mml:msub>
							<mml:mo>−</mml:mo>
							<mml:msub>
								<mml:mi>p</mml:mi>
								<mml:mrow>
									<mml:mi>s</mml:mi>
								</mml:mrow>
							</mml:msub>
							<mml:mo stretchy="true" fence="true" form="postfix">)</mml:mo>
						</mml:mrow>
						<mml:mrow>
							<mml:mi>n</mml:mi>
							<mml:mo>−</mml:mo>
							<mml:mi>e</mml:mi>
							<mml:mo>−</mml:mo>
							<mml:mi>s</mml:mi>
						</mml:mrow>
					</mml:msup>
					<mml:mo>,</mml:mo>
				</mml:mrow>
			</mml:math>
			<p>где 1[2e+s≤42] — индикаторная функция, которая «включает» те слагаемые, которые допустимы с точки зрения корректирующей способности кода.</p>
			<p>При введении декодирования со стираниями с параметрами peMissing Mark : sub=0,10, psMissing Mark : sub=0,074, сумма которых дает perrMissing Mark : sub=0,174, FRR для кода РС(63,21) сокращается до 2,4×10-7Missing Mark : sup, а для кодов РС(63,15) и РС(63,11) уменьшается до значений 2,3×10-10Missing Mark : sup и 10-12Missing Mark : sup соответственно. Параметр FAR также претерпевает изменения для бета-распределения с perrMissing Mark : sub=0,174 и L=64 FAR и составляет менее 10-20Missing Mark : sup для всех кодов. </p>
			<p>При бета-распределении код РС(63,21) остаётся вполне приемлемым для многих приложений с FRR=0,19%. Однако для критических применений, требующих FRR менее 10-6Missing Mark : sup, безальтернативным становится использование двух кодовых слов РС(63,11) или РС(63,15). Декодирование со стираниями в сочетании с бета-распределением позволяет достичь FRR=2,4×10-7Missing Mark : sup даже для кода РС(63,21). Это демонстрирует, что правильный учёт статистических характеристик источника может компенсировать недостаточную исправляющую способность кода.</p>
			<p>3. Декодирование кодов Рида-Соломона</p>
			<p>Известно, что результатом HDD-декодирования кода с n символами является либо декодированное сообщение, либо индикация ошибки декодирования. Однако код РС позволяет исправлять не только ошибки, но и стирания. Если NsMissing Mark : sub символов кода помечены как стертые, а оставшиеся n-NsMissing Mark : sub символов содержат NeMissing Mark : sub ошибок, алгоритм BM находит правильное кодовое слово при выполнении условия, связанного с кодовым расстоянием d </p>
			<p>[14]</p>
			<code>[LATEX_FORMULA]N_{s}+2 N_{e} \leq 2 t&amp;lt;d[/LATEX_FORMULA]</code>
			<p>Если NsMissing Mark : sub=0, декодер используется как декодер только для коррекции ошибок, а если 0&lt;NsMissing Mark : sub≤d-1, декодер называется декодером ошибок-и-стираний (Error-and-Erasure Decoding, EED). Однако для применения принципа EED необходимо определить, какие символы являются ошибочными или стертыми. </p>
			<p>В распоряжении декодера имеются исторические данные HD1, формируемые на основе абсолютных отклонений предшествующих биометрических измерений от среднего значения (или от центра квантования):</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:msub>
						<mml:mi>D</mml:mi>
						<mml:mrow>
							<mml:mi>i</mml:mi>
						</mml:mrow>
					</mml:msub>
					<mml:mo>=</mml:mo>
					<mml:mrow>
						<mml:mo stretchy="true" fence="true" form="prefix">|</mml:mo>
						<mml:msubsup>
							<mml:mi>y</mml:mi>
							<mml:mrow>
								<mml:mi>i</mml:mi>
							</mml:mrow>
							<mml:mrow>
								<mml:mi>j</mml:mi>
							</mml:mrow>
						</mml:msubsup>
						<mml:mo>−</mml:mo>
						<mml:msub>
							<mml:mi>μ</mml:mi>
							<mml:mrow>
								<mml:mi>i</mml:mi>
							</mml:mrow>
						</mml:msub>
						<mml:mo stretchy="true" fence="true" form="postfix">|</mml:mo>
					</mml:mrow>
					<mml:mo>,</mml:mo>
				</mml:mrow>
			</mml:math>
			<p>где yiMissing Mark : subjMissing Mark : sup — i-ый элемент в j-том биометрическом образце, μiMissing Mark : sub — его базовое значение.</p>
			<p>Таким образом, отклонения DiMissing Mark : sub могут служить дополнительной информацией для реализации EED на этапе верификации в биометрической системе. Для этого в обрабатываемом кодовом слове необходимо пометить NsMissing Mark : sub элементов из общего числа символов n как стирания и сформировать вектор стирания на основе интегральной метрики надежности, получаемой путем адаптивной агрегации трех компонент, описанной ниже. </p>
			<p>В основу выбора стратегии стираний положим аналитический подход, основанный на работе Вебера и др. </p>
			<p>[19]</p>
			<p>На основе сформированного вектора стирания выполняется процедура EED. Если декодирование оказывается неудачным, активируется механизм расширенного поиска (fall-back), в рамках которого количество стираний последовательно увеличивается. Процесс продолжается до тех пор, пока либо декодирование не завершится успешно с восстановлением ключа K, либо не будут исчерпаны все итерации.</p>
			<p>4. Математическая модель БС и процедура верификации
ключа</p>
			<p>Пользовательский ключ K длины k кодируется кодом РС с параметрами (n, k) над полем GF(2mMissing Mark : sup), в результате чего формируется кодовое слово:</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:mi>C</mml:mi>
					<mml:mo>=</mml:mo>
					<mml:mi>R</mml:mi>
					<mml:mi>S</mml:mi>
					<mml:mi>_</mml:mi>
					<mml:mtext>encode </mml:mtext>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:mi>K</mml:mi>
					<mml:mo stretchy="false">)</mml:mo>
					<mml:mo>,</mml:mo>
					<mml:mi>C</mml:mi>
					<mml:mo>∈</mml:mo>
					<mml:mi>G</mml:mi>
					<mml:mi>F</mml:mi>
					<mml:msup>
						<mml:mrow>
							<mml:mo stretchy="true" fence="true" form="prefix">(</mml:mo>
							<mml:msup>
								<mml:mn>2</mml:mn>
								<mml:mrow>
									<mml:mi>m</mml:mi>
								</mml:mrow>
							</mml:msup>
							<mml:mo stretchy="true" fence="true" form="postfix">)</mml:mo>
						</mml:mrow>
						<mml:mrow>
							<mml:mi>n</mml:mi>
						</mml:mrow>
					</mml:msup>
					<mml:mo>.</mml:mo>
				</mml:mrow>
			</mml:math>
			<p>На этапе регистрации биометрический образец пользователя подвергается квантованию </p>
			<p>[17]</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:mi>W</mml:mi>
					<mml:mo>=</mml:mo>
					<mml:mi>C</mml:mi>
					<mml:mo>⊕</mml:mo>
					<mml:mi>Z</mml:mi>
					<mml:mo>.</mml:mo>
				</mml:mrow>
			</mml:math>
			<p>Параллельно формируется вектор исторических разностей D, статистические характеристики которого (квантили Q1Missing Mark : sub, Q3Missing Mark : sub, коэффициент вариации CViMissing Mark : sub) составляют вспомогательные данные HD1.</p>
			<p>На этапе верификации пользователь предъявляет новое биометрическое измерение, которое квантуется в вектор Z'. Восстановление искаженного кодового слова выполняется как:</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:msup>
						<mml:mi>C</mml:mi>
						<mml:mrow>
							<mml:mi>′</mml:mi>
						</mml:mrow>
					</mml:msup>
					<mml:mo>=</mml:mo>
					<mml:mi>W</mml:mi>
					<mml:mo>⊕</mml:mo>
					<mml:msup>
						<mml:mi>Z</mml:mi>
						<mml:mrow>
							<mml:mi>′</mml:mi>
						</mml:mrow>
					</mml:msup>
					<mml:mo>=</mml:mo>
					<mml:mi>C</mml:mi>
					<mml:mo>⊕</mml:mo>
					<mml:mrow>
						<mml:mo stretchy="true" fence="true" form="prefix">(</mml:mo>
						<mml:mi>Z</mml:mi>
						<mml:mo>⊕</mml:mo>
						<mml:msup>
							<mml:mi>Z</mml:mi>
							<mml:mrow>
								<mml:mi>′</mml:mi>
							</mml:mrow>
						</mml:msup>
						<mml:mo stretchy="true" fence="true" form="postfix">)</mml:mo>
					</mml:mrow>
					<mml:mo>.</mml:mo>
				</mml:mrow>
			</mml:math>
			<p>Разность Z⊕Z^' представляет собой зашумленный вектор, указывающий позиции, в которых произошли изменения квантованных значений.</p>
			<p>Для организации эффективного декодирования вычисляется вектор надежности R=(R(1),R(2),…,R(n)) где R(i)∈[0,1] характеризует степень доверия к корректности i-того символа. Методика вычисления R(i) подробно рассматривается в следующем разделе.</p>
			<p>На основе вектора R формируется множество стираний:</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:mi>ε</mml:mi>
					<mml:mo>=</mml:mo>
					<mml:mo stretchy="false">{</mml:mo>
					<mml:mi>i</mml:mi>
					<mml:mo>∣</mml:mo>
					<mml:mi>R</mml:mi>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:mn>1</mml:mn>
					<mml:mo stretchy="false">)</mml:mo>
					<mml:mo>≤</mml:mo>
					<mml:mi>h</mml:mi>
					<mml:mo stretchy="false">}</mml:mo>
					<mml:mo>,</mml:mo>
				</mml:mrow>
			</mml:math>
			<p>где h — пороговое значение, определяемое выбранной стратегией декодирования. Затем выполняется EED — декодирование искаженного кодового слова C' с учетом позиций стираний:</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:msup>
						<mml:mi>K</mml:mi>
						<mml:mrow>
							<mml:mi>′</mml:mi>
						</mml:mrow>
					</mml:msup>
					<mml:mo>=</mml:mo>
					<mml:mi>E</mml:mi>
					<mml:mi>E</mml:mi>
					<mml:mi>D</mml:mi>
					<mml:mi>_</mml:mi>
					<mml:mi>d</mml:mi>
					<mml:mi>e</mml:mi>
					<mml:mi>c</mml:mi>
					<mml:mi>o</mml:mi>
					<mml:mi>d</mml:mi>
					<mml:mi>e</mml:mi>
					<mml:mrow>
						<mml:mo stretchy="true" fence="true" form="prefix">(</mml:mo>
						<mml:msup>
							<mml:mi>C</mml:mi>
							<mml:mrow>
								<mml:mi>′</mml:mi>
							</mml:mrow>
						</mml:msup>
						<mml:mo>,</mml:mo>
						<mml:mi>ε</mml:mi>
						<mml:mo stretchy="true" fence="true" form="postfix">)</mml:mo>
					</mml:mrow>
					<mml:mo>.</mml:mo>
				</mml:mrow>
			</mml:math>
			<p>Успешным считается декодирование, при котором восстановленный ключ совпадает с исходным ключом.</p>
			<p>5. Нахождение компонент
надежности</p>
			<p>Для реализации эффективного EED критически важной является точная оценка надежности символов. Предлагается трехкомпонентный метод оценки надежности на основе исторических разностей.</p>
			<p>Компонента 1: Первая компонента отражает тот факт, что символы, демонстрирующие стабильность в предыдущих измерениях, должны получать более высокую оценку надёжности. Она вычисляется как:</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:msub>
						<mml:mi>R</mml:mi>
						<mml:mrow>
							<mml:mn>1</mml:mn>
						</mml:mrow>
					</mml:msub>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:mi>i</mml:mi>
					<mml:mo stretchy="false">)</mml:mo>
					<mml:mo>=</mml:mo>
					<mml:mfrac>
						<mml:mrow>
							<mml:mn>1</mml:mn>
						</mml:mrow>
						<mml:mrow>
							<mml:mn>1</mml:mn>
							<mml:mo>+</mml:mo>
							<mml:msub>
								<mml:mi>D</mml:mi>
								<mml:mrow>
									<mml:mi>i</mml:mi>
								</mml:mrow>
							</mml:msub>
						</mml:mrow>
					</mml:mfrac>
				</mml:mrow>
			</mml:math>
			<p>где DiMissing Mark : sub — историческая разность для i-того символа, определяемая как среднее отклонение его значений от среднего (или от центра квантования) на обучающей выборке, что на практике приводит фактически к тем же результатам.</p>
			<p>Компонента 2: Вторая компонента учитывает относительную стабильность символа с учетом его среднеквадратичного отклонения σiMissing Mark : sub, нормированного на значение центра квантования μiMissing Mark : sub. </p>
			<p>Эта компонента, обратная к коэффициенту вариации CViMissing Mark : sub=σiMissing Mark : sub/μiMissing Mark : sub, определяется как</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:msub>
						<mml:mi>R</mml:mi>
						<mml:mrow>
							<mml:mn>2</mml:mn>
						</mml:mrow>
					</mml:msub>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:mi>i</mml:mi>
					<mml:mo stretchy="false">)</mml:mo>
					<mml:mo>=</mml:mo>
					<mml:mfrac>
						<mml:mrow>
							<mml:mn>1</mml:mn>
						</mml:mrow>
						<mml:mrow>
							<mml:mn>1</mml:mn>
							<mml:mo>+</mml:mo>
							<mml:mi>C</mml:mi>
							<mml:msub>
								<mml:mi>V</mml:mi>
								<mml:mrow>
									<mml:mi>i</mml:mi>
								</mml:mrow>
							</mml:msub>
						</mml:mrow>
					</mml:mfrac>
				</mml:mrow>
			</mml:math>
			<p>Компонента 3: Третья компонента представляет собой дискретную оценку, основанную на положении исторической разности DiMissing Mark : sub относительно квантилей её эмпирического распределения:</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:msub>
						<mml:mi>R</mml:mi>
						<mml:mrow>
							<mml:mn>3</mml:mn>
						</mml:mrow>
					</mml:msub>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:mi>i</mml:mi>
					<mml:mo stretchy="false">)</mml:mo>
					<mml:mo>=</mml:mo>
					<mml:mrow>
						<mml:mo stretchy="true" fence="true" form="prefix">{</mml:mo>
						<mml:mtable>
							<mml:mtr>
								<mml:mtd columnalign="left">
									<mml:mn>0.9</mml:mn>
									<mml:mo>,</mml:mo>
								</mml:mtd>
								<mml:mtd columnalign="left">
									<mml:mi>a</mml:mi>
									<mml:mi>m</mml:mi>
									<mml:mi>p</mml:mi>
									<mml:mi>;</mml:mi>
									<mml:msub>
										<mml:mi>D</mml:mi>
										<mml:mrow>
											<mml:mi>i</mml:mi>
										</mml:mrow>
									</mml:msub>
									<mml:mo>≤</mml:mo>
									<mml:msub>
										<mml:mi>Q</mml:mi>
										<mml:mrow>
											<mml:mn>1</mml:mn>
										</mml:mrow>
									</mml:msub>
								</mml:mtd>
							</mml:mtr>
							<mml:mtr>
								<mml:mtd columnalign="left">
									<mml:mn>0.6</mml:mn>
									<mml:mo>,</mml:mo>
								</mml:mtd>
								<mml:mtd columnalign="left">
									<mml:mi>a</mml:mi>
									<mml:mi>m</mml:mi>
									<mml:mi>p</mml:mi>
									<mml:mi>;</mml:mi>
									<mml:msub>
										<mml:mi>Q</mml:mi>
										<mml:mrow>
											<mml:mn>1</mml:mn>
										</mml:mrow>
									</mml:msub>
								</mml:mtd>
								<mml:mtd columnalign="left">
									<mml:mi>l</mml:mi>
									<mml:mi>t</mml:mi>
									<mml:mi>;</mml:mi>
									<mml:msub>
										<mml:mi>D</mml:mi>
										<mml:mrow>
											<mml:mi>i</mml:mi>
										</mml:mrow>
									</mml:msub>
									<mml:mo>≤</mml:mo>
									<mml:msub>
										<mml:mi>Q</mml:mi>
										<mml:mrow>
											<mml:mn>3</mml:mn>
										</mml:mrow>
									</mml:msub>
								</mml:mtd>
							</mml:mtr>
							<mml:mtr>
								<mml:mtd columnalign="left">
									<mml:mn>0.3</mml:mn>
									<mml:mo>,</mml:mo>
								</mml:mtd>
								<mml:mtd columnalign="left">
									<mml:mi>a</mml:mi>
									<mml:mi>m</mml:mi>
									<mml:mi>p</mml:mi>
									<mml:mi>;</mml:mi>
									<mml:msub>
										<mml:mi>D</mml:mi>
										<mml:mrow>
											<mml:mi>i</mml:mi>
										</mml:mrow>
									</mml:msub>
								</mml:mtd>
								<mml:mtd columnalign="left">
									<mml:mi>g</mml:mi>
									<mml:mi>t</mml:mi>
									<mml:mi>;</mml:mi>
									<mml:msub>
										<mml:mi>Q</mml:mi>
										<mml:mrow>
											<mml:mn>3</mml:mn>
										</mml:mrow>
									</mml:msub>
								</mml:mtd>
							</mml:mtr>
						</mml:mtable>
						<mml:mo stretchy="true" fence="true" form="postfix"/>
					</mml:mrow>
				</mml:mrow>
			</mml:math>
			<p>где Q1Missing Mark : sub и Q3Missing Mark : sub — первый и третий квантили распределения исторических разностей. Такой подход позволяет разделить символы на три категории: стабильные (высокая надёжность), промежуточные (средняя надёжность) и нестабильные (низкая надёжность).</p>
			<p>В отличие от простого усреднения, предлагается изучить динамическое формирование весовых коэффициентов для каждой компоненты, учитывающее накопленный опыт взаимодействия с пользователем. Процесс адаптивной агрегации компонент надежности может быть реализован в четыре этапа:</p>
			<table-wrap id="T1">
				<label>Table 1</label>
				<caption>
					<p>Этапы адаптивной агрегации компонент надежности</p>
				</caption>
				<table>
					<tr>
						<td>Этап</td>
						<td>Измерения</td>
						<td>Механизмы</td>
						<td>Результат</td>
					</tr>
					<tr>
						<td>1</td>
						<td>a=1</td>
						<td>Разные веса w1Missing Mark : sub=w2Missing Mark : sub=w3Missing Mark : sub=1⁄3</td>
						<td>Нейтральный статус</td>
					</tr>
					<tr>
						<td>2</td>
						<td>a=2</td>
						<td>Веса по согласованности wjMissing Mark : sub=cjMissing Mark : sub/(∑ckMissing Mark : sub)</td>
						<td>персонализация</td>
					</tr>
					<tr>
						<td>3</td>
						<td>a≥3</td>
						<td>Экспоненциальное сглаживание wjMissing Mark : sub=0,9wjMissing Mark : sub+0,1ejMissing Mark : sub</td>
						<td>Плавная оптимизация</td>
					</tr>
					<tr>
						<td>4</td>
						<td>a→∞</td>
						<td>Сходимость к оптимальным значениям</td>
						<td>Стабилизация</td>
					</tr>
				</table>
			</table-wrap>
			<p>При первом измерении используется равное взвешивание. После второго измерения вычисляется согласованность каждого источника, отражающая стабильность его оценок между двумя последовательными измерениями, где верхние индексы 1 и 2 обозначают номер измерения (метку времени):</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:msub>
						<mml:mi>c</mml:mi>
						<mml:mrow>
							<mml:mi>j</mml:mi>
						</mml:mrow>
					</mml:msub>
					<mml:mo>=</mml:mo>
					<mml:mn>1</mml:mn>
					<mml:mo>−</mml:mo>
					<mml:mfrac>
						<mml:mrow>
							<mml:mn>1</mml:mn>
						</mml:mrow>
						<mml:mrow>
							<mml:mi>n</mml:mi>
						</mml:mrow>
					</mml:mfrac>
					<mml:msubsup>
						<mml:mo>∑</mml:mo>
						<mml:mrow>
							<mml:mi>i</mml:mi>
							<mml:mo>=</mml:mo>
							<mml:mn>1</mml:mn>
						</mml:mrow>
						<mml:mrow>
							<mml:mi>n</mml:mi>
						</mml:mrow>
					</mml:msubsup>
					<mml:mrow>
						<mml:mo stretchy="true" fence="true" form="prefix">|</mml:mo>
						<mml:msubsup>
							<mml:mi>R</mml:mi>
							<mml:mrow>
								<mml:mi>j</mml:mi>
							</mml:mrow>
							<mml:mrow>
								<mml:mn>1</mml:mn>
							</mml:mrow>
						</mml:msubsup>
						<mml:mo stretchy="false">(</mml:mo>
						<mml:mi>i</mml:mi>
						<mml:mo stretchy="false">)</mml:mo>
						<mml:mo>−</mml:mo>
						<mml:msubsup>
							<mml:mi>R</mml:mi>
							<mml:mrow>
								<mml:mi>j</mml:mi>
							</mml:mrow>
							<mml:mrow>
								<mml:mn>2</mml:mn>
							</mml:mrow>
						</mml:msubsup>
						<mml:mo stretchy="false">(</mml:mo>
						<mml:mi>i</mml:mi>
						<mml:mo stretchy="false">)</mml:mo>
						<mml:mo stretchy="true" fence="true" form="postfix">|</mml:mo>
					</mml:mrow>
				</mml:mrow>
			</mml:math>
			<p>отражающая стабильность оценок между двумя последовательными измерениями. Веса для второго измерения формируются пропорционально согласованности:</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:msub>
						<mml:mi>w</mml:mi>
						<mml:mrow>
							<mml:mi>j</mml:mi>
						</mml:mrow>
					</mml:msub>
					<mml:mo>=</mml:mo>
					<mml:msub>
						<mml:mi>c</mml:mi>
						<mml:mrow>
							<mml:mi>j</mml:mi>
						</mml:mrow>
					</mml:msub>
					<mml:mo>/</mml:mo>
					<mml:mrow>
						<mml:mo stretchy="true" fence="true" form="prefix">(</mml:mo>
						<mml:msub>
							<mml:mi>c</mml:mi>
							<mml:mrow>
								<mml:mn>1</mml:mn>
							</mml:mrow>
						</mml:msub>
						<mml:mo>+</mml:mo>
						<mml:msub>
							<mml:mi>c</mml:mi>
							<mml:mrow>
								<mml:mn>2</mml:mn>
							</mml:mrow>
						</mml:msub>
						<mml:mo>+</mml:mo>
						<mml:msub>
							<mml:mi>c</mml:mi>
							<mml:mrow>
								<mml:mn>3</mml:mn>
							</mml:mrow>
						</mml:msub>
						<mml:mo stretchy="true" fence="true" form="postfix">)</mml:mo>
					</mml:mrow>
				</mml:mrow>
			</mml:math>
			<p>Начиная с третьего измерения, включается механизм экспоненциального сглаживания с коэффициентом памяти p. После каждого успешного декодирования вычисляется эффективность источников:</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:msub>
						<mml:mi>e</mml:mi>
						<mml:mrow>
							<mml:mi>j</mml:mi>
						</mml:mrow>
					</mml:msub>
					<mml:mo>=</mml:mo>
					<mml:mfrac>
						<mml:mrow>
							<mml:mn>1</mml:mn>
						</mml:mrow>
						<mml:mrow>
							<mml:mi>n</mml:mi>
						</mml:mrow>
					</mml:mfrac>
					<mml:msubsup>
						<mml:mo>∑</mml:mo>
						<mml:mrow>
							<mml:mi>i</mml:mi>
							<mml:mo>=</mml:mo>
							<mml:mn>1</mml:mn>
						</mml:mrow>
						<mml:mrow>
							<mml:mi>n</mml:mi>
						</mml:mrow>
					</mml:msubsup>
					<mml:mrow>
						<mml:mo stretchy="true" fence="true" form="prefix">[</mml:mo>
						<mml:msub>
							<mml:mi>v</mml:mi>
							<mml:mrow>
								<mml:mi>i</mml:mi>
							</mml:mrow>
						</mml:msub>
						<mml:msub>
							<mml:mi>R</mml:mi>
							<mml:mrow>
								<mml:mi>j</mml:mi>
							</mml:mrow>
						</mml:msub>
						<mml:mo stretchy="false">(</mml:mo>
						<mml:mi>i</mml:mi>
						<mml:mo stretchy="false">)</mml:mo>
						<mml:mo>+</mml:mo>
						<mml:mrow>
							<mml:mo stretchy="true" fence="true" form="prefix">(</mml:mo>
							<mml:mn>1</mml:mn>
							<mml:mo>−</mml:mo>
							<mml:msub>
								<mml:mi>v</mml:mi>
								<mml:mrow>
									<mml:mi>i</mml:mi>
								</mml:mrow>
							</mml:msub>
							<mml:mo stretchy="true" fence="true" form="postfix">)</mml:mo>
						</mml:mrow>
						<mml:mrow>
							<mml:mo stretchy="true" fence="true" form="prefix">(</mml:mo>
							<mml:mn>1</mml:mn>
							<mml:mo>−</mml:mo>
							<mml:msub>
								<mml:mi>R</mml:mi>
								<mml:mrow>
									<mml:mi>j</mml:mi>
								</mml:mrow>
							</mml:msub>
							<mml:mo stretchy="false">(</mml:mo>
							<mml:mi>i</mml:mi>
							<mml:mo stretchy="false">)</mml:mo>
							<mml:mo stretchy="true" fence="true" form="postfix">]</mml:mo>
						</mml:mrow>
						<mml:mo stretchy="true" fence="true" form="postfix"/>
					</mml:mrow>
				</mml:mrow>
			</mml:math>
			<p>где viMissing Mark : sub=1 если символ i декодирован правильно. Обновление весов производится по формуле wjMissing Mark : sub(new)Missing Mark : sup=0.9wjMissing Mark : sub(old)Missing Mark : sup+0.1ejMissing Mark : sub с последующей нормировкой. Коэффициент p=0,9 обеспечивает время полужизни информации около 7 измерений, что гарантирует устойчивость к случайным выбросам.</p>
			<p>Итоговая надежность символа вычисляется как взвешенная сумма:</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:mi>R</mml:mi>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:mi>i</mml:mi>
					<mml:mo stretchy="false">)</mml:mo>
					<mml:mo>=</mml:mo>
					<mml:msub>
						<mml:mi>w</mml:mi>
						<mml:mrow>
							<mml:mn>1</mml:mn>
						</mml:mrow>
					</mml:msub>
					<mml:msub>
						<mml:mi>R</mml:mi>
						<mml:mrow>
							<mml:mn>1</mml:mn>
						</mml:mrow>
					</mml:msub>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:mi>i</mml:mi>
					<mml:mo stretchy="false">)</mml:mo>
					<mml:mo>+</mml:mo>
					<mml:msub>
						<mml:mi>w</mml:mi>
						<mml:mrow>
							<mml:mn>2</mml:mn>
						</mml:mrow>
					</mml:msub>
					<mml:msub>
						<mml:mi>R</mml:mi>
						<mml:mrow>
							<mml:mn>2</mml:mn>
						</mml:mrow>
					</mml:msub>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:mi>i</mml:mi>
					<mml:mo stretchy="false">)</mml:mo>
					<mml:mo>+</mml:mo>
					<mml:msub>
						<mml:mi>w</mml:mi>
						<mml:mrow>
							<mml:mn>3</mml:mn>
						</mml:mrow>
					</mml:msub>
					<mml:msub>
						<mml:mi>R</mml:mi>
						<mml:mrow>
							<mml:mn>3</mml:mn>
						</mml:mrow>
					</mml:msub>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:mi>i</mml:mi>
					<mml:mo stretchy="false">)</mml:mo>
				</mml:mrow>
			</mml:math>
			<p>6. Оптимизация
стратегии стираний</p>
			<p>Полученный вектор надежностей R используется для аналитической оптимизации доли стираний. Сначала строится эмпирическая функция распределения надежностей h(φ) путем сортировки R(i) по возрастанию. Полученное распределение аппроксимируется бета-распределением Beta(α,β). Для аппроксимирующего распределения IφMissing Mark : sub(α,β) вычисляется оптимальная доля стираний τ*Missing Mark : sup, максимизирующая корректирующую способность </p>
			<p>[19]</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:msup>
						<mml:mi>τ</mml:mi>
						<mml:mrow>
							<mml:mo>*</mml:mo>
						</mml:mrow>
					</mml:msup>
					<mml:mo>=</mml:mo>
					<mml:mi>\arg</mml:mi>
					<mml:munder>
						<mml:mo>max</mml:mo>
						<mml:mrow>
							<mml:mi>τ</mml:mi>
							<mml:mo>∈</mml:mo>
							<mml:mo stretchy="false">[</mml:mo>
							<mml:mn>0</mml:mn>
							<mml:mo>,</mml:mo>
							<mml:mi>δ</mml:mi>
							<mml:mo stretchy="false">]</mml:mo>
						</mml:mrow>
					</mml:munder>
					<mml:msub>
						<mml:mi>Δ</mml:mi>
						<mml:mrow>
							<mml:mi>h</mml:mi>
						</mml:mrow>
					</mml:msub>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:mi>τ</mml:mi>
					<mml:mo stretchy="false">)</mml:mo>
				</mml:mrow>
			</mml:math>
			<mml:math display="inline">
				<mml:mrow>
					<mml:msub>
						<mml:mi>Δ</mml:mi>
						<mml:mrow>
							<mml:mi>h</mml:mi>
						</mml:mrow>
					</mml:msub>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:mi>τ</mml:mi>
					<mml:mo stretchy="false">)</mml:mo>
					<mml:mo>=</mml:mo>
					<mml:mfrac>
						<mml:mrow>
							<mml:mn>1</mml:mn>
						</mml:mrow>
						<mml:mrow>
							<mml:mi>δ</mml:mi>
						</mml:mrow>
					</mml:mfrac>
					<mml:mrow>
						<mml:mo stretchy="true" fence="true" form="prefix">[</mml:mo>
						<mml:mn>1</mml:mn>
						<mml:mo>−</mml:mo>
						<mml:mfrac>
							<mml:mrow>
								<mml:mi>α</mml:mi>
							</mml:mrow>
							<mml:mrow>
								<mml:mi>α</mml:mi>
								<mml:mo>+</mml:mo>
								<mml:mi>β</mml:mi>
							</mml:mrow>
						</mml:mfrac>
						<mml:mo>+</mml:mo>
						<mml:mn>2</mml:mn>
						<mml:msubsup>
							<mml:mo>∫</mml:mo>
							<mml:mrow>
								<mml:mi>τ</mml:mi>
							</mml:mrow>
							<mml:mrow>
								<mml:mi>τ</mml:mi>
								<mml:mo>+</mml:mo>
								<mml:mi>ϵ</mml:mi>
								<mml:mo stretchy="false">(</mml:mo>
								<mml:mi>τ</mml:mi>
								<mml:mo stretchy="false">)</mml:mo>
							</mml:mrow>
						</mml:msubsup>
						<mml:msub>
							<mml:mi>I</mml:mi>
							<mml:mrow>
								<mml:mi>φ</mml:mi>
							</mml:mrow>
						</mml:msub>
						<mml:mo stretchy="false">(</mml:mo>
						<mml:mi>α</mml:mi>
						<mml:mo>,</mml:mo>
						<mml:mi>β</mml:mi>
						<mml:mo stretchy="false">)</mml:mo>
						<mml:mi>d</mml:mi>
						<mml:mi>φ</mml:mi>
						<mml:mo stretchy="true" fence="true" form="postfix">]</mml:mo>
					</mml:mrow>
				</mml:mrow>
			</mml:math>
			<p>где τ — доля стираний, а λ — параметр декодирования кода РС, имеющий λ=2 (для BM случая) и определяющий нормированный радиус исправления ошибок ϵ(τ)=(δ-τ)/λ. </p>
			<p>Далее методом прямого поиска по отсортированному массиву надежностей определяется пороговое значение hthresholdMissing Mark : sub=R(⌈τ*n⌉)Missing Mark : sub, и все символы с R(i)≤hthresholdMissing Mark : sub маркируются как стирания.</p>
			<p>7. Две стратегии декодирования РС кодов с анализом
надежностей символов</p>
			<p>Искажённое кодовое слово, возникающее из-за различий биометрических образцов после вычитания HD2, в большинстве случаев успешно декодируется, позволяя восстановить ключ K, вычислить его хеш и сравнить с эталонным. Достоверность (успешность декодирования) определяется применяемым кодом и алгоритмом декодирования.</p>
			<p>Для кода РС с кодовым расстоянием d условие успешного декодирования определяет нагрузку на декодер Load, при которой возможно выполнение декодирование EDD: Load≤2NeMissing Mark : sub+NsMissing Mark : sub и которая может иметь значение MaxLoadMissing Mark : sub=d-1.</p>
			<p>Предложим 2 стратегии маркировки стираний, представленные в виде алгоритма 1 и алгоритма 2.</p>
			<p>1. Алгоритм 1. Адаптивное декодирование с интеллектуальным управлением</p>
			<p>Вход: вектор надежностей R, полученное кодовое слово CestMissing Mark : sub, профиль пользователя profile</p>
			<p>Выход: восстановленный ключ KdecodedMissing Mark : sub</p>
			<p>1. Вычисление скорректированных метрик с учетом границ квантования.</p>
			<p>Для каждого символа i:</p>
			<p>Определить ближайший центр μtargetMissing Mark : sub и соседний центр μneighborMissing Mark : sub</p>
			<p>Вычислить базовое расстояние basedistMissing Mark : sub=|yiMissing Mark : sub-μtargetMissing Mark : sub|</p>
			<p>Вычислить расстояние до соседнего центра boundarydistMissing Mark : sub=|yiMissing Mark : sub-μneighborMissing Mark : sub|</p>
			<p>Если нет превышения порога boundarydistMissing Mark : sub&lt;threshold, </p>
			<p>то вводится штраф с коэффициентом kpMissing Mark : sub:</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:mtext>penalty</mml:mtext>
					<mml:mo>=</mml:mo>
					<mml:msub>
						<mml:mi>k</mml:mi>
						<mml:mrow>
							<mml:mi>p</mml:mi>
						</mml:mrow>
					</mml:msub>
					<mml:mi>·</mml:mi>
					<mml:mrow>
						<mml:mo stretchy="true" fence="true" form="prefix">(</mml:mo>
						<mml:mtext>threshold</mml:mtext>
						<mml:mo>−</mml:mo>
						<mml:mtext>boundar</mml:mtext>
						<mml:msub>
							<mml:mi>y</mml:mi>
							<mml:mrow>
								<mml:mtext>dist</mml:mtext>
							</mml:mrow>
						</mml:msub>
						<mml:mo stretchy="true" fence="true" form="postfix">)</mml:mo>
					</mml:mrow>
				</mml:mrow>
			</mml:math>
			<p>Иначе penalty=0</p>
			<p>Скорректированное расстояние: DiMissing Mark : sub=basedistMissing Mark : sub+penalty </p>
			<p>Компоненты надежности:</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:msub>
						<mml:mi>R</mml:mi>
						<mml:mrow>
							<mml:mn>1</mml:mn>
						</mml:mrow>
					</mml:msub>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:mi>i</mml:mi>
					<mml:mo stretchy="false">)</mml:mo>
					<mml:mo>=</mml:mo>
					<mml:mn>1</mml:mn>
					<mml:mo>/</mml:mo>
					<mml:mrow>
						<mml:mo stretchy="true" fence="true" form="prefix">(</mml:mo>
						<mml:mn>1</mml:mn>
						<mml:mo>+</mml:mo>
						<mml:msub>
							<mml:mi>D</mml:mi>
							<mml:mrow>
								<mml:mi>i</mml:mi>
							</mml:mrow>
						</mml:msub>
						<mml:mo stretchy="true" fence="true" form="postfix">)</mml:mo>
					</mml:mrow>
				</mml:mrow>
			</mml:math>
			<mml:math display="inline">
				<mml:mrow>
					<mml:msub>
						<mml:mi>R</mml:mi>
						<mml:mrow>
							<mml:mn>2</mml:mn>
						</mml:mrow>
					</mml:msub>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:mi>i</mml:mi>
					<mml:mo stretchy="false">)</mml:mo>
					<mml:mo>=</mml:mo>
					<mml:mn>1</mml:mn>
					<mml:mo>/</mml:mo>
					<mml:mrow>
						<mml:mo stretchy="true" fence="true" form="prefix">(</mml:mo>
						<mml:mn>1</mml:mn>
						<mml:mo>+</mml:mo>
						<mml:mi>C</mml:mi>
						<mml:msub>
							<mml:mi>V</mml:mi>
							<mml:mrow>
								<mml:mi>i</mml:mi>
							</mml:mrow>
						</mml:msub>
						<mml:mo stretchy="true" fence="true" form="postfix">)</mml:mo>
					</mml:mrow>
				</mml:mrow>
			</mml:math>
			<p>R3Missing Mark : sub(i) — квантильная классификация по DiMissing Mark : sub и (Q1Missing Mark : sub, Q3Missing Mark : sub) из HD1</p>
			<p>2. Адаптивная агрегация компонент</p>
			<p>В зависимости от номера измерения a:</p>
			<p>Если a=1: RfinalMissing Mark : sub(i)=(R1Missing Mark : sub(i)+R2Missing Mark : sub(i)+R3Missing Mark : sub(i))/3</p>
			<p>Если a=2:</p>
			<p>Вычислить согласованности cjMissing Mark : sub=1-1/n ∑|RjMissing Mark : sub1Missing Mark : sup(i)-RjMissing Mark : sub2Missing Mark : sup(i)| </p>
			<p>Вычислить веса wjMissing Mark : sub=cjMissing Mark : sub/(c1Missing Mark : sub+c2Missing Mark : sub+c3Missing Mark : sub)</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:msub>
						<mml:mi>R</mml:mi>
						<mml:mrow>
							<mml:mtext>final </mml:mtext>
						</mml:mrow>
					</mml:msub>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:mi>i</mml:mi>
					<mml:mo stretchy="false">)</mml:mo>
					<mml:mo>=</mml:mo>
					<mml:msub>
						<mml:mi>w</mml:mi>
						<mml:mrow>
							<mml:mn>1</mml:mn>
						</mml:mrow>
					</mml:msub>
					<mml:msub>
						<mml:mi>R</mml:mi>
						<mml:mrow>
							<mml:mn>1</mml:mn>
						</mml:mrow>
					</mml:msub>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:mi>i</mml:mi>
					<mml:mo stretchy="false">)</mml:mo>
					<mml:mo>+</mml:mo>
					<mml:msub>
						<mml:mi>w</mml:mi>
						<mml:mrow>
							<mml:mn>2</mml:mn>
						</mml:mrow>
					</mml:msub>
					<mml:msub>
						<mml:mi>R</mml:mi>
						<mml:mrow>
							<mml:mn>2</mml:mn>
						</mml:mrow>
					</mml:msub>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:mi>i</mml:mi>
					<mml:mo stretchy="false">)</mml:mo>
					<mml:mo>+</mml:mo>
					<mml:msub>
						<mml:mi>w</mml:mi>
						<mml:mrow>
							<mml:mn>3</mml:mn>
						</mml:mrow>
					</mml:msub>
					<mml:msub>
						<mml:mi>R</mml:mi>
						<mml:mrow>
							<mml:mn>3</mml:mn>
						</mml:mrow>
					</mml:msub>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:mi>i</mml:mi>
					<mml:mo stretchy="false">)</mml:mo>
				</mml:mrow>
			</mml:math>
			<p>Если a≥3:</p>
			<p>Загрузить текущие веса wjMissing Mark : sub из профиля</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:msub>
						<mml:mi>R</mml:mi>
						<mml:mrow>
							<mml:mtext>final </mml:mtext>
						</mml:mrow>
					</mml:msub>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:mi>i</mml:mi>
					<mml:mo stretchy="false">)</mml:mo>
					<mml:mo>=</mml:mo>
					<mml:msub>
						<mml:mi>w</mml:mi>
						<mml:mrow>
							<mml:mn>1</mml:mn>
						</mml:mrow>
					</mml:msub>
					<mml:msub>
						<mml:mi>R</mml:mi>
						<mml:mrow>
							<mml:mn>1</mml:mn>
						</mml:mrow>
					</mml:msub>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:mi>i</mml:mi>
					<mml:mo stretchy="false">)</mml:mo>
					<mml:mo>+</mml:mo>
					<mml:msub>
						<mml:mi>w</mml:mi>
						<mml:mrow>
							<mml:mn>2</mml:mn>
						</mml:mrow>
					</mml:msub>
					<mml:msub>
						<mml:mi>R</mml:mi>
						<mml:mrow>
							<mml:mn>2</mml:mn>
						</mml:mrow>
					</mml:msub>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:mi>i</mml:mi>
					<mml:mo stretchy="false">)</mml:mo>
					<mml:mo>+</mml:mo>
					<mml:msub>
						<mml:mi>w</mml:mi>
						<mml:mrow>
							<mml:mn>3</mml:mn>
						</mml:mrow>
					</mml:msub>
					<mml:msub>
						<mml:mi>R</mml:mi>
						<mml:mrow>
							<mml:mn>3</mml:mn>
						</mml:mrow>
					</mml:msub>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:mi>i</mml:mi>
					<mml:mo stretchy="false">)</mml:mo>
				</mml:mrow>
			</mml:math>
			<p>3. Оптимизация стратегии стираний</p>
			<p>Отсортировать RsortedMissing Mark : sub=sort(RfinalMissing Mark : sub)</p>
			<p>Аппроксимировать распределение R_sorted бета-распределением Beta(α,β) методом моментов</p>
			<p>Найти оптимальную долю стираний τ*Missing Mark : sup=arg⁡ maxrMissing Mark : sub ∆hMissing Mark : sub(τ)</p>
			<p>Определить количество стираний k=⌈τ*Missing Mark : sup∙n⌉</p>
			<p>Вычислить порог hthresholdMissing Mark : sub=RsortedMissing Mark : sub (k)</p>
			<p>4. Основная попытка декодирования</p>
			<p>Сформировать множество стираний erasures={i| RfinalMissing Mark : sub(i)≤hthresholdMissing Mark : sub}</p>
			<p>Если количество NsMissing Mark : sub: |erasures|≤2t:</p>
			<p>Выполнить декодирование KdecodedMissing Mark : sub=EEDdecodeMissing Mark : sub(CestMissing Mark : sub, erasures)</p>
			<p>При успехе: обновить профиль и вернуть KdecodedMissing Mark : sub</p>
			<p>5. Расширенный поиск (резервный механизм)</p>
			<p>6. Получить индексы в порядке возрастания надежности</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:mi>s</mml:mi>
					<mml:mi>o</mml:mi>
					<mml:mi>r</mml:mi>
					<mml:mi>t</mml:mi>
					<mml:mi>e</mml:mi>
					<mml:mi>d</mml:mi>
					<mml:mi>_</mml:mi>
					<mml:mi>i</mml:mi>
					<mml:mi>n</mml:mi>
					<mml:mi>d</mml:mi>
					<mml:mi>i</mml:mi>
					<mml:mi>c</mml:mi>
					<mml:mi>e</mml:mi>
					<mml:mi>s</mml:mi>
					<mml:mo>=</mml:mo>
					<mml:mi>a</mml:mi>
					<mml:mi>r</mml:mi>
					<mml:mi>g</mml:mi>
					<mml:mi>s</mml:mi>
					<mml:mi>o</mml:mi>
					<mml:mi>r</mml:mi>
					<mml:mi>t</mml:mi>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:msub>
						<mml:mi>R</mml:mi>
						<mml:mrow>
							<mml:mi>f</mml:mi>
							<mml:mi>i</mml:mi>
							<mml:mi>n</mml:mi>
							<mml:mi>a</mml:mi>
							<mml:mi>l</mml:mi>
						</mml:mrow>
					</mml:msub>
					<mml:mo stretchy="false">)</mml:mo>
				</mml:mrow>
			</mml:math>
			<p>Для ktestMissing Mark : sub=k+1 до 2t:</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:mi>e</mml:mi>
					<mml:mi>r</mml:mi>
					<mml:mi>a</mml:mi>
					<mml:mi>s</mml:mi>
					<mml:mi>u</mml:mi>
					<mml:mi>r</mml:mi>
					<mml:mi>e</mml:mi>
					<mml:mi>s</mml:mi>
					<mml:mo>=</mml:mo>
					<mml:mi>s</mml:mi>
					<mml:mi>o</mml:mi>
					<mml:mi>r</mml:mi>
					<mml:mi>t</mml:mi>
					<mml:mi>e</mml:mi>
					<mml:mi>d</mml:mi>
					<mml:mi>_</mml:mi>
					<mml:mi>i</mml:mi>
					<mml:mi>n</mml:mi>
					<mml:mi>d</mml:mi>
					<mml:mi>i</mml:mi>
					<mml:mi>c</mml:mi>
					<mml:mi>e</mml:mi>
					<mml:mi>s</mml:mi>
					<mml:mo stretchy="false">[</mml:mo>
					<mml:mn>1</mml:mn>
					<mml:mi>:</mml:mi>
					<mml:msub>
						<mml:mi>k</mml:mi>
						<mml:mrow>
							<mml:mi>t</mml:mi>
							<mml:mi>e</mml:mi>
							<mml:mi>s</mml:mi>
							<mml:mi>t</mml:mi>
						</mml:mrow>
					</mml:msub>
					<mml:mo stretchy="false">]</mml:mo>
				</mml:mrow>
			</mml:math>
			<mml:math display="inline">
				<mml:mrow>
					<mml:msub>
						<mml:mi>K</mml:mi>
						<mml:mrow>
							<mml:mi>d</mml:mi>
							<mml:mi>e</mml:mi>
							<mml:mi>c</mml:mi>
							<mml:mi>o</mml:mi>
							<mml:mi>d</mml:mi>
							<mml:mi>e</mml:mi>
							<mml:mi>d</mml:mi>
						</mml:mrow>
					</mml:msub>
					<mml:mo>=</mml:mo>
					<mml:mi>E</mml:mi>
					<mml:mi>E</mml:mi>
					<mml:mi>D</mml:mi>
					<mml:mi>_</mml:mi>
					<mml:mi>d</mml:mi>
					<mml:mi>e</mml:mi>
					<mml:mi>c</mml:mi>
					<mml:mi>o</mml:mi>
					<mml:mi>d</mml:mi>
					<mml:mi>e</mml:mi>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:msub>
						<mml:mi>C</mml:mi>
						<mml:mrow>
							<mml:mi>e</mml:mi>
							<mml:mi>s</mml:mi>
							<mml:mi>t</mml:mi>
						</mml:mrow>
					</mml:msub>
					<mml:mo>,</mml:mo>
					<mml:mspace width="0.278em"/>
					<mml:mi>e</mml:mi>
					<mml:mi>r</mml:mi>
					<mml:mi>a</mml:mi>
					<mml:mi>s</mml:mi>
					<mml:mi>u</mml:mi>
					<mml:mi>r</mml:mi>
					<mml:mi>e</mml:mi>
					<mml:mi>s</mml:mi>
					<mml:mo stretchy="false">)</mml:mo>
				</mml:mrow>
			</mml:math>
			<p>При успехе: обновить профиль и вернуть KdecodedMissing Mark : sub</p>
			<p> Обновление профиля при успехе</p>
			<p>Вычислить эффективность ejMissing Mark : sub каждого источника</p>
			<p>Обновить веса: wjMissing Mark : sub=0.9∙wjMissing Mark : sub+0.1∙ejMissing Mark : sub</p>
			<p>Нормировать веса</p>
			<p>Обновить квантили (Q1Missing Mark : sub, Q3Missing Mark : sub) с учетом новых DiMissing Mark : sub</p>
			<p>8. Возврат ошибки декодирования в случае неудачи всех попыток</p>
			<p>Вход: вектор надежностей R, полученное кодовое слово CestMissing Mark : sub, профиль пользователя profile</p>
			<p>Выход: восстановленный ключ KdecodedMissing Mark : sub</p>
			<p>1. Вычисление базовых компонент надежности</p>
			<p>Для каждого символа i:</p>
			<p>RbaseMissing Mark : sub(i)=1/(1+basedistMissing Mark : sub(i)) — расстояние до центра интервала </p>
			<p>R2Missing Mark : sub(i)=1⁄((1+CV_i)) — коэффициент вариации</p>
			<p>R3Missing Mark : sub(i) — квантильная классификация по basedistMissing Mark : sub(i) и (Q1Missing Mark : sub, Q3Missing Mark : sub) из HD1</p>
			<p>Итоговая надежность с равными весами:</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:msub>
						<mml:mi>R</mml:mi>
						<mml:mrow>
							<mml:mtext>final </mml:mtext>
						</mml:mrow>
					</mml:msub>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:mi>i</mml:mi>
					<mml:mo stretchy="false">)</mml:mo>
					<mml:mo>=</mml:mo>
					<mml:mrow>
						<mml:mo stretchy="true" fence="true" form="prefix">(</mml:mo>
						<mml:msub>
							<mml:mi>R</mml:mi>
							<mml:mrow>
								<mml:mtext>base </mml:mtext>
							</mml:mrow>
						</mml:msub>
						<mml:mo stretchy="false">(</mml:mo>
						<mml:mi>i</mml:mi>
						<mml:mo stretchy="false">)</mml:mo>
						<mml:mo>+</mml:mo>
						<mml:msub>
							<mml:mi>R</mml:mi>
							<mml:mrow>
								<mml:mn>2</mml:mn>
							</mml:mrow>
						</mml:msub>
						<mml:mo stretchy="false">(</mml:mo>
						<mml:mi>i</mml:mi>
						<mml:mo stretchy="false">)</mml:mo>
						<mml:mo>+</mml:mo>
						<mml:msub>
							<mml:mi>R</mml:mi>
							<mml:mrow>
								<mml:mn>3</mml:mn>
							</mml:mrow>
						</mml:msub>
						<mml:mo stretchy="false">(</mml:mo>
						<mml:mi>i</mml:mi>
						<mml:mo stretchy="false">)</mml:mo>
						<mml:mo stretchy="true" fence="true" form="postfix">)</mml:mo>
					</mml:mrow>
					<mml:mo>/</mml:mo>
					<mml:mn>3</mml:mn>
				</mml:mrow>
			</mml:math>
			<p>2. Каскадный перебор стратегий</p>
			<p>Уровень 1: Фиксированная стратегия (Fixed)</p>
			<code>[LATEX_FORMULA]\text {erasures}=\text {find}\left(R_{\text {final}}&amp;lt;0.35\right)[/LATEX_FORMULA]</code>
			<code>[LATEX_FORMULA]\text {errors}+ \text {find}\left(0.35 \leq R_{\text {final}}&amp;lt;0.65\right)[/LATEX_FORMULA]</code>
			<p>Если для NeMissing Mark : sub, NsMissing Mark : sub: 2|errors|+|erasures|≤Max_Load:</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:msub>
						<mml:mi>K</mml:mi>
						<mml:mrow>
							<mml:mtext>decoded</mml:mtext>
						</mml:mrow>
					</mml:msub>
					<mml:mo>=</mml:mo>
					<mml:mi>E</mml:mi>
					<mml:mi>E</mml:mi>
					<mml:mi>D</mml:mi>
					<mml:mi>_</mml:mi>
					<mml:mtext>decode</mml:mtext>
					<mml:mrow>
						<mml:mo stretchy="true" fence="true" form="prefix">(</mml:mo>
						<mml:msub>
							<mml:mi>C</mml:mi>
							<mml:mrow>
								<mml:mtext>est</mml:mtext>
							</mml:mrow>
						</mml:msub>
						<mml:mo>,</mml:mo>
						<mml:mtext>erasures</mml:mtext>
						<mml:mo stretchy="true" fence="true" form="postfix">)</mml:mo>
					</mml:mrow>
				</mml:mrow>
			</mml:math>
			<p>При успехе: обновить профиль и вернуть KdecodedMissing Mark : sub</p>
			<p>Уровень 2: Адаптивная стратегия с усечением нагрузки (Adaptive limited)</p>
			<p>Вычислить квартили Q1Missing Mark : sub(R) = quantile(RfinalMissing Mark : sub, 0.25); Q3Missing Mark : sub(R) = quantile(RfinalMissing Mark : sub, 0.75)</p>
			<p>Кандидаты на ошибки: allerrors Missing Mark : sub= find(Q1Missing Mark : sub(R)&lt;RfinalMissing Mark : sub≤Q3Missing Mark : sub(R))</p>
			<p>Кандидаты на стирания: allerasuresMissing Mark : sub = find(RfinalMissing Mark : sub≤Q1Missing Mark : sub(R))</p>
			<p>Сортировать кандидаты по возрастанию надежности</p>
			<p>Усечь нагрузку: удалять самые ненадежные символы, пока 2|errors|+|erasures|≤Max_Load</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:msub>
						<mml:mi>K</mml:mi>
						<mml:mrow>
							<mml:mtext>decoded</mml:mtext>
						</mml:mrow>
					</mml:msub>
					<mml:mo>=</mml:mo>
					<mml:mi>E</mml:mi>
					<mml:mi>E</mml:mi>
					<mml:mi>D</mml:mi>
					<mml:mi>_</mml:mi>
					<mml:mtext>decode</mml:mtext>
					<mml:mrow>
						<mml:mo stretchy="true" fence="true" form="prefix">(</mml:mo>
						<mml:msub>
							<mml:mi>C</mml:mi>
							<mml:mrow>
								<mml:mtext>est</mml:mtext>
							</mml:mrow>
						</mml:msub>
						<mml:mo>,</mml:mo>
						<mml:mtext>erasures</mml:mtext>
						<mml:mo stretchy="true" fence="true" form="postfix">)</mml:mo>
					</mml:mrow>
				</mml:mrow>
			</mml:math>
			<p>При успехе: обновить профиль и вернуть KdecodedMissing Mark : sub</p>
			<p>Уровень 3: Стратегия приоритетного стирания (Erasure priority)</p>
			<p>Определить максимально возможное число стираний</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:msub>
						<mml:mi>k</mml:mi>
						<mml:mrow>
							<mml:mi>m</mml:mi>
						</mml:mrow>
					</mml:msub>
					<mml:mo>=</mml:mo>
					<mml:mi>⌊</mml:mi>
					<mml:mtext>Max\_Load</mml:mtext>
					<mml:mo>/</mml:mo>
					<mml:mn>2</mml:mn>
					<mml:mi>⌋</mml:mi>
				</mml:mrow>
			</mml:math>
			<p>Отсортировать индексы по возрастанию надежности: </p>
			<p>sortedindicesMissing Mark : sub=argsort(RfinalMissing Mark : sub)</p>
			<p>Выбрать k' худших символов: erasures= sortedindicesMissing Mark : sub[1:k']</p>
			<p>KdecodedMissing Mark : sub=EED_decode(CestMissing Mark : sub, erasures)</p>
			<p>При успехе: обновить профиль и вернуть KdecodedMissing Mark : sub</p>
			<p>3. Обновление профиля</p>
			<p>Обновить квантили Q1Missing Mark : sub, Q3Missing Mark : sub c учетом новых измерений</p>
			<p>4. Возврат ошибки декодирования в случае неудачи всех трех попыток.</p>
			<p>Представленные алгоритмы реализуют принципиально разные подходы к декодированию. Стратегия с интеллектуальным управлением делает акцент на максимально точную оценку надёжности каждого символа, используя штрафы за близость к границам квантования и динамическую адаптацию весов трёх компонент на основе истории пользователя. Дополнительно применяется аналитическая оптимизация доли стираний τ*Missing Mark : sup через бета-аппроксимацию и резервный расширенный поиск fall-back. </p>
			<p>Каскадная стратегия, напротив, использует упрощённые метрики без штрафов и с равными весами, но компенсирует это интеллектуальным перебором трёх базовых методов декодирования в оптимальном порядке. Сначала применяется быстрая фиксированная стратегия с эмпирически подобранными порогами 0,35/0,65. В случае неудачи задействуется адаптивная стратегия с усечением нагрузки, позволяющая уложиться в ограничения кода. Последним резервом служит стратегия приоритетного стирания, гарантирующая допустимую нагрузку ценой потери части информации.</p>
			<p>8. Экспериментальные результаты</p>
			<p>Перед непосредственным сравнением стратегий декодирования на основе статистического анализа был реализован этап предварительного обучения параметров штрафной функции penalty, учитывающей близость символа к границе интервала квантования. Из 15 возможных попарных комбинаций 6 биометрических измерений для каждого пользователя выделялось 7 обучающих пар и 8 тестовых. Для каждого символа фиксировались три величины: расстояние до соседнего центра boundarydistMissing Mark : sub, расстояние до своего центра basedistMissing Mark : sub и бинарный факт ошибки (перескока в другой интервал) erroroccurredMissing Mark : sub.</p>
			<p>Процесс обучения включал последовательную реализацию следующих шагов: дискретизацию пространства значений boundarydistMissing Mark : sub на интервалы, оценку условной вероятности ошибки в каждом интервале, поиск порогового значения, при котором риск ошибки превышает 20%, и расчёт коэффициента штрафа kpMissing Mark : sub, обеспечивающего желаемое снижение надёжности для символов в опасной зоне, определяемой пороговым значением threshold. Полученные таким образом параметры (threshold и kpMissing Mark : sub) использовались в адаптивной стратегии с интеллектуальным управлением для коррекции метрики R1Missing Mark : sub.</p>
			<p>После завершения этапа обучения был проведён эксперимент по сравнению трёх стратегий декодирования: фиксированной (Fixed), адаптивной с интеллектуальным управлением (Adaptive+штраф+веса) и комбинированной каскадной. Оценка производилась для трёх кодов РС с различной избыточностью – РС(63,21), РС(63,15) и РС(63,11) — при пяти уровнях шума, соответствующих доле ошибочных символов от 16% до 46%. Данные, полученные при 95% уровне доверия, сведены в таблицу 2 и показаны на рисунке 1.</p>
			<table-wrap id="T2">
				<label>Table 2</label>
				<caption>
					<p>Сравнительный анализ трёх стратегий декодирования</p>
				</caption>
				<table>
					<tr>
						<td>Код РС</td>
						<td>Шум</td>
						<td>Фиксированная стратегия, %</td>
						<td>Адаптивная стратегия с интеллектуальным управлением, %</td>
						<td>Комбинированная каскадная стратегия, %</td>
					</tr>
					<tr>
						<td>РС(63,21)</td>
						<td>0,50</td>
						<td>100,0 [99,3-100,0]</td>
						<td>99,5 [98,7-100,0]</td>
						<td>100,0 [99,3-100,0]</td>
					</tr>
					<tr>
						<td>0,75</td>
						<td>86,0 [82,6-89,4]</td>
						<td>80,5 [76,7-84,3]</td>
						<td>89,0 [85,9-92,1]</td>
					</tr>
					<tr>
						<td>1,00</td>
						<td>50,0 [45,1-54,9]</td>
						<td>46,5 [41,6-51,4]</td>
						<td>52,0 [47,1-56,9]</td>
					</tr>
					<tr>
						<td>1,25</td>
						<td>25,5 [21,4-29,6]</td>
						<td>20,5 [16,8-24,2]</td>
						<td>30,0 [25,7-34,3]</td>
					</tr>
					<tr>
						<td>1,50</td>
						<td>12,0 [9,1-14,9]</td>
						<td>8,5 [6,1-10,9]</td>
						<td>12,5 [9,6-15,4]</td>
					</tr>
					<tr>
						<td>РС(63,15)</td>
						<td>0,50</td>
						<td>99,5 [98,7-100,0]</td>
						<td>99,0 [98,0-100,0]</td>
						<td>100,0 [99,3-100,0]</td>
					</tr>
					<tr>
						<td>0,75</td>
						<td>89,0 [85,9-92,1]</td>
						<td>87,5 [84,2-90,8]</td>
						<td>90,0 [86,9-93,1]</td>
					</tr>
					<tr>
						<td>1,00</td>
						<td>70,0 [65,5-74,5]</td>
						<td>69,0 [64,4-73,6]</td>
						<td>75,0 [70,8-79,2]</td>
					</tr>
					<tr>
						<td>1,25</td>
						<td>48,5 [43,6-53,4]</td>
						<td>48,5 [43,6-53,4]</td>
						<td>52,5 [47,6-57,4]</td>
					</tr>
					<tr>
						<td>1,50</td>
						<td>20,0 [16,3-23,7]</td>
						<td>17,5 [14,0-21,0]</td>
						<td>22,5 [18,7-26,3]</td>
					</tr>
					<tr>
						<td>РС(63,11)</td>
						<td>0,50</td>
						<td>100,0 [99,3-100,0]</td>
						<td>99,5 [98,7-100,0]</td>
						<td>100,0 [99,3-100,0]</td>
					</tr>
					<tr>
						<td>0,75</td>
						<td>96,5 [94,5-98,5]</td>
						<td>93,5 [90,9-96,1]</td>
						<td>98,5 [97,1-99,9]</td>
					</tr>
					<tr>
						<td>1,00</td>
						<td>81,0 [77,2-84,8]</td>
						<td>80,5 [76,7-84,3]</td>
						<td>85,0 [81,5-88,5]</td>
					</tr>
					<tr>
						<td>1,25</td>
						<td>54,0 [49,1-58,9]</td>
						<td>60,5 [55,7-65,3]</td>
						<td>57,5 [52,6-62,4]</td>
					</tr>
					<tr>
						<td>1,50</td>
						<td>36,0 [31,5-40,5]</td>
						<td>35,5 [31,0-40,0]</td>
						<td>39,5 [34,9-44,1]</td>
					</tr>
				</table>
			</table-wrap>
			<p>Усреднение результатов по всем трём кодам и пяти уровням шума (см. рисунок 1) показывает, что комбинированная каскадная стратегия обеспечивает наилучшие показатели с общей успешностью 65.2%, превосходя фиксированную стратегию (62.5%) на 2.7 процентных пункта и адаптивную с интеллектуальным управлением (60.4%) на 4.8 процентных пункта. При этом фиксированная стратегия, несмотря на свою простоту, демонстрирует более высокую эффективность, чем сложная адаптивная схема со штрафами и обучаемыми весами. Фиксированная стратегия применяет неизменные пороги для маркировки стираний и ошибок, что обеспечивает простоту и предсказуемость без этапа обучения.</p>
			<p>Для кода с наименьшей избыточностью РС(63,21) комбинированная стратегия достигает средней успешности 56.7%, что на 1.9% выше фиксированной и на 5.6% выше адаптивной. Наибольший выигрыш наблюдается при средних уровнях шума: при σ=1.0 успешность комбинированной каскадной стратегии составляет 52.0% против 46.5% у адаптивной, при σ=1.0–30.0% против 20.5%. Это свидетельствует о способности каскадного подхода эффективно использовать резервные механизмы именно в тех условиях, где простые стратегии перестают справляться.</p>
			<p>Для кода средней избыточности РС(63,15) средняя успешность комбинированной стратегии достигает 68.0%, что на 2.6% выше фиксированной и на 3.7% выше адаптивной. Максимальное преимущество зафиксировано при σ=1.0: 75.0% против 69.0% у адаптивной (+6.0%). При высоком уровне шума (σ=1.5) комбинированная стратегия сохраняет преимущество в 2.5% над фиксированной и 5.0% над адаптивной.</p>
			<p>Наиболее мощный код РС(63,11) ожидаемо демонстрирует наилучшие абсолютные показатели: средняя успешность комбинированной стратегии составляет 76.1%, что на 2.6% выше фиксированной и на 2.2% выше адаптивной. При σ=1.25 наблюдается единственное исключение, где адаптивная стратегия незначительно превосходит комбинированную (60.5% против 57.5%), однако при максимальном шуме σ=1.5 комбинированная стратегия вновь выходит в лидеры с результатом 39.5% против 35.5% у адаптивной. Суммируя результаты по всем трём кодам, комбинированная каскадная стратегия обеспечивает устойчивое преимущество в 13 из 15 исследованных точек (87% случаев), а адаптивная стратегия с интеллектуальным управлением, несмотря на свою вычислительную сложность в среднем проигрывает всем стратегиям.</p>
			<p>Для сравнения предлагаемых стратегий EDD декодирования кодов РС было также изучена обработка реальных измерений из биометрии человеческих лиц, взятых из базы данных UvA-NEMO [5] которые после квантования кодировались различными кодами РС длиной 63 символа. Выборка содержала 240 различных биометрических образцов, составленных из 6-ти измерений для 40 пользователей, что соответствовало объему сгенерированных синтетических данных.</p>
			<p>Ключевым результатом стало то, что использование реальных данных показало существенно более высокую эффективность предложенных стратегий, чем предсказывали синтетические модели. Для кода РС(63,21) интеллектуальная стратегия достигла 84.2% успешности на реальных данных, что соответствует синтетическому шуму σ≈0.65, а каскадная стратегия (93.3%) – σ≈0.55. Еще более впечатляющие результаты получены для РС(63,11), где интеллектуальная стратегия обеспечила 99.8% успешности, что эквивалентно работе в условиях минимального шума. </p>
			<p>На реальной биометрии отчетливо проявилось преимущество интеллектуальной стратегии, использующей индивидуальные профили пользователей (коэффициенты вариации CViMissing Mark : sub и квантили Q1Missing Mark : sub, Q3Missing Mark : sub). В то время как на синтетических данных преимущество интеллектуальной стратегии перед базовой было умеренным (46.5% против 50.0% для РС(63,21) при σ=1.0), а на реальных данных разрыв составил 43 процентных пункта (84.2% против 41.2%).</p>
			<fig id="F1">
				<label>Figure 1</label>
				<caption>
					<p>Сравнение эффективности 3-х методов декодирования</p>
				</caption>
				<alt-text>Сравнение эффективности 3-х методов декодирования</alt-text>
				<graphic ns1:href="/media/images/2026-06-30/5175e3ff-e658-460a-9bd7-2736112b0290.png"/>
			</fig>
			<p>– адаптивная агрегация весов в зависимости от номера измерения не дает значимого преимущества (разница менее 1%), что позволяет использовать упрощенную версию с равными весами;</p>
			<p>– использование центров квантования и средних значений дает сопоставимые результаты, оба подхода работоспособны;</p>
			<p>– штраф за близость к границам квантования не влияет на итоговую успешность при качественном определении стираний.</p>
			<p>Механизм резервирования fall-back с увеличением числа стираний при неудаче оказался критически важным, обеспечивая прирост успешности до 12% для слабых кодов.</p>
			<p>9. Практические
рекомендации и оценка сложности предложенных
алгоритмов</p>
			<p>На основе проведенного анализа может быть рекомендована следующая оптимальная стратегия для практического применения в биометрических системах:</p>
			<p>– для высоконадежных систем целесообразно использовать код РС(63,11), обеспечивающий 99.8% успешности при минимальной нагрузке равной 13.</p>
			<p>– для систем с ограниченными вычислительными ресурсами оптимален код РС(63,15) с 98.3% успешности и той же нагрузкой.</p>
			<p>– интеллектуальная стратегия должна использовать равные веса компонент и обязательный fall-back механизм.</p>
			<p>Важным аспектом практического применения разработанных алгоритмов является их вычислительная сложность, определяющая возможность реализации в системах реального времени с ограниченными ресурсами. </p>
			<p>Базовая стратегия без использования стираний служит естественным ориентиром: она требует лишь однократного вызова декодера кода РС, что делает её минимальной по сложности. Фиксированная стратегия с порогами 0.35/0.65 добавляет к этому два линейных прохода по массиву надёжностей для идентификации стираний и ошибок (сложность O(n)), что увеличивает время выполнения примерно на 10-15% при незначительном росте потребления памяти.</p>
			<p>Интеллектуальная адаптивная стратегия с персонализированными параметрами в своей теоретически полной реализации требует хранения профилей пользователей и нормализации массива надёжностей для аппроксимации бета-распределением. Однако, как показали эксперименты, вычисление оптимального τ является вычислительно затратным и не даёт значимого выигрыша по сравнению с использованием фиксированного значения τ. В упрощённой реализации, применённой в данном исследовании, интеллектуальная стратегия использует равные веса компонент и фиксированную долю стираний, что снижает её сложность.</p>
			<p>Комбинированная каскадная стратегия, последовательно применяющая методы с фиксированными порогами, адаптивный с ограничением нагрузки и приоритетный по стираниям, демонстрирует оптимальный баланс между эффективностью и вычислительной сложностью. В лучшем случае (когда срабатывает fixed) она требует лишь линейного прохода по данным и одного декодирования; в худшем – выполняет до трёх попыток декодирования и две-три сортировки массива надёжностей. При этом каскадная стратегия не нуждается в предварительном обучении и может быть реализована с теми же требованиями к памяти, что и фиксированная. </p>
			<p>Информация по оценке сложностей сведена в таблице 3.</p>
			<table-wrap id="T3">
				<label>Table 3</label>
				<caption>
					<p>Сводная таблица вычислительной сложности стратегий декодирования</p>
				</caption>
				<table>
					<tr>
						<td>Стратегия</td>
						<td>Память</td>
						<td>Попыток декодирования (ср./макс)</td>
						<td>Доп. вычисления</td>
						<td>Относительное время*</td>
					</tr>
					<tr>
						<td>Базовая</td>
						<td>O(n)</td>
						<td>1,0/1</td>
						<td>нет</td>
						<td>1,0×</td>
					</tr>
					<tr>
						<td>Фиксированная</td>
						<td>O(n)</td>
						<td>1,0/1</td>
						<td>линейный проход O(n)</td>
						<td>1,1-1,2×</td>
					</tr>
					<tr>
						<td>Интеллектуальная (упрощенная)</td>
						<td>O(n)</td>
						<td>1,15/42</td>
						<td>1 сортировка O(n log⁡n)+fall-back</td>
						<td>2,0-2,5×</td>
					</tr>
					<tr>
						<td>Интеллектуальная (полная)</td>
						<td>O(n∙m)**</td>
						<td>1,15/42</td>
						<td>betainv</td>
						<td>50-100×</td>
					</tr>
					<tr>
						<td>Комбинированная</td>
						<td>O(n)</td>
						<td>1,5/3</td>
						<td>2-3 сортировки O(n log⁡n)</td>
						<td>1,5-3,0×</td>
					</tr>
				</table>
			</table-wrap>
			<p>Интеллектуальная стратегия в полной версии требует хранения индивидуальных профилей для каждого пользователя (память O(n∙m), где m — число пользователей) и выполнения этапа обучения, в ходе которого методом полного перебора подбираются оптимальные весовые коэффициенты компонент надёжности. Интеллектуальная стратегия в упрощённой версии с фиксированным τ=0,2 и равными весами также требует формирования профиля пользователя (центры квантования, коэффициенты вариации CViMissing Mark : sub и квантили Q1Missing Mark : sub, Q3Missing Mark : sub), однако этот процесс не связан с пробными декодированиями и выполняется однократно по 5 эталонным измерениям с линейной вычислительной сложностью O(n).</p>
			<p>На основе проведённого анализа вычислительной сложности и эффективности различных стратегий декодирования можно сформулировать следующие рекомендации для практической реализации.</p>
			<p>Для большинства биометрических систем оптимальным выбором является комбинированная (каскадная) стратегия с кодом РС(63,15), которая обеспечивает 99.2% успешности декодирования при умеренной вычислительной нагрузке (в 1,5–3 раза выше базовой) и не требует предварительного обучения, что критически важно для сценариев с быстрой регистрацией новых пользователей.</p>
			<p>В системах с жёсткими ограничениями по энергопотреблению или вычислительным ресурсам (мобильные устройства, встраиваемые системы) предпочтительна упрощённая интеллектуальная стратегия с фиксированным τ=0.2 в сочетании с кодом РС(63,11). Она демонстрирует 99,8% успешности при нагрузке всего 13, что в 2.5 раза меньше комбинированной стратегии, однако требует однократного формирования профиля пользователя по эталонным измерениям. Для слабых кодов, таких как РС(63,21), комбинированная стратегия остаётся безальтернативным лидером (93,3% против 84,3% у интеллектуальной), несмотря на более высокую нагрузку. </p>
			<p>Полная версия интеллектуальной стратегии с оптимизацией доли стираний τ*Missing Mark : sup через бета-аппроксимацию признана нецелесообразной для практического применения из-за многократного роста вычислительной сложности в (50–100×) при отсутствии значимого выигрыша в успешности. Однако при наличии 10 и более эталонных измерений интеллектуальная стратегия с fall-back становится предпочтительной, достигая сопоставимой успешности с нагрузкой 13,6 против 55 у комбинированной.</p>
			<p>Комбинированная и фиксированная стратегии не нуждаются в предварительном обучении и могут применяться непосредственно после получения эталонных измерений.</p>
			<p>10. Заключение</p>
			<p>Оценка метода декодирования проводилась с применением синтетических данных для кодов РС(63,21), РС(63,15) и РС(63,11), а также с использованием биометрии человеческих лиц, взятых из базы данных UvA-NEMO </p>
			<p>[5]</p>
			<p>Разработанные методы обеспечивают прирост успешности декодирования относительно базового алгоритма без учета стираний от 9,5% для сильного кода РС(63,11) до 43,1% для слабого кода РС(63,21). Комбинированная (каскадная) стратегия достигла 93,3% успешности для РС(63,21), а интеллектуальная стратегия с fall-back механизмом — 96,3% при нагрузке в 4 раза меньшей.</p>
			<p>Экспериментально установлено, что адаптивная агрегация весов компонент надежности не дает значимого выигрыша (разница менее 1%), что позволяет использовать упрощенную версию с равными весами. Фиксированная доля стираний τ=0.2 оказалась близкой к оптимальной для всех рассмотренных кодов, а применение fall-back механизма обеспечивает дополнительный прирост успешности до 12% для слабых кодов без существенного увеличения средней нагрузки. При решении задачи аутентификации предложенные методы позволяют достичь FRR менее 1% для кода РС(63,11) и FRR менее 2% для РС(63,15), что соответствует требованиям большинства практических приложений.</p>
			<p>На основе анализа результатов экспериментов на реальных биометрических данных и синтетических данных можно сформулировать следующие рекомендации по выбору кода и стратегии декодирования.</p>
			<p>– Для систем, требующих максимальной надежности (успешность &gt;99%, FRR&lt;1%), оптимальным выбором является код РС(63,11) в сочетании с интеллектуальной стратегией (равные веса, только стирания, fall-back механизм), которая обеспечивает 99,8% успешности при минимальной нагрузке 13 и сохраняет эффективность даже при высоком уровне шума (σ=1,0 в синтетических экспериментах). </p>
			<p>– Для систем с ограниченными вычислительными ресурсами, где важен баланс между надежностью и сложностью, рекомендуется код РС(63,15) с той же интеллектуальной стратегией, демонстрирующий 98.3% успешности на реальных данных при нагрузке 13. Эта конфигурация обеспечивает оптимальное соотношение эффективности и вычислительных затрат.</p>
			<p>– Код РС(63,21) с каскадной стратегией целесообразно применять в сценариях с очень высоким уровнем шума (эквивалентным σ≥1,25 в синтетике), когда критически важна максимальная успешность (93.3% на реальных данных), а вычислительные ресурсы не ограничены. При наличии 10 и более эталонных измерений интеллектуальная стратегия с fall-back становится предпочтительной, достигая 95–97% успешности при нагрузке 13.6.</p>
			<p>– Во всех случаях ключевыми элементами успеха являются формирование индивидуальных профилей пользователей по эталонным измерениям и обязательное применение fall-back механизма. </p>
			<p>– Кроме того, в отличие от ранее исследованного на базе UvA-NEMO подхода с каскадными кодами </p>
			<p>[5]</p>
			<p>– Достигнутые результаты открывают ряд перспективных направлений для развития предложенного метода декодирования кодов РС с интеллектуальным управлением стираниями:</p>
			<p>– Расширение области применения. Валидация подхода на других биометрических модальностях (отпечатки пальцев, радужная оболочка, голос) для создания многомодальных систем.</p>
			<p>– Совершенствование статистического профилирования. Разработка методов коррекции оценок распределения при малых выборках с использованием байесовских подходов и оптимизация бета-аппроксимации для снижения вычислительной сложности.</p>
			<p>– Архитектурные преобразования. Переход к распределённым архитектурам на основе схем разделения секрета Шамира и интеграция с блокчейн-технологиями для децентрализованного хранения биометрических данных </p>
			<p>[20][21]</p>
		</sec>
		<sec sec-type="supplementary-material">
			<title>Additional File</title>
			<p>The additional file for this article can be found as follows:</p>
			<supplementary-material xmlns:xlink="http://www.w3.org/1999/xlink" id="S1" xlink:href="https://doi.org/10.5334/cpsy.78.s1">
				<!--[<inline-supplementary-material xlink:title="local_file" xlink:href="https://itech.cifra.science/media/articles/22279.docx">22279.docx</inline-supplementary-material>]-->
				<!--[<inline-supplementary-material xlink:title="local_file" xlink:href="https://itech.cifra.science/media/articles/22279.pdf">22279.pdf</inline-supplementary-material>]-->
				<label>Online Supplementary Material</label>
				<caption>
					<p>
						Further description of analytic pipeline and patient demographic information. DOI:
						<italic>
							<uri>https://doi.org/10.60797/itech.2026.11.1</uri>
						</italic>
					</p>
				</caption>
			</supplementary-material>
		</sec>
	</body>
	<back>
		<ack>
			<title>Acknowledgements</title>
			<p>Авторы выражают благодарность рецензенту за полезные рекомендации в представлении работы.</p>
		</ack>
		<sec>
			<title>Competing Interests</title>
			<p/>
		</sec>
		<ref-list>
			<ref id="B1">
				<label>1</label>
				<mixed-citation publication-type="confproc">Osorio Roig D. Stable hash generation for efficient privacy-preserving face identification / D. Osorio Roig, C. Rathgeb, C. Busch [et al.] // IEEE Transactions on Biometrics Behavior and Identity Science. — 2021. — Vol. 99. — P. 1–16. — DOI: 10.1109/TBIOM.2021.3100639.</mixed-citation>
			</ref>
			<ref id="B2">
				<label>2</label>
				<mixed-citation publication-type="confproc">Gilkalaye B.P. Euclidean-distance based fuzzy commitment scheme for biometric template security / B.P. Gilkalaye, A. Rattani, R. Derakhshani // 2019 7th International Workshop on Biometrics and Forensics (IWBF). — Cancun, 2019. — P. 1–6. — DOI: 10.1109/IWBF.2019.8739177.</mixed-citation>
			</ref>
			<ref id="B3">
				<label>3</label>
				<mixed-citation publication-type="confproc">Han Vinck A.J. Coding Concepts and Reed-Solomon Codes / A.J. Han Vinck. — Essen : Institute for Experimental Mathematics, 2013. — 206 p.</mixed-citation>
			</ref>
			<ref id="B4">
				<label>4</label>
				<mixed-citation publication-type="confproc">Juels A. A fuzzy commitment scheme / A. Juels, M. Wattenberg // ACM Conference on Computer and Communications Security. — Singapore, 1999. — P. 28–36.</mixed-citation>
			</ref>
			<ref id="B5">
				<label>5</label>
				<mixed-citation publication-type="confproc">Assanovich B. Authentication system based on biometric data of smiling face from stacked autoencoder and concatenated Reed-Solomon codes / B. Assanovich, K. Kosarava // PRIP 2021. Communications in Computer and Information Science. — 2022. — Vol. 1562. — P. 205–219. — DOI: 10.1007/978-3-030-98883-8_15.</mixed-citation>
			</ref>
			<ref id="B6">
				<label>6</label>
				<mixed-citation publication-type="confproc">Mohan D.D. Significant feature based representation for template protection / D.D. Mohan, N. Sankaran, S. Tulyakov [et al.] // 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW). — Long Beach, 2019. — P. 2389–2396. — DOI: 10.1109/CVPRW.2019.00293.</mixed-citation>
			</ref>
			<ref id="B7">
				<label>7</label>
				<mixed-citation publication-type="confproc">Adamovic S. Fuzzy commitment scheme for generation of cryptographic keys based on iris biometrics / S. Adamovic, M. Milosavljevic, M. Veinovic [et al.] // IET Biom. — 2017. — Vol. 6. — № 2. — P. 89–96. — DOI: 10.1049/iet-bmt.2016.0061.</mixed-citation>
			</ref>
			<ref id="B8">
				<label>8</label>
				<mixed-citation publication-type="confproc">Dodis Y. Fuzzy extractors: How to generate strong keys from biometrics and other noisy data / Y. Dodis, R. Ostrovsky, L. Reyzin [et al.] // SIAM Journal on Computing. — 2008. — Vol. 38. — № 1. — P. 97–139. — DOI: 10.1137/060651380.</mixed-citation>
			</ref>
			<ref id="B9">
				<label>9</label>
				<mixed-citation publication-type="confproc">Kurbatov O. Unforgettable Fuzzy Extractor: Practical Construction and Security Model / O. Kurbatov, D. Zakharov, L. Antadze [et al.] // IACR Cryptology ePrint Archive. — 2025. — Art. 1799.</mixed-citation>
			</ref>
			<ref id="B10">
				<label>10</label>
				<mixed-citation publication-type="confproc">Chen L. Face template protection using deep LDPC codes learning / L. Chen, G. Zhao, J. Zhou [et al.] // IET Biometrics. — 2019. — Vol. 8. — № 3. — P. 190–197. — DOI: 10.1049/iet-bmt.2018.5156.</mixed-citation>
			</ref>
			<ref id="B11">
				<label>11</label>
				<mixed-citation publication-type="confproc">Assanovich B. Biometric database based on HOG structures and BCH codes / B. Assanovich, Yu. Veretilo // Proceedings of Information Technologies and Systems 2017 (ITS 2017). — Minsk, 2017. — P. 286–287.</mixed-citation>
			</ref>
			<ref id="B12">
				<label>12</label>
				<mixed-citation publication-type="confproc">Rao K.D. Channel Coding Techniques for Wireless Communications / K.D. Rao. — New Delh : Springer, 2015. — 394 p. — DOI: 10.1007/978-81-322-2292-7.</mixed-citation>
			</ref>
			<ref id="B13">
				<label>13</label>
				<mixed-citation publication-type="confproc">Шарипов Р.Р. Разработка программного комплекса реализации алгоритма Берлекэмпа-Месси на простых регистрах сдвига с линейной обратной связью для обучающихся по дисциплине «Криптография» / Р.Р. Шарипов, А.А. Кассирова // Computational Nanotechnology. — 2025. — Т. 12. — № 1. — С. 97–104. — DOI: 10.33693/2313-223X-2025-12-1-97-104.</mixed-citation>
			</ref>
			<ref id="B14">
				<label>14</label>
				<mixed-citation publication-type="confproc">Atieno L. An adaptive Reed-Solomon error-and-erasures decoder / L. Atieno, J. Allen, D. Goeckel [et al.] // Proceedings of the 2006 ACM/SIGDA 14th International Symposium on Field Programmable Gate Arrays (FPGA 2006). — Monterey, 2006. — P. 150–158. — DOI: 10.1145/1117201.1117224.</mixed-citation>
			</ref>
			<ref id="B15">
				<label>15</label>
				<mixed-citation publication-type="confproc">An X. High-Efficient Reed-Solomon Decoder Based on Deep Learning / Х. An, Y. Liang, W. Zhang // 2020 IEEE Int. Symposium on Circuits and Systems (ISCAS). — Seville, 2020. — P. 1–5. — DOI: 10.1109/ISCAS45731.2020.9181187.</mixed-citation>
			</ref>
			<ref id="B16">
				<label>16</label>
				<mixed-citation publication-type="confproc">Zhang W. Iterative Soft Decoding of Reed-Solomon Codes Based on Deep Learning / W. Zhang, S. Zou, Y. Liu // IEEE Communications Letters. — 2020. — Vol. 24. — № 9. — P. 1991–994.</mixed-citation>
			</ref>
			<ref id="B17">
				<label>17</label>
				<mixed-citation publication-type="confproc">Immler V. New insights to key derivation for tamper-evident physical unclonable functions / V. Immler, K. Uppund // IACR Transactions on Cryptographic Hardware and Embedded Systems. — 2019. — Vol. 3. — P. 30–65. — DOI: 10.46586/tches.v2019.i3.30-65.</mixed-citation>
			</ref>
			<ref id="B18">
				<label>18</label>
				<mixed-citation publication-type="confproc">Иванов А.И. Оценка вероятности ошибок биометрической аутентификации на малых выборках, использующая гипотезу бета-распределения расстояний Хэмминга / А.И. Иванов, А.В. Безяев, А.В. Елфимов [и др.] // Специальная техника. — 2017. — № 1. — С. 48–51.</mixed-citation>
			</ref>
			<ref id="B19">
				<label>19</label>
				<mixed-citation publication-type="confproc">Weber J.H. Asymptotic Single-Trial Strategies for GMD Decoding with Arbitrary Error-Erasure Tradeoff / J.H. Weber, V.R. Sidorenko, C. Senger [et al.] // Problems of Information Transmission. — 2012. — Vol. 48. — P. 324–333. — DOI: 10.1134/S0032946012040023.</mixed-citation>
			</ref>
			<ref id="B20">
				<label>20</label>
				<mixed-citation publication-type="confproc">Богаченко Н.Ф. Схема разделения секрета между иерархически связанными участниками / Н.Ф. Богаченко // Математические структуры и моделирование. — 2022. — № 4 (64). — С. 117–121.</mixed-citation>
			</ref>
			<ref id="B21">
				<label>21</label>
				<mixed-citation publication-type="confproc">Утеев Г. Разработка децентрализованной системы идентификации личности по биометрическим данным с помощью технологии блокчейн и компьютерного зрения / Г. Утеев, Р.Ф. Гибадуллин // Международный научно-исследовательский журнал. — 2024. — № 4 (142). — DOI: 10.23670/IRJ.2024.142.6.</mixed-citation>
			</ref>
		</ref-list>
	</back>
	<fundings/>
</article>