Повышение неоднозначности Российский патент 2020 года по МПК H04L9/06 H04L9/08 H04L9/14 

Описание патента на изобретение RU2737917C1

[0001] Повышение неоднозначности

[0002] Хельдер Фигуйера – гражданин ЕС (Португалия), проживает в Лондоне, Соединенное Королевство

ОТСЫЛКИ К РОДСТВЕННЫМ ПАТЕНТАМ:

[0003] Патент США 1,310,719 - Гилберт Вернам - «Система секретной сигнализации»

[0004] Патент США № 5,412,730 - Майкл Ф. Джонс - «Система передачи зашифрованных данных. Использование средств для случайного изменения ключа шифрования»

[0005] Патент США № 7,376,232, Хэмди Солиман, «Безопасность компьютерной системы посредством динамического шифрования»

ОПИСАНИЕ

ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ
[0006] Это изобретение относится к областям криптографии, безопасной передачи данных и систем безопасного хранения, которые предполагают использование шифрованных данных. Это изобретение относится, в частности, к области теоретической криптографической инженерии и научного метода криптографии информации, в соответствии с которым во всех криптографических системах секретности может активно разрабатываться неопределенная характеристика безопасности, обеспечивающая теоретическую безопасность таких систем, и такие системы могут быть проверены экспериментально на предмет их теоретической безопасности.

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

[0008] В криптографии понятие неоднозначности (или условной энтропии) впервые было определено Клодом Шенноном в его работе 1949 года "Теория связи систем секретности" как основа для определения того, что значит быть "безопасным", путем проведения различия между "неподдающимся дешифрованию" и "поддающимся дешифрованию" шифрами или криптографическими проблемами. Шеннон рассматривал неоднозначность как индекс секретности ключей и сообщений в отношении конкретного зашифрованного текста. На любительском уровне, неоднозначность – это остаточные ключи (неоднозначность ключа) и остаточные сообщения (неоднозначность сообщения) после всестороннего криптоанализа, проведенного нападавшим на перехваченную длину зашифрованного текста. Для математической трактовки неоднозначности рекомендуем читателям ознакомиться с работой Шеннона о системах засекреченности, поскольку они лежат в основе изобретения.

[0009] Проблема безопасности практически всех криптосистем с ключом конечной длины (или, в частности, шифрования этих систем) заключается в том, что, учитывая длину перехваченного шифрованного текста, злоумышленник со знанием механики шифрования и длины ключа может попробовать все возможные ключи и определить все действительные расшифровки ключа/сообщения. Общая концепция безопасности – "прятать иголку в стоге сена" – это не функция безопасности, это недостаток. Если шифрованный текст достаточно длинный, то в результате ключевого процесса испытания получится одна жизнеспособная и вероятная пара ключ/сообщение – решение проблемы. Неоднозначность Шеннона позволяет графически оценить и проанализировать вышеуказанную проблему в отношении любой системы секретности, а также позволяет сформулировать решение, лежащее в основе изобретения.

[0010] С точки зрения теории информации, избыточность сообщений может быть определена следующим образом – учитывая язык и длину символов в сообщении, все возможные комбинации букв алфавита приведут к двум наборам типов сообщений, которые являются действительными (информация), и те, которые таковыми не являются (избыточность). Энтропия сообщения или количество информации, получаемой при выборе сообщения, может быть измерено с помощью = − , где P(M) – это вероятность P сообщения M по отношению ко всем возможным сообщениям. Точно так же энтропия ключа, или количество информации произведенное, когда выбранный ключ может быть измерен с помощью = − log , где P(K) – вероятность P ключа K по отношению ко всем возможным ключам. Эксперименты показали, что обычные предложения на английском языке длиной более 30 символов содержат, как правило, 1.3 бита информации и 6.7 битов избыточности при передаче с использованием 8-битного ASCII. Исходя из этого, обычные сообщения на английском языке зачастую содержат 16% информации и 84% избыточности.

[0011] Шеннон определил неоднозначность (условную энтропию) ключа HE(K) и сообщения HE(M) в отношении зашифрованного текста E таким образом:

HE(K) = − ∑, , log PE(K), и,

HE(M) = − ∑, , log PE(K),

где P (E, K) – вероятность ключа K и криптограммы E, а PE(K) – эмпирическая вероятность ключа K, если криптограмма E перехвачена, а P (E, M) и PE(M) – это аналогичные вероятности для сообщения М. Следовательно, неоднозначность представляет собой логарифмическое представление остаточных сообщений и ключей после криптоанализа.

[0012] Шеннон продемонстрировал, что неоднозначность обладает рядом интересных свойств, доказывая, цитируем: (а) «неоднозначность ключа HE(K,N) не является растущей функцией N…» (N – длина зашифрованного текста); (б) «неоднозначность в сообщении HE(M) производительной системы S = TR не меньше, чем при использовании только R», (в) «неоднозначность H взвешенной суммы системы ограничена…» и (г) неоднозначность взвешенной суммы языков также ограничена, и, что интересно, (д) для чистого шифра неоднозначность ключа HE(K) может быть вычислена как HE(K) = H(K) + H(M) - H(E) , – где HE(K) и есть неоднозначность ключа K, H(K) – энтропия ключа K, H(M) – энтропия сообщения M, а H(E) – это энтропия зашифрованного текста Е.

[0013] Из приведенных выше доказательств, Шеннон пришел к выводу, что в случае случайного шифра (определяемого как множество шифров) неоднозначность представляет собой усредненную неоднозначность для всего множества, и, что проблема определения длины зашифрованного текста («расстояние уникальности»), необходимой для создания уникального решения при атаке методом полного перебора, может быть решена с использованием U = H(K) / D, где U – длина зашифрованного текста, H(K) – энтропия используемого ключа K, и D – избыточность языка в сообщении. Важно отметить, что криптоаналитики используют «расстояние уникальности» для определения жизнеспособности атаки полным перебором для шифрования, поскольку шифрование, длина которого меньше «расстояния уникальности», в общем случае "не поддается дешифрованию".

[0014] В качестве примера базового графика неоднозначности на РИС.1 приведем графики неоднозначности для шифрования XOR с использованием 32-битного ключа K в отношении 4 отдельных 8-битных типов сообщений: (1) M0 – известный открытый текст с 0% информации и 100% избыточности, (2) M1 – обычное сообщение на английском языке с 1.3 битами информации (16%) и 6.7 битами (84%) избыточности, (3) M2 – сообщение с 50% избыточности и 50% информации, и (4) M3 – случайное сообщение с избыточностью 0% и информацией 100%. Обратите внимание, что каждое сообщение M связано с ключом K так, как K1 связано с M1, K2 – с M2 и т.д. На графике показано распределение ключей HE(K) и сообщений HE(M) всех типов относительно оси y, (которая является логарифмическим значением) и оси x, которая представляет количество символов зашифрованного текста (и является линейным значением). В начальной точке 101 мы отмечаем, что энтропия ключа H(K) = HE(K) = 32, неоднозначность ключа – имеет значение 32. В точке 102 мы видим, что неоднозначность сообщения всех 4 сообщений равна нулю, например, что HE(M0) = HE(M1) = HE(M2) = HE(M3) = 0. Что касается сообщения M1, угол наклона неоднозначности ключа HE(K1), обозначенный 103, уменьшается, так как угол наклона HE(M1), обозначенный 104, увеличивается как на 105, значение «идеальной секретности» HE(K1) = HE(M1) = 4*1.3 = 5.2 по значению. Таким образом, в точке 105 имеется 24 * 1.3 = 25.2 = 36.75 возможных жизнеспособных сообщений M1 и ключей K1. На самом деле, HE(M1) обычно будет больше 5.2 после 4 сообщений на английском языке, но для простоты (хотя и с ущербом для нас) мы примем, что 5.2 будет правильным. В контексте, при полном переборе, сообщение на английском языке M1, использующее 32-битный ключ K1 с общим количеством 232 = 4294 миллионов ключей, обычно будет сокращено до 36.75 (скажем, 37) действительных ключей и связанных сообщений M1 с шифрованным текстом {C1,C2,C3,C4} из 4 символов. Если зашифрованный текст имел длину всего 4 символа, то при 105 шифрование считается «совершенно секретным», поскольку при полном переборе всех ключей все возможные сообщения представляются как жизнеспособные расшифровки.

Однако, когда зашифрованный текст C для M1 длиннее, чем ключ K1, мы видим это из точки 105 к «точке единственности» в 106, HE(M1) остается равным HE(K1), и оба продолжают движение вниз по траектории HE(K1) так, что оба достигают единицы (log 0 = 1) при 38.09 битах или 4.76 зашифрованных символах. Обратите внимание, что H(K)/D = 32/0.84 = 38.09 бит. Таким образом, с математической и научной точки зрения (поскольку эти результаты могут быть подтверждены экспериментом) для любого зашифрованного текста M1 длиной более 4.76 символов, зашифрованный текст для M1 имеет внутреннюю «гарантию небезопасности» и попадает в Зону Гарантии Небезопасности 113. Шифрованные тексты короче «точки единственности» с наибольшей вероятностью создадут несколько жизнеспособных сообщений при криптоанализе методом полного перебора. Таким образом они будут иметь внутреннюю «гарантию безопасности» и попадут в зону Гарантии Безопасности M1 112. Принимая M0 (известное открытое текстовое сообщение), точка 107 обозначает точку, в которой угол наклона неоднозначности ключа HE(K0) относительно сообщения «известный открытый текст» M0 достигнет единицы (один жизнеспособный ключ). Обратите внимание, что в таком случае неоднозначность сообщения HE(M0) остается при log 0 = 1, поскольку оно известно. Точка 108 является точкой «идеальной секретности» в отношении M2, которая имеет 50% избыточности и 50% информации, и является точкой, где HE(K2) = HE(M2) = 4*4 = 16. Таким образом, при «идеальной секретности» Точка 108 будет иметь в общей сложности 216 = 65536 возможных жизнеспособных сообщений M2 и ключей K2 после полного перебора первых 4 символов зашифрованного текста. Таким образом, увеличение информации или уменьшение избыточности увеличивает значение HE(M) и HE(K) в точке «идеальной секретности» и, следовательно, расширяет «точку единственности» наружу по отношению к M2 пропорционально точке 109, где 32/0.5 = 64 бита или 8 символов. Таким образом, зона «гарантии безопасности» для сообщения M2, показанного на позиции 114, расширяется еще на 4 зашифрованных символа, так что шифрование сообщения M2, длина которого превышает 8 символов, попадет в «зону гарантии небезопасности» для M2, показанную на 115, и будет иметь «гарантию небезопасности». Точка 110 обозначает точку «идеальной секретности», когда случайное строковое сообщение M3 (с избыточностью 0% и информацией 100%) зашифровано с помощью K3 и где HE(K3) = HE(M3) = 32. В таком случае нет уменьшения в HE(K3) от начального значения энтропии ключа H(K), все сообщения M3 являются жизнеспособными и вероятными, а HE(K3) и HE(M3) стремятся к бесконечности в точке 111, независимо от длины зашифрованного текста. Обратите внимание, что HE(K3) никогда не увеличивается свыше H(K), начальной энтропии ключа K в точке 101. Таким образом, в какой-то момент будет только 232 возможных варианта сообщений, независимо от длины сообщения, и это можно проверить практически.

[0015] Одноразовый код использует ключ неограниченной длины K, если только сообщение M обеспечивает бесконечную "гарантию безопасности". Важно отметить, что безопасность или небезопасность любой системы засекречивания ограниченной продолжительности в конечном счете зависит от того, имеют ли различные шифраторы в рамках этой системы засекречивания "гарантию безопасности" или "гарантию небезопасности". Для того чтобы система засекречивания конечной длины считалась надежной, она должна иметь "гарантию безопасности" при любом возможном шифровании.

[0016] Основной целью этого изобретения является предложение структуры системы засекречивания, которая устойчива к полному перебору при любом возможном шифровании, несмотря на использование ключа конечной длины. Принимая во внимание будущую угрозу нападений со стороны систем Квантовых Вычислений / Искусственного Интеллекта (QC/AI), мы должны исходить из того, что любая “нестойкая" система засекречивания может быть решена мгновенно. Поэтому мы предлагаем в связи с этим определение неоднозначности безопасности, в котором: (1) шифрование может считаться "стойким/неподдающимся дешифрованию" тогда и только тогда, когда при всех возможных расшифровках HE(K) или HE(M) никогда не могут быть равными log 0 (равными 1), и (2) система засекречивания может считаться "стойкой/неподдающейся дешифрованию" тогда и только тогда, когда при всех возможных расшифровках всех возможных шифров в этой системе, HE(K) и HE(M) никогда не могут быть равными log 0. Поэтому шифры с неоднозначностью, равной log 0, определяются как "нестойкие/поддающиеся дешифрованию” (по словам Шеннона – практические системы засекречивания), но могут иметь относительную степень "безопасности" из-за высокой рабочей нагрузки, при условии, что будет доказано, что не существует никаких возможных средств, позволяющих быстро решить криптографическую проблему (почти невозможно доказать – слишком много возможных вариантов). Обратите внимание, что высокая рабочая нагрузка не повышает характеристику "стойкий/неподдающийся дешифрованию", но может повысить "безопасность”.

[0017] В качестве практического применения расчета "расстояния единственности", симметричная система шифрования, такая как AES-256 с 256-битным ключом, используемая для шифрования английского сообщения с избыточностью 84%, будет иметь "расстояние единственности" 256/0.84 = 304.76 бит (38,09 символов). Это точка, где HE(K) и HE(M) равны log 0 = 1, и где шифрование AES256 становится "нестойким/поддающимся дешифрованию". Это простое криптоаналитическое использование оценки неоднозначности может быть применено ко всем криптографическим примитивам в принципе. Действительно, "расстояние единственности" является базовой величиной для сравнения "безопасности" или "небезопасности " любых двух криптосистем, включая системы асимметричного шифрования, псевдогенераторы случайных чисел (ПГСЧ) и другие криптографические примитивы. В ПГСЧ оценивается неоднозначность исходного пула энтропии или первичного ключа. Как видно из графика неоднозначности на РИС. 1 выше, обычно невозможно создать "стойкую/неподдающуюся дешифрованию" систему засекречивания для всех шифровальщиков, если не будет решена проблема "истощения" неоднозначности ключа HE(K).

[0018] Основная цель этого изобретения состоит в том, чтобы определить основу для проектирования и построения систем засекречивания конечных ключей, которые имеют бесконечную длину «расстояния единственности», независимо от длины сообщения, с использованием метода криптографической инженерии, называемого «Повышение неоднозначности» (EQAU), которое направлено на периодическое увеличение HE(K) и HE(M) криптосистемы с большей скоростью, чем она теряется во время процесса шифрования.

[0019] В соответствии с основной функцией данного изобретения, EQAU используется для периодического увеличения или повышения остаточного ключа неоднозначности HE(K) после каждого цикла шифрования, так что все ключи снова возможны в следующем цикле шифрования, эффективно сбрасывая значение HE(K) до значения H(K). Основополагающим принципом является то, что если HE(K) криптосистемы можно увеличить или вернуть обратно к исходному значению H(K) или выше, с более высокой скоростью, чем HE(K) теряется во время шифрования, то HE(K) и HE(M) никогда не могут достичь или быть равны log 0, гарантируя “стойкую/неподдающуюся дешифрованию” характеристику безопасности криптосистемы. Таким образом, постоянное расширение «расстояния единственности» приводит к тому, что зона «гарантии безопасности» распространяется на бесконечность при любом шифровании – это “стойкая/неподдающаяся дешифрованию” криптосистема. При увеличении HE(K), HE(M) также будет увеличиваться до тех пор, пока они не приблизятся друг к другу, когда HE(M) последует за HE(K) в своем нисходящем тренде. Обратите внимание, что преимущества EQAU связаны как с шифрованием данных при передаче, так и с шифрованием данных в состоянии покоя.

[0020] В соответствии с еще одной принципиальной особенностью изобретения для обеспечения возможности EQAU необходим независимый источник энтропии, такой как PRNG (Генератор псевдослучайных чисел), поскольку энтропия криптосистемы обычно ограничена H(K) и может быть увеличена только независимо. Единственный способ увеличить HE(K), это восстановить H(K) после каждого цикла шифрования и перед началом следующего цикла шифрования.

[0021] Кроме того, уникальной и принципиальной особенностью изобретения является также то, что, вторая независимая криптосистема может быть выгодно использована (фактически требуется для поддержания «гарантии безопасности») для безопасной передачи случайной энтропии между связывающимися сторонами, что позволяет им применять EQAU к своим текущим ключам синхронно. Применение EQAU к HE(K) влечет за собой применение детерминированной математической операции к существующим значениям ключей K с использованием новых значений энтропии, так что могут быть получены все возможные значения ключей H(K). Чем больше количество случайной энтропии, тем больше вероятность достижения H(K).

[0022] Еще одной важной особенностью изобретения является то, что пул энтропии (массив, таблица, циклическая очередь, PRNG или другие средства хранения и работы со случайными значениями) больший, чем H(K) может быть выгодно использован как предпочтительный вариант реализации для целей EQAU, так что EQAU применяется к пулу энтропии, а новые ключи K получаются из значений пула энтропии после применения EQAU. Эта особенность, естественно, допускает концепцию «информационно-теоретически» защищенного PRNG в том смысле, что EQAU может применяться к H(K) определенного PRNG, изменяя его выход вероятностным стохастическим образом. Следовательно, предпочтительные варианты реализации включают в себя PRNG именно такой конструкции.

[0023] Еще одним из главных преимуществ изобретения EQAU, может считаться его применение во время цикла шифрования для повышения неоднозначности сообщения HE(M), так что при атаке методом полного перебора может быть увеличено число «ложноположительных» действительных последовательностей сообщений, что, естественно, также увеличивает результирующее HE(K) для этого цикла шифрования. Обратите внимание, что количество остаточных действительных ключей HE(K) связано с количеством «действительных» сообщений HE(M). Расшифровка неоднозначности сообщений становится возможной благодаря объединению зашифрованного потока энтропии R (используемого для ключа EQAU) с потоком сообщений M (который также может быть предварительно зашифрован) и применением преобразования фиксированного периода T к результирующему совместному сообщению RM.

[0024] Кроме того, двухэтапный иерархический процесс шифрования может быть выгодно использован в предпочтительном варианте, когда отдельные сообщения M и R (и другие потоки) могут быть независимо зашифрованы с использованием XOR на первом этапе, а их общие шифрованные тексты впоследствии могут подлежать транспозиции с фиксированным периодом и XOR на втором этапе. Такая конфигурация обеспечивает быстрое шифрование (за счет сокращения операций), беспрецедентные изменения в построении криптосистемы и возможность реализации "стойкой/неподдающейся дешифрованию" криптосистемы в программном и аппаратном обеспечении в пределах ограниченного ключа и ограниченной памяти, а также позволяет использовать параллельные многопоточные шифровальные решения.

[0025] Различные принципы изобретения, и EQAU в частности, могут быть выгодно применены к криптографическим примитивам или системам, использующим ключи или энтропию в качестве средства обеспечения безопасности. Любая существующая криптосистема, генератор примитивных или случайных чисел (независимо от того, насколько он слабый) могут быть наделены информационно-теоретическими характеристиками безопасности только путем использования в них изобретения или путем использования изобретения для передачи шифрованного текста в таких системах. Таким образом, структура EQAU позволяет и требует использования нескольких независимых систем секретности, работающих совместно, и, хотя это не требуется, любая существующая система может быть использована для шифрования потока сообщений M или потока энтропии R с помощью динамически изменяющихся ключей, предоставленных изобретением.

[0026] Кроме того, одной из конкретных целей изобретения является создание общей структуры криптографического дизайна, которая позволит внедрять EQAU в любую криптосистему или криптографический примитив, или интегрировать с ними, не ограничивая применение EQAU каким-либо конкретным решением, воплощением или криптографическим составом. Кроме того, изобретение позволяет проектировать и конструировать бесконечное количество полиморфных криптосистем, способных расширить практическую реализацию EQAU за пределы повышения HE(K) или HE(M) до любого свойства или переменной любой криптосистемы, включая, но не ограничиваясь ими, ключи (количество ключей, значения, длину, операции), пулы энтропии (количество, значения, длину, операции), шифры и криптографические примитивы (используемое количество, типы, варианты, последовательности шифрования и дешифрования и т.д.), операции шифрования (количество циклов шифрования, количество и варианты криптографических операций, математических операций и последовательностей), переменные (количество, последовательность, состав, значения и зависимости), криптосистемы (состав и вариации) или любые другие свойства, которые могут получить пользу от использования новой энтропии информации в качестве средства повышения общей энтропии системы или обеспечения "безопасности" системы согласно нашему определению.

[0027] Дополнительные преимущества изобретения включают в себя: признание криптографии в качестве научной инженерной дисциплины, "стойкое/неподдающееся дешифрованию" шифрование любой длины данных при передаче или в состоянии покоя с использованием ключа конечной длины, наличие практичной безопасной криптосистемы "QC/AI", принятие неоднозначности в качестве стандартного инструмента криптоанализа, повышение производительности шифрования, поскольку больше не требуется высокая рабочая нагрузка, наличие "информационной абсолютно безопасной" системы, наличие "информационно-теоретически” безопасных PRNG, упрощение абсолютного определения компьютерной безопасности, продвижение смены парадигмы от “нестойких/поддающихся дешифрованию" до “стойких/неподдающихся дешифрованию" криптосистем, упрощение существующих реализаций систем безопасности в части использования единой "стойкой/неподдающейся дешифрованию" системы для всех требований криптографии, расширение криптографической энтропии за пределы ключа, возможность гармоничной интеграции с существующими системами, независимость операций аутентификации и шифрования, внедрение гарантий безопасности как общей отраслевой практики, а главное, принятие научно-обоснованного подхода к криптографическому дизайну, в котором новые криптосистемы могут быть верифицированы экспериментальным путем и быть "стойкими/неподдающимися дешифрованию".

[0028] Изобретение улучшает существующее состояние техники в том смысле, что криптографический фокус находится на повышении неоднозначности динамического ключа, а не на замене динамического ключа. В патенте США 5412730 Майкла Ф. Джонса «Зашифрованная система передачи данных, использующая средства для случайного изменения ключа шифрования» мы находим такой способ замены ключа, при котором новые ключи могут генерироваться одним независимым генератором случайных чисел, который находится на стороне отправителя, зашифрованным с помощью действующего активного ключа, который передается вместе с обычными данными. После расшифровки потока шифров на принимающей станции или объекте, зашифрованные ключи извлекаются из потока данных, дешифруются и заменяются предыдущим ключом в заранее определенный или назначенный момент времени. К сожалению, замена ключа, чтобы быть эффективной, должна происходить независимо, но даже в таком случае требуемая скорость EQAU не может поддерживаться бесконечно.

[0029] Принципы изобретения могут быть также выгодно применены к существующим "нестойкими/поддающимися дешифрованию" системам безопасности аутентификации и проверки подлинности (которые используются для аутентификации пользователей, идентификации информации, ключей или сертификатов), поскольку они могут быть включены в изобретение в качестве потока сообщений или контроля. Кроме того, данное изобретение может быть расширено за счет включения в него функций контроля и управления центрального органа, а также поддержки распространения и аутентификации объектов криптосистемы (пользователей, машин, систем, данных, контроля доступа и услуг и т.д.), установления безопасных коммуникационных связей между проверенными и аутентифицированными объектами и предотвращения передачи информации о неизвестных/неавторизованных объектах любым другим субъектам в рамках сети безопасности.

[0030] Кроме того, наличие "стойкого/неподдающегося дешифрованию" локального хранилища данных позволяет создавать двухуровневые системы шифрования, в которых шифрование и управление ключами могут осуществляться независимо друг от друга. Преимуществом изобретения является то, что оно удовлетворяет всем существующим требованиям безопасности и по сути является односторонней функцией, поскольку знание содержания сообщения не может быть использовано для компрометации ключей.

[0031] Данное изобретение может быть также расширено для гарантии того, что весь трафик, проходящий в криптосистемной сети, оставался за "стойкой/неподдающейся дешифрованию" логической границей безопасности, при которой доступ к определенным узлам системы и с них можно было бы идентифицировать и контролировать на уровне отдельных пользователей и управления сетью, позволяя разделить функции управления сетью и шифрования. Компрометация сети не обязательно приводит к компрометации сетевого трафика.

[0032] Эти и другие объекты, признаки и преимущества изобретения будут очевидны для специалистов в данной области техники и станут более понятными при рассмотрении следующего подробного описания различных вариантов осуществления изобретения.

КРАТКОЕ ИЗЛОЖЕНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ

[0033] Способ динамического шифрования и дешифрования данных во время передачи (безопасная передача) или в состоянии покоя (безопасное хранение) с использованием метода повышения неоднозначности (EQAU), такой, что, когда сообщение шифруется с использованием ключа ограниченной длины, в математической или логической операции периодически используется независимый источник энтропии для прямого или косвенного увеличения или повышения остаточного ключа и неоднозначности сообщения после каждого цикла шифрования, так что при атаке ключа или сообщения методом полного перебора, все ключи шифрования становятся доступными в начале каждого цикла шифрования, а также неоднозначность ключей и неоднозначность сообщений никогда не достигают log 0 на время шифрования, и, таким образом, шифрование остается "стойким/неподдающимся дешифрованию" для сообщения любой длины.

[0034] Метод динамического шифрования и дешифрования данных с использованием EQAU и с использованием иерархии нескольких независимых криптосистем и включающий: генерацию и распространение секретного ключа между объектами, связанными с шифрованием; идентичная синхронизированная инициализация пула энтропии или генератора случайных чисел обоими объектами; генерация идентичных ключей шифрования; начальное независимое шифрование одного или нескольких сообщений и случайных последовательностей; последующее шифрование объединенных зашифрованных последовательностей, влекущее за собой преобразование значений и местоположений значений таким образом, что влечет за собой увеличение числа сообщений; при шифровании передают зашифрованный текст и используют ранее переданную случайную строку для прямого или косвенного изменения текущих значений ключа таким образом, который повышает неоднозначность ключа перед следующим этапом шифрования; при дешифровании, получении зашифрованного текста, дешифровании (выполнение обратной последовательности операций шифрования для извлечения сообщений, управляющих и случайных последовательностей) и использовании полученной случайной строки для прямого или косвенного изменения текущих значений ключа таким образом, который синхронно увеличивает сложность ключа до следующего этапа дешифрования, повторяя вышеуказанные операции с каждым этапом шифрования/дешифрования.

[0035] Способ динамического шифрования и дешифрования данных с использованием EQAU, пригоден для реализации в качестве шифрования блоками в аппаратном устройстве, запрограммированном для выполнения операций шифрования и дешифрования, в соответствии со способом динамического шифрования/дешифрования, упомянутым в пункте [0033] выше.

[0036] Устройство для динамического шифрования и дешифрования данных с использованием EQAU и включающее в себя: модуль связи; компонент процессора, запрограммированный для выполнения операций шифрования и дешифрования согласно способу динамического шифрования/дешифрования, упомянутому в пункте [0033] выше.

[0037] Способ динамического шифрования и дешифрования данных с использованием EQAU, подходящий для реализации в вычислительном устройстве, запрограммированном для выполнения операций шифрования и дешифрования, согласно способу динамического шифрования/дешифрования, упомянутому в пункте [0033] выше.

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

[0039] Метод применения EQAU к любым генераторам случайных чиел, способным принимать случайные значения, так что они могут подвергаться стохастическим вероятностным изменениям в механике, внутренних состояниях, значениях или переменных, что позволяет получить действительно случайные, теоретически безопасные данные для генерации случайных чисел.

[0040] Метод реализации EQAU для множества пулов энтропии, массивов или таблиц, имеющих ключевые значения, предполагающий шифрование или математическую обработку существующих значений в пулах, таблицах или массивах с использованием новых значений энтропии, чтобы значения от результирующих операций могли "переливаться" в другие пулы, таблицы или массивы, и чтобы существующие значения этих пулов, массивов и таблиц периодически сбрасывались.

[0041] Метод осуществления изобретения в качестве средства распространения ключей аутентификации и шифрования с использованием центрального органа, при котором существующие удостоверенные связи между субъектами и центральным органом могут использоваться для построения удостоверенных связей между объектами напрямую.

[0042] Метод безопасного управления и хранения ключей шифрования между сессиями шифрования путем отделения ключей пользователя от ключей управления передачей, устраняя требование о распределении ключей между сеансами.

[0043] Метод использования изобретения, описанный выше, для обеспечения безопасности блокчейн.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0044] В ходе работы над настоящим документом можно сделать ссылку на следующие прилагаемые чертежи:

[0045] РИС. 1 представляет собой пример схемы неоднозначности четырех шифровок, использующих ключ конечной длины, описывающий их ключ и характеристики неоднозначности сообщения.

[0046] РИС. 2 представляет собой схему неоднозначности реализации изобретения (шифр XOR, открытое текстовое сообщение и случайная строка), на которой показана практическая реализация EQAU на основе неоднозначности ключа.

[0047] РИС. 3 представляет собой схему неоднозначности реализации изобретения (шифр XOR, шифр транспозиции, открытое текстовое сообщение и случайная строка), на которой показана практическая реализация EQAU на основе неоднозначности сообщения.

[0048] РИС. 4 представляет собой блок-схему реализации изобретения, как показано на РИС. 3, с добавлением пула энтропии, выделяющего различные компоненты, необходимые для практической реализации EQAU в методе динамического шифрования и дешифрования данных.

[0049] РИС. 5 представляет собой блок-схему реализации изобретения, на которой показано использование EQAU в шифровании блоками, пригодном для динамического шифрования и дешифрования данных в программном обеспечении или аппаратном устройстве.

[0050] РИС. 6 представляет собой блок-схему реализации изобретения, на которой показано использование EQAU в аппаратном устройстве, пригодном для динамического шифрования и дешифрования данных.

[0051] РИС. 7 представляет собой блок-схему реализации изобретения, на которой показано использование EQAU в компьютерном аппаратном устройстве, пригодном для динамического шифрования и дешифрования данных или информации.

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

Термины и определения

[0052] В настоящем документе термин "отправитель" или "шифровальщик" используется для обозначения стороны, организации или системы, которая осуществляет шифрование сообщения в шифрованный текст, а термин "получатель" или "дешифровальщик" используется для обозначения стороны, организации или системы, которая выполняет дешифровку шифрованного текста для извлечения сообщения. "Отправитель" и "получатель" в основном используются с описаниями операций шифрования, требующих передачи (шифрования в пути), в то время как "шифровальщик" и "дешифровальщик" относятся к операциям шифрования в отношении данных в состоянии покоя. Упомянутыми выше сторонами могут быть любая система, машина, сеть, данные или физическое лицо, использующие реализацию настоящего изобретения.

[0053] Фразы "система засекречивания", "система безопасности", "криптосистема" или "шифр" могут использоваться как взаимозаменяемые и могут относиться к любой системе, алгоритму, шифрованию или физическому или логическому компоненту или элементу криптографической системы, объекту или криптографическому примитиву, который использует, взаимодействует с этой системой, объектом или примитивным способом проверки подлинности и который используется для выполнения любой операции по обеспечению конфиденциальности или составляет таковую.

[0054] Использованные в настоящем документе выражения "сетевой объект", "системный объект" или "объект" могут использоваться как взаимозаменяемые и могут относиться к любому физическому или логическому компоненту, или элементу криптосистемы, который использует, взаимодействует с указанной криптосистемой или составляет ее и который может быть отдельно идентифицирован и аутентифицирован с помощью последовательности идентификационных номеров. Примеры объектов включают, но не ограничиваются ими, пользователей, машины, группы, предприятия, органы власти, службы, порты, ключи, RNG, последовательности энтропии, программы, адреса, токены, устройства, системы, конфигурации, компоненты, узлы, примеры, состояния, типы идентификаторов, шифры, ключевые потоки и потоки данных. Объекты могут содержать один или несколько других объектов.

[0055] Фразы "узел сети" или "узел связи" могут использоваться как взаимозаменяемые и могут относиться к любому физическому или логическому устройству, которое может взаимодействовать через любой носитель, включая сеть, другой узел сети, себя или другой сетевой компонент внутри того же узла сети. Примеры сетевых узлов включают персональный компьютер (ПК), рабочую станцию, сервер, принтер, сканер, факсимильный аппарат, копир, карманный персональный компьютер (КПК), устройство хранения данных (например, дисковод), концентратор, маршрутизатор, коммутатор и устройство связи (например, модем, беспроводной телефон и т.д.). Сетевые узлы могут состоять из одного или нескольких сетевых компонентов. В настоящем документе термин "сетевой компонент" может относиться к сетевому устройству или компоненту, части, части или комбинации сетевых узлов. Примерами сетевых компонентов могут служить устройство или модуль статической памяти произвольного доступа (SRAM), процессор, а также канал связи, соединение, порт, кабель, протокол или система управления сетью.

[0056] Термины "сеть" и "коммуникационная сеть", используемые в настоящем документе, могут использоваться взаимозаменяемо и могут относиться к любому объекту, организации, компоненту, устройству и/или любой их комбинации, которая разрешает передачу пакетов, последовательностей, сигналов и/или других форм информации между одним или несколькими сетевыми устройствами и/или внутри них, облегчает ее и/или каким-либо иным образом способствует ее осуществлению или связана с ней. Сети могут состоять из множества взаимосвязанных сетевых устройств или включать в себя множество таких устройств. В некоторых вариантах сети могут быть виртуальными, нейронными, искусственными, проводными, беспроводными и/или иметь любую другую конфигурацию и/или тип, который известен или может стать известен. Коммуникационные сети могут включать, например, любые сети, настроенные на работу в соответствии со стандартами передачи данных Ethernet LAN, опубликованными Институтом инженеров электротехники и электроники (IEEE).

[0057] Термины "данные", "информация" или "сообщение" могут использоваться как взаимозаменяемые и могут относиться к любому отдельному лицу или комбинации последовательностей, цифр, данных, текста, голоса, видео, изображения, сообщения, бита, байта, пакета, пакета, импульса, сигнала, формы волны и/или другого типа или конфигурации сигнала и/или информации. Информация может включать в себя пакеты данных, информацию об управлении сетью, информацию о криптосистемном контроле, датаграммы или криптограммы. Информация может быть сжата, зашифрована, проверена на ошибки, засвидетельствована и/или иным образом упакована или обработана любым известным или ставшим известным способом.

[0058] После прочтения и изучения данного открытия/изобретения специалисты в данной области признают, что воплощение в жизнь настоящего изобретения могут быть использованы для шифрования, расшифровки, авторизации, аутентификации, проверки, опровержения, распространения, изменения и любого количества различных типов информации.

Теоретические основы изобретения повышения неоднозначности

[0059] Неоднозначность - это логарифмическая величина, которая может быть использована в качестве «индекса теоретической секретности» для любой криптосистемы. Неоднозначность позволяет произвести четкое различие между “стойким/неподдающимся дешифрованию” и “нестойким/поддающимся дешифрованию” шифрованием, так как она отражает количество остаточных допустимых ключей и сообщений, которые возникают в результате криптоанализа методом полного перебора по отношению к символам шифртекста конкретного шифрования. Как показано на РИС. 1, при проверке всех ключей каждая попытка с недопустимым ключом (так как дешифрованное сообщение недопустимо) ведет к тому, что HE(K) криптосистемы уменьшается до такой степени, что шифртекст по крайней мере имеет те же размеры, что и ключ, и HE(K) = HE(M), и набор всех возможных сообщений и связанных ключей остается. Повторное использование допустимых ключей для последующих символов шифртекста приводит к дальнейшему уменьшению НE(К) (и аналогично для НE(М)) до такой точки (“точки единственности”), где НE(К) = НE(М) = 0, и log 0 = 1, или было получено одно уникальное сообщение.

[0060] При условии, что НE(К) и НE(К) больше 1 (log 1 = 2), система будет “стойкой/неподдающейся дешифрованию”, в ней будет как минимум два допустимых и вероятных сообщения (и ключа). Поскольку неоднозначность является абстрактной характеристикой, величиной и концепцией, которая получена математически, а также поскольку изобретение предполагает средство, с помощью которого можно управлять неоднозначностью, математическое и научное теоретическое оперирование повышением неоднозначности были включены в подробное описание изобретения для того, чтобы изобретение повышения неоднозначности и его практическая реализация посредством различных вариантов воплощения были ясными и понятными.

[0061] Основополагающий элемент, отличающий изобретение от других систем конфиденциальности, - это повышение неоднозначности (EQAU) или увеличение условной энтропии. Логически, если НE(К) и НE(М) криптосистемы могут периодически и постоянно возрастать в точке “идеальной конфиденциальности” между циклами шифрования быстрее, чем они истощаются из-за криптоанализа, то такая система сможет поддерживать гарантию своей “стойкости/неразрешимости” бесконечно долго, так как достижение точки единства (равной log 0 = 1) неоднозначностью ключа HE(K), и, следовательно, неоднозначностью сообщения HE(M) будет эффективно предотвращается. Отметим, что это также основополагающий принцип в основе безопасности одноразового кода, поскольку энтропия ключа легко достижима (с использованием одноразового кода) и при необходимости добавляется, гарантируя, что НE(К) и НE(М) никогда не достигнут точки единства (равной log 0 = 1), но непрерывно дополняются новой энтропией ключа Н(К).

[0062] Большинство систем динамического шифрования пытаются увеличить энтропию системы, полагаясь на механизм предоставления новых ключей для криптосистемы и эффективную замену старых ключей новыми. Однако, одного этого недостаточно для того, чтобы избежать ситуацию, когда неоднозначность системного ключа в конце концов достигает log 0 = 1, а система скомпрометирована. Как мы увидим, с помощью EQAU “потерянные” или ликвидированные допустимые ключи (неоднозначность ключа утеряна) из исходного набора энтропии ключей должны быть пополнены как можно скорее. Предполагается, что этого невозможно достичь, если ограничиться использованием ключа конечной известной длины и единственной криптосистемы. Однако мы увидим, что эту “невозможность” можно преодолеть, если использовать случайный ключ конечной и неизвестной длины с неизвестным значением, дополнительную независимую криптосистему, случайную строку бесконечной длины и пул, таблицу или массив динамической энтропии.

[0063] Будем различать понятия энтропии ключа Н(К) и неоднозначности ключа НE(К), которые относятся к ключу К. Н(К) обозначает весь набор всех вероятных ключей К в начале попытки криптоанализа методом полного перебора или размер требующей решения криптографической проблемы (если энтропия системы ограничена энтропией ключа). Неоднозначность ключа НE(К) обозначает уменьшение множества допустимых ключей К (так как они приводят к дешифрованию допустимых сообщений), которые накапливаются во время попытки криптоанализа. HE(К) начинается с того же значения, что и Н(К), но уменьшается по мере исключения ключей.

[0064] Для возможности дополнения НE(К), должно быть увеличено значение НE(К) чтобы на следующем цикле шифрования было доступно большее число ключей. Для “стойкой/неподдающейся дешифрованию” системы конфиденциальности значение НE(К) должно быть, по крайней мере, увеличено и “заново установлено” до своего начального значения Н(К). Начальное значение Н(К) должно быть восстановлено для следующего цикла шифрования. С точки зрения злоумышленника H(К) (или неоднозначность ключа) можно увеличить после каждого шифровального цикла или символа шифртекста: либо постоянно создавая новую независимую энтропию (например, используя одноразовый код), либо применяя математическую операцию к любым значениям остаточного ключа с использованием значений новой независимой энтропии, например, операцию, производящую умножение со сдвинутыми влево или вправо битами, или любую другую математическую операцию, применяемую в генераторах случайных чисел с линейным регистром сдвига (LSFR), для которой все возможные значения ключа шифрования становятся доступными для последующей операции шифрования, следующей за операцией увеличения энтропии. Как мы увидим, изобретение основано на одновременной передаче сообщений и случайных потоков энтропии, которые далее используются для непрерывного и случайного изменения текущего ключа, что фактически увеличивает энтропию ключа H(K), или, с точки зрения злоумышленника, неоднозначность ключа HE(K).

[0065] Что касается возрастания HE(K), скоро станет очевидно, что невозможно использовать единственный ключ K или систему конфиденциальности для шифрования сообщений и новых значений случайной энтропии, передачи зашифрованных сообщений и значений энтропии, а затем использовать новые значения энтропии для увеличения неоднозначности ключа после завершения цикла шифрования, так как передаваемые значения энтропии будут ограничены HE(K) предыдущего цикла шифрования. Чтобы преодолеть эту проблему, необходимо использовать независимый ключ и систему конфиденциальности для независимого шифрования потока случайной энтропии R, используемого для EQAU, перед смешиванием зашифрованного потока энтропии R с сообщением M (или его закодированным шифртекстом) в основной операции шифрования с использованием перестановочного шифра с заданным периодом. Использование такого метода позволяет независимо увеличивать или дополнять HE(K) (фактически, набор остаточных возможных ключей) после каждого цикла шифрования, так как между новыми значениями энтропии R и HE(K) нет зависимости.

[0066] EQAU преследует две основные цели, а именно: (1) увеличить или дополнять теряющуюся при шифровании неоднозначность ключей после каждого цикла шифрования, используя независимый источник энтропии, так что, несмотря на уменьшение злоумышленником количества возможных ключей до известного набора их значений, все возможные ключи становятся доступными для следующего цикла шифрования, и (2) увеличить или дополнять неоднозначность сообщений после каждого цикла шифрования, чтобы количество допустимых сообщений стало больше, чем фактически существующих (путем введения «ложных положительных» сообщений). Отметим, что увеличение неоднозначности сообщения НE(М) естественным образом приводит к увеличению неоднозначности ключа HE(K).

[0067] Проблема с EQAU в том, что процесс увеличения энтропии, который применяет математическую операцию к остаточным значениям с использованием новых значений энтропии, может не всегда приводить к результату, при котором все значения ключей снова становятся доступными. Таким образом, процесс не приводит к восстановлению НE(К) до Н(К) в последующем цикле шифрования. Например, если до криптоанализа энтропия ключа Н(К) для К равна 4 битам или 24 = 16 значениям ключа {1,2,3,..., 16}, а степень неоднозначности ключа НE(К) уменьшается с 4 до 3 битов во время криптоанализа, так что сохраняется 23 = 8 остаточных значений ключа, скажем, {1,3,4,7,9,10,11,16}, может быть недостаточно просто ввести 1 бит или 21 = 2 новых значений энтропии для того, чтобы снова сделать значения всех возможных ключей доступными. Это может произойти, если есть только 2 x 8 = 16 математических результатов, а любое дублирование результатов приведет к отсутствию значения ключа и, таким образом, приведет к неполному увеличению Н(К) или незначительному начальному снижению HE(K) в начале следующего цикла шифрования. Остроту этой проблемы можно снизить с помощью двух известных решений: (1) путем непосредственного увеличения остаточной неоднозначности (в нашем примере - это 3) ключа с большей энтропией (например, 2 или 3 бита вместо 1), или (2) путем получения 4-битных ключей из значений пула с большей энтропией (например, 8 бит) и увеличения остаточной неоднозначности ключа опосредованно, в том смысле, что именно значения пула энтропии подвергаются математической операции.

[0068] Использование пула энтропии или, более конкретно, использование двух или более массивов пула энтропии – предпочтительное решение, так как оно успешно решает “неполное” увеличение условной энтропии и ведет к ограничению времени жизни любой проблемы неоднозначности, которую может пытаться решить злоумышленник, что становится второй причиной, в рамках которой подобная криптосистема становится “стойкой/неподдающейся дешифрованию”. Заметим, что основной целью нашего злоумышленника является перебор всех ключей и сокращение HE(K) и HE(M) до точки, где они достигают единства или log 1 = 0, с единственным уникальным сообщением или ключом, что превращает криптосистему в решенную и таким образом ликвидирует гарантию "стойкости/неразрешимости". Увеличение HE(K) повышает энтропию остаточных ключей между всеми циклами шифрования так, что на РИС. 2 мы видим, что график неоднозначности ключа напоминает повторяющуюся зигзагообразную или пилообразную линию с резким возрастанием и постепенным убыванием.

[0069] Использование особо построенного пула энтропии, который отбрасывает все резидентные значения после определенного числа циклов шифрования, эффективно ограничивает время жизни любого вычисления неоднозначности ключа до этого числа циклов. Рассмотрим использование одного или нескольких пулов энтропии {А,В,С....}, которые состоят из одного или нескольких массивов, таблиц или состояний, в которых могут содержаться значения энтропии таким образом, что любой пул, массив, таблица или состояние {А} считается “активным”, тогда как остальные {В.С...} - “пассивными”. “Активный” массив А (по крайней мере вдвое большего размера, чем у используемого ключа, который может быть переменным) выполняет две функции: (1) значения текущего ключа (ключей) шифрования К выводятся из предопределенных или случайных мест в “активном” массиве до шифрования, например, К = {А[2],А[7],А[6], ...и т.д.}, и (2) после каждого цикла шифрования математическая операция (например, А' = (А[0,1,2...n] * R)+1) применяется к существующим значениям “активного” массива А с использованием новых случайных значений энтропии R, эффективно косвенно увеличивая неоднозначность ключа HE(К) криптосистемы (по крайней мере, с точки зрения злоумышленника), но по сути увеличивая энтропию H(А) в “активном” массиве А. Обратим внимание, что итоговый математический расчет значений существующего “активного” массива с новыми значениями энтропии приведет к “переполнению” буфера значений по отношению к “активному” массиву А. Функция “пассивного” массива В заключается в получении “переполненных” значений из “активного” массива А, пока В не достигнет состояния «заполнен» и переполнит себя. Это переполнение в свою очередь может быть получено “пассивным” массивом С. Но в конечном счете, когда массив В имеет полный набор значений, массивы А и В могут поменяться своими ролями, так что ранее “активный” массив А мог очистить свои значения или содержимое и стать новым “пассивным” массивом, готовым принять “переполнение” из теперь “активного” массива В. Далее массив В выполняет свою “активную” роль в качестве источника для текущих ключей шифрования. Обратим внимание, что сброшенные значения из массива А могут быть переработаны путем возвращения их в локальный генератор случайных чисел или другое место назначения. Частая очистка значений массива представляет для злоумышленника уникальное затруднение с точки зрения неоднозначности ключа, так как она ограничивает время жизни любого вычисления неоднозначности ключа неизвестным, но ограниченным количеством циклов шифрования (обратим внимание, что размер массивов не должен быть известен и может изменяться динамически). Это фактически превращает возросшую неоднозначность ключа в безусловную проблему.

[0070] Как мы увидим на РИС. 2, вполне возможно отправлять обычное текстовое сообщение М и случайное сообщение R одновременно, в рамках одного и того же цикла шифрования и гарантировать, что между отправителем и получателем передается большее количество EQAU энтропии H(R), чем может быть потеряно в HE(K) при шифровании/передаче в этом цикле шифрования. Обратим внимание на РИС. 1, что НE(К) для обычного текстового сообщения M1 снижается из-за процесса шифрования. Это снижение пропорционально величине избыточности в сообщении. Чем выше избыточность, тем больше потери в НE(К). Однако, в случайном (энтропия) сообщении М3 не произошло какого-либо уменьшения неоднозначности ключа НE(К) во время процесса шифрования (поскольку оно не было избыточным).

[0071] Шэннон утверждал, что неоднозначность сообщения НE(М) системы с произведением S = TR, где Т и R - это две независимые системы конфиденциальности, не меньше чем для одного R. Системы с произведением по своей сути являются системами супер шифрования, так как они подразумевают шифрование двумя независимыми системами конфиденциальности и обладают уникальным свойством НE(К). Сообщение шифруется дважды, с двумя независимыми шифрами XOR, каждый из которых использует отдельный ключ K1 и К2 с энтропией Н(К1) и Н(К2) до тех пор, пока сообщение не утрачивает HE(K2) с K2 во время второго шифрования XOR. Это определяется тривиально. Рассмотрим два ключа К1 и К2, имеющие значение от 1 до 10 таким образом, что К1=4 и К2=6. К1 и К2 используются для шифрования сообщения М с помощью XOR. Это сообщение может иметь любое из двух значений набора {1,2}. Предположим, что М = 2. Итоговый шифртекст предполагает, что С = (М+K1)+К2) mod 10 = 2+4+6 mod 10 = 12 mod 10 = 2. Так как С = М + (K1 + К2), К1 и К2 сводятся к 1 или 0. Имеется 2 x 10 = 20 возможных комбинаций К1 и К2, которые сводятся к 1 или 0. Поскольку существует два возможных ключа К1, если К1 рассматривается отдельно, то К2 не теряет неоднозначности. Обратим внимание, что это правило в равной степени применимо, даже когда M - это известное простое текстовое сообщение, объединенное с К1 и К2 по XOR. Так как злоумышленник знает М, он также будет знать, каким должно быть модульное дополнение К1 и К2. Но у него нет способа вычислить, какая из 1 * 10 = 10 возможных комбинаций К1/К2 была использована. Это правило в равной степени применимо, когда используются XOR и перестановка: теряется только действующий НE(К) у первого ключа шифрования XOR, но не у других ключей или шифров.

[0072] На данном этапе очевидно, что НE(К) и НE(М) - это значения, представляющие особый интерес для злоумышленника, так как они отражают предсказуемую эффективную скорость успеха любой попытки криптоанализа. Они также указывают длину шифртекста, необходимую для решения проблемы шифрования. Шифртексты, которые короче “расстояния единственности”, с более высокой вероятностью будут “стойкими неподдающимися к дешифрованию”. Таким образом, они вряд ли будут подвергнуты дешифрованию методом полного перебора, поскольку требуемые усилия для вычислений могут не дать результатов (два или более вероятных сообщения), а “нестойкие/поддающиеся к дешифрованию” шифры легче обосновать с позиции стоимости ресурсов. Тем не менее, можно предположить, что злоумышленник с QC/AI (Квантовые Вычисления / Искуственный Интеллект) будет атаковать любые или все шифры, вне зависимости от того, являются ли они “стойкими/неподдающимися дешифрованию” или “нестойкими/поддающимися дешифрованию”, так как даже набор остаточных вероятных сообщений может быть дополнительно сокращен после применения альтернативных логических средств или появления новых метаданных. Именно в контексте этой очень существенной угрозы мы и рассмотрим практическую реализацию повышения неоднозначности ключей и сообщений.

[0073] Самый простой вариант реализации изобретения, показанный на РИС. 2, подразумевает использование повторяющегося цикла шифрования из двух символов, который состоит из двух независимых криптосистем S и Т так, что S производит XOR шифрование символа сообщения М[0] с помощью 8-битного ключа KS, а Т производит XOR шифрование случайного символа R[0] с 8-битным ключом КT. Между каждым циклом значения R могут быть использованы для увеличения пула энтропии, из которого получен KS. Отметим, что КT никогда не увеличивается для поддержания своей независимости. Проблема подобной реализации в том, что она предлагает ограниченную защиту от известного незашифрованного текста М в отношении KS, так как знание KS позволяет вывести неоднозначность пула энтропии. Даже при периодическом сбросе пула энтропии неизбежно некоторое уменьшение в НET) между сбросами. Поэтому этот вариант реализации гарантирует “стойкость/неразрешимость” только в течение ограниченного периода времени при известном нешифрованном тексте. Основная проблема заключается в том, что R не защищен от сокращений в неоднозначности ключа пула энтропии, если только он не был зашифрован дважды и хотя бы с одним XOR. Для того чтобы EQAU была жизнеспособной, должно быть невозможно получить ключ криптосистемы в тех шифрах, где злоумышленник осведомлен о сообщении, которое зашифровано.

[0074] На РИС. 2 показан график неоднозначности для базового варианта воплощения изобретения, в котором EQAU применяется к НE(К) с помощью использования иерархии шифрования, при которой шифрование происходит в циклах шифрования с использованием ключа К, который получен из нескольких значений динамически измененного пула энтропии. В этом воплощении локальный PRNG используется для порождения случайной строки R. Ее ключ шифрования защищен от криптоанализа с помощью двух последующих XOR шифрований. Продемонстрируем итоговую неоднозначность НE(К) для ключа, НE(М) для сообщения и HE(R) для случайной строки в течение трех циклов шифрования 201,202 и 203, в каждом из которых по 4 байта. Ключ К, состоящий из 48 битов, извлекается из разных ячеек пула энтропии и делится на К1 (32 бита) 204 и К2 (16 бит) 205. Шифрование является иерархическим в том смысле, что каждый цикл шифрования состоит из первичного 206 и вторичного 207 этапов шифрования. В первом цикле шифрования К2 используется во вторичном XOR-шифровании 207 двух случайных символов сообщения R[0] и R[1]. Результатом шифрования является шифртекст CR[0] и CR[1]. К1 используется в первичном шифровании XOR 206 двух символов сообщения М [0] и М [1] и шифртекста CR[0] и CR[1]. Результатом этого шифрования являются четыре символа шифртекста С: {C[0], C[1], C[2], C[3]}. Отметим, что R [0] и R [1] используются в двух XOR шифрованиях (по одному на каждом уровне иерархии).

[0075] В начале цикла шифрования, обозначенного точкой 208, энтропия Н(М) и неоднозначность НE(М) сообщения равны, и обе начинаются со значения, равного 0. То есть, Н(М) = НE(М) = 0. Аналогично с ключом K1, в точке 209 его энтропия Н(К1), равна его неоднозначности НE(К1). Таким образом, Н(К1) = НE(К1) = 32. Для ключа К2 в точке 210 выполняется равенство Н(К2) = НE(К2) = 16. Так как K = {K1||K2}, в точке 210 выполняется равенство Н(К) = НE(К). В целях демонстрации будем использовать сообщение на английском языке и предположим, что оно содержит 1,3 бита информации на каждые 8 битов. В начале сообщений на английском языке доля информации обычно выше (около 2,4 бит). После приблизительно 30 символов она падает примерно до 1,3. Отметим, что возрастание неоднозначности может быть независимым от количества избыточности в обычном текстовом сообщении. Таким образом, увеличение неоднозначности не подвержено негативному влиянию известных текстовых сообщений. Злоумышленник обладает знаниями о системе и осведомлен, что символы шифртекста С[0] и С[1] относятся к символам M[0] и M[1] сообщения M, и, таким образом, может начертить понижение НE(М) и НE(К1) от точек 208 и 209 соответственно до точки “совершенной конфиденциальности” для сообщений, обозначенных 211 и состоящих из четырех символов. Хотя мы начертили 211 как имеющее значение 24*1,3 = 25,2 = 36,7, 4-буквенных комбинаций для английского языка, как уже упоминалось, в реальности их существует больше. В любом случае, при применении метода полного перебора всех ключей К1 наклон НE(М) отражает скорость, с которой обнаруживаются допустимые последовательности символов, а наклон НE(К1) - скорость для “недопустимых” последовательностей. Эти наклоны зависят от избыточности в языке. Чем больше в нем избыточности, тем ниже значение в точке 211. После двух М символов НE (М) = 2,6 в точке 212 и НE(К1) = 18,6 в точке 213. Поэтому Н(К1) стремится к “точке единственности” в точке 214, которая будет иметь значение 38,09 бит или 4,76 символа (H(K) / D = 32 / 0,84 = 38,09). Злоумышленник также будет знать, что шифртекст С[2] и С[3] – это зашифрованные с помощью XOR CR[0] и CR [1], а итоговый шифртекст из шифрования посредством XOR случайных строковых символов R[0] и R[1]. Поскольку CR [0] и CR [1] не избыточны и, следовательно, не теряют неоднозначность ключа после шифрования, наклон НE(К1) будет изменяться горизонтально с точки 213 до точки 215. Таким образом, неоднозначность R HE(R) будет достроена из точки 213 до совмещения с НE(К1) в новой точке “идеальной конфиденциальности” 215, которая имеет значение 18.6 (16+2.6) битов (равно значению в точке 213). Другими словами, в точке 215 после криптоанализа останется 218,6 ключей, что коррелирует с 218,6 MR (обычными текстовыми||случайными) сообщениями, составленными из 22.6 M обычных текстовых сообщений в объединении с 216 R случайными текстами. Таким образом, видно, что слияние случайных строк, таких как R, с М, понизит среднюю избыточность объединенного сообщения MR для первого цикла шифрования и перенесет “точку единства” из точки 214 в точку 216, где она имеет значение 9,27 или 74,20 бит (32 / ((32-18,2) / 32) = 32/0,43 = 74,20). Отметим, что неоднозначность сообщения НE(М) и неоднозначность ключа НE(К1) значительно увеличились от точки 211 (5,2) до точки 215 (18,6) из-за неоднозначности случайного сообщения R, которая обозначена как HE(R). Чтобы вывести значения R[0] и R[1], злоумышленник должен найти решение как для К1, так и для К2. Кроме того, как мы увидим, даже предварительное знание М или значений R[0] и R[1] не позволяет злоумышленнику найти решения для всех К1 и К2, так как значения и размер пула энтропии неизвестны.

[0076] Как правило, НE(М) всегда возрастает так, чтобы пересечься с нисходящим НE(К), или в нашем случае HE(M+R) возрастает, чтобы пересечься с нисходящим НE(К1). Как только НE(М) совмещается с НE(К), она будет стремиться к снижению до единства (log 0) по мере того, как ранее “допустимые” последовательности символов оказываются “недопустимыми”. Задача изобретения состоит в том, чтобы непрерывно повышать неоднозначность всего ключа НE(К) между циклами шифрования. Поэтому после первого цикла шифрования энтропия или значения R[0] и R[1] используются отправителем и получателем для синхронного увеличения только НE(К1) (К2 всегда независим и не нуждается в увеличении неоднозначности, так как никогда ее не утрачивает), применяя математическую операцию к источнику пула энтропии для К1 (как упомянуто выше) в точке 217, так что теоретически она может увеличить НE(К1) до значения 34,6 (18,6 + 16) в точке 219. Оно превышает исходное значение Н(К1) в точке 209, где оно равно 32. Естественно, если бы ключ К1 имел фиксированную длину, его неоднозначность ключа НE(К1) могла быть повышена только до точки 218, которая равна Н(К1) = 32. Так как НE(К2) не теряет неоднозначность ключа (из-за XOR-шифрования случайной строки), он проходит параллельно НE(К1), переходя от точки 210 к точке 219 и возрастает до точки 220 с последующим увеличением неоднозначности у K1. Таким образом, в начале следующего цикла шифрования в точке 220 общая энтропия ключа К, Н(К) была сброшена до исходного значения в 210, так как все ключи снова стали доступными. Отметим также, что увеличение энтропии в пуле энтропии или источника, из которого получен К1 с использованием R[0] и R[1], увеличивает неоднозначность ключей К1 (делает все ключи доступными), но не повышает и не увеличивает общую неоднозначность сообщения с открытым текстом НE(М) и случайного сообщения HE(R) над точкой 215. По сути, видно, что случайные строки - это одно из средств увеличения неоднозначности сообщений. На следующем графике РИС. 3 демонстрируется другой способ для дополнительного увеличения как НE(М), так и HE(R).

[0077] Обычно если кто-то использует пул энтропии в качестве источника энтропии для получения К1, а также используется фиксированная длина К1, НE(К1), увеличенное значение неоднозначности ключа в точке 218, никогда не может быть больше энтропии ключа Н(К1) и, следовательно, будет равно исходному значению в 209, а НE(К1) и НE(К2) будут фактически сброшены до значений 206 и 207 между каждыми двумя соседними циклами шифрования. Отметим, что НE(К2) останется “пассивным” наблюдателем и не будет терять свою неоднозначность, пока К2 остается независимым и не подвергается увеличению неоднозначности. Таким образом, пула энтропии, источник К1 будет выигрывать от чрезмерного увеличения энтропии после каждого цикла шифрования, но энтропия K1 будет ограничена Н(К1). В отношении неоднозначности НE(М) сообщения М будет продолжать движение вверх от точки 221 (это продолжение точки 212) до тех пор, пока он не пересечется с НE(К1), но никогда не сможет превысить начальную энтропию Н(К1) ключа K1 в точке 209, после чего он будет стремиться по горизонтали к бесконечности таким же образом, как это было обнаружено в случае неоднозначности случайных строк (см. РИС. 1 с конкретной ссылкой на сообщение M[3]). Стоит добавить, что использование пула энтропии для увеличения неоднозначности позволяет увеличить длину K1 и К2, что позволяет H(К1) и, следовательно, Н(К2) превысить их начальные размеры энтропии, например, изменением H(К1+К2) до 12-байтового или 96-битного ключа. Но для этого требуется увеличение цикла шифрования, и по большей части подобные рассуждения носят скорее теоретический характер по двум следующим причинам. Во-первых, пул энтропии сбрасывается после фиксированного числа возрастаний, поэтому увеличение Н(К1+К2) не дает дополнительного “стойкого/неподдающегося дешифрованию” преимущества за счет увеличения числа допустимых сообщений и ключей. Во-вторых, НE(К) и НE(М) не имеют возможности когда-либо достичь log 0 в принципе, даже если используется известное открытое текстовое сообщение, поэтому подобное изменение не повысит уровень безопасности, а просто увеличит “безопасность” уже и так “стойкой” системы. Процесс увеличения неоднозначности ключа затем повторяется многократно, после каждого цикла шифрования, с одним фундаментальным результатом: предотвращается достижения единства величинами НE(М), НE(К1) и НE(К2) за счет их постоянного повышения и отсутствия повторения ключей. Таким образом, гарантированная “стойкая/неподдающаяся к дешифрованию” зона для М и R, обозначенная 222, будет расширяться до бесконечности, поддерживая информационно-теоретическую безопасность, независимо от длины М. Отметим, что в случае фиксированной длины K1 и К2 значения H(K1), H(K1)+ H(K2), и HE(M)+ HE(R), которые обозначены как 229, 230 и 228, будут постоянными и горизонтальными в каждом цикле шифрования.

[0078] В течение многих циклов шифрования по линии с восходящей тенденцией, обозначенной точкой 227, видно, что НE(М) в конце концов сойдется с НE(К1). НE(М) стремится к снижению только в том случае, когда он пересекается с НE(К) и следует за ним по нисходящей тенденции, так как ранее “допустимые” последовательности сообщений становятся “недопустимыми”. С увеличением неоднозначности эта нисходящая тенденция НE(К1) временно изменяется и происходит возврат к исходному значению Н(К1), поэтому любая нисходящая тенденция на НE(М), которая пересекается с НE(К1), может быть только временной. К тому же можно гарантировать, что скорость роста неоднозначности ключа выше, чем скорость снижения НE(К), даже в случае известного обычного текстового сообщения M, где длина R равна или больше, чем длина М в каждом цикле шифрования. Кроме того, дополнительного знания значения случайной строки R недостаточно, чтобы понизить НE(К2) до log 0, так как существует зависимость от НE(К1), а НE(К1) вычисляется из возросшей неоднозначности пула энтропии или непосредственно из неоднозначности изначального ключа К, используемого для заполнения пула энтропии и структуры этого пула в начале операций шифрования.

[0079] Рассмотрим свойства, относящиеся к безопасности, которые требуется обеспечить. Процесс EQAU должен быть эффективным, действенным, и способным восстанавливаться после взлома сообщения и случайной строки. В предыдущем варианте воплощения на РИС. 2 мы должны предположить, что с точки зрения злоумышленника шифртекст сообщения {С1, С2, С5, С6....} легко распознаваем и отличим от случайного шифртекста {СЗ, С4, С7, С8,...}, и существует определенный риск того, что эти независимые шифры могут быть подвергнуты криптоанализу как две независимые системы. Одна из них относится к сообщению M, а другая - к случайной строке R, так что злоумышленник может отдельно вычислить неоднозначность сообщения НE(М), случайную неоднозначность HE(R) и неоднозначность ключа He(K) и таким образом вывести неоднозначность пула энтропии (по сути, неоднозначность начального ключа K и вариацию пула энтропии), снижая тем самым эффективность процесса увеличения энтропии. Риск, упомянутый выше, увеличивается в том случае, когда сообщение M может содержать известный нешифрованный текст (например, заголовки HTML), в котором после криптоанализа первых 4 символов шифртекста, если известны значения сообщений М[0] и М[1], значения для K1[0] и К1[1] будут также известны, и в результате получается HE(M) = HE(K1[0])+ HE(K1[1]) = log 0 = 1.

[0080] Проблема различимого шифртекста (шифртекст сообщения отличается от случайного шифртекста) может быть решена путем использования перестановочного шифра с фиксированнымо периодом, так как строки сообщения M и случайного сообщения R будут неразличимы только лишь от шифртекста, и, следовательно, транспозиция фактически увеличивает НE(М), поскольку теперь существуют дополнительные допустимые (но ложные) расшифровки сообщений, обусловленные случайным каналом. К тому же вторичное XOR (или иное) шифрование сообщения М с использованием дополнительного динамичнески увеличенного и измененного или независимого постоянного ключа решает эту проблему. В самом деле, любая существующая “нестойкая/поддающаяся к дешифрованию” криптосистема может быть использована для этой задачи (хотя ее и можно расценивать, как слишком медленную для реального использования).

[0081] Как уже упоминалось ранее, EQAU может возникать только в том случае, если для передачи случайной энтропии используется отдельный независимый «стойкий/неподдающийся дешифрованию» зашифрованный канал. Это решается с помощью XOR-шифрования случайной строки до ее объединения с сообщением и шифрованием с помощью основной операции XOR и перестановки. Это приведет к тому, что случайное сообщение R будет эффективно подвергаться двум последующим шифрованиям XOR, гарантируя, что только в одном из XOR происходит уменьшение НЕ(К). Даже в случае, когда известен незашифрованный текст, ключи, используемые в двух шифрациях XOR, не могут быть скомпрометированы. И наконец, так как для того, чтобы можно было повысить неоднозначность, требуется иметь некоторый уровень неоднозначности ключа, который непрерывно уменьшается, лучше всего применять процесс повышения неоднозначности в самый ранний возможный момент, а именно в точке «идеальной конфиденциальности», где НЕ(М) достигло своего максимума после завершения цикла шифрования.

[0082] Теперь рассмотрим вторичные применения EQAU для НЕ(М), в частности, способы увеличения числа допустимых и вероятных сообщений, полученных в результате применения метода полного перебора и попытки подбора ключа. При применении метода полного перебора к ключу. При такой атаке на ключ К, любое увеличение числа допустимых сообщений (увеличение наклона НЕ(М)) приведет к равному увеличению количества допустимых ключей (уменьшение наклона НЕ(К)). Таким образом, EQAU для НЕ(К) между циклами шифрования позволяет продолжать увеличение НЕ(М) в следующем цикле, пока он не встретит НЕ(К), тогда как увеличение НЕ(М) в цикле шифрования снижает сокращение НЕ(К) во время этого цикла.

[0083] На РИС. 3 показан график неоднозначности для воплощения изобретения, при котором сообщения и случайные потоки шифруются во вторичном шифровании XOR, а операция перестановки с фиксированным периодом добавляется к первому шагу шифрования XOR, чтобы, в частности, продемонстрировать влияние повышения HE(M). Опять же, мы демонстрируем результирующую неоднозначность ключа HE(K), сообщения HE(M) и случайной строки HE(R) в течении трех циклов шифрования 301, 302 и 303. На каждом цикле порождается 4 символа шифртекста. На каждом шаге шифрования производится конкатенация двух символов сообщения M и двух случайных символов R. Ключ K с энтропией H(K) = 80 битов получается из пула энтропии и разбивается на 3 отдельных ключа {K1,K2,K3} так, что в точке 304 H(K1) = 32 бита, в точке 305 H(K2)= 32 бита, а в точке 306 H(K3) = 16 бит. K3 может быть первоначально получен из пула энтропии, но его неоднозначность впоследствии не повышается. Каждый цикл шифрования состоит из иерархии шифрования, так что шифрование 307 происходит на вторичной стадии шифрования, тогда как 308 и 309 происходит на первичной стадии шифрования. В первом цикле шифрования четырех байтов для создания случайной строки R используется генератор случайных чисел, а K3 используется для XOR шифрования 307 двух случайных символов R, которое порождает CR[0] и CR[1], которые впоследствии объединяются с двумя символами сообщения M: M[0] и M[1]. Результат объединения дважды зашифрован с использованием ключа K1 для XOR 308 и ключа K2 для перестановки периода 4 в точке 309. Порядок шифрования 308 и 309 обычно не имеет значения, но в нашем примере XOR выполняется до перестановки. Эта иерархия шифрования повторяется со всеми последующими циклами шифрования.

[0084] Теперь мы проведем анализ неоднозначности шифра с точки зрения решительного злоумышленника, использующего QC/AI и имеющего доступ к бесконечным вычислительным, временным и логическим ресурсам. Злоумышленник перехватил последовательность шифртекста C={C[0],C[1],C[2],C[3],C[4],C[5],C[6],C[7],C[8],..,C[n]}, где n+1 - длина шифртекста C. Предположим, что он также будет иметь предварительную информацию о методе шифрования конкретного используемого воплощения (цикл шифрования 4 байта, два M и два R), но не знает ключ K, сообщение M или случайную строку R. Позже мы рассмотрим сценарий, в котором злоумышленник уже знает сообщение M или его части. Чтобы выяснить, реализуема ли попытка с использованием метода полного перебора, злоумышленник сначала попытается определить «точку единственности» варианта шифрования. Если шифртекст длиннее, то попытка с полным перебором реализуема. Если короче, то нет смысла использовать полный перебор, поскольку будет несколько допустимых сообщений, и шифрование будет «стойким/неподдающимся дешифрованию».

[0085] До криптоанализа в точке 310 энтропия сообщения H(M) равна его неоднозначности HE(M), и обе равны 0 (отсутствие сообщения является известной величиной). Таким образом, H(M) = HE(M) = 0. Аналогично, для ключа K1 в точке 311 выполняется H(K1) = HE(K1) = 32, для ключа K2 в точке 312 выполняется H(K2) = HE(K2) = 32, а для ключа K3 в точке 313 H(K3) = HE(K3) = 16. Дополнительный ключ K4, имеющий H(K4) = 16, может быть добавлен в качестве средства шифрования сообщения M, и неоднозначность K4 может быть повышена (или может оставаться независимой и недополненной) аналогично K1 и K2. K4 был исключен из РИС. 3, чтобы упростить демонстрацию повышения неоднозначности сообщения. Предположим, что злоумышленник заранее знает, что сообщение M - это сообщение на английском языке, содержащее 1,3 бита информации и 6,7 бита избыточности на каждые 8 бит.

[0086] Ключ K1 используется для первичного или основного шифрования XOR для двух символов M и двух символов R, которое создает шифртекст C[0] и C[1], являющихся зашифроваными по XOR M[0] и M[1]. По отношению к ключу K1 HE(M) поднимается из точки 310 и стремится к точке «совершенной конфиденциальности» 314. Поскольку имеется только два символа сообщения M, HE(M) остановится в точке 315 и будет иметь значение 2,6 бит. Аналогичным образом HE(K1) опускается из точки 311 и стремится к точке «совершенной конфиденциальности» 314, останавливаясь в точке 317 со значением 18,6 бит (2,6 + 16). Проецирование наклона HE(K1) через точку 314 приводит к «точке единственности» 319, со значением 38,2 бит (32/16,25%).

[0087] Как было упомянуто выше, K2 - это 32-битный ключ, используемый в перестановочном шифре с фиксированным периодом. Преимущество перестановки состоит в том, что при перестановке с периодом 4 (над четырьмя символами для шифрования) существует 1*2*3*4 = 24 возможных способа, которыми {C[0],C[1],C[2],C[3]} можно «перемешать» с ключом K2, энтропия которого H(K2) = 32 бита. Поскольку K2 неизвестен, после применения полного перебора к этому ключу возникнут все 24 возможные комбинации «перемешивания». Только одна из них будет правильной. Остальные 23 будут ложно-положительными. Независимо от этого, это приводит к увеличению HE(M) с 2,6 (в точке 315) до 7,12 бит (в точке 316). Следовательно, увеличение HE(M) приводит к увеличению наклона HE(M). Проецирование HE(M) из точки 310 через точку 316 приводит к новой точке «совершенной конфиденциальности» 320. Из-за увеличения HE(M), увеличивается и HE(K1) из точки 317 (18,6 бит) до точки 318 ( 23,12 бит), и это можно определить при проецировании HE(K1) от точки 311 через точку 318 до точки 320 (14,24 бит). Проецировании от точки 311 через точку «совершенной конфиденциальности» 320 образует новую «точку единственности» в 321. Поскольку C[2] и C[3] являются XOR-шифрованием CR[0] и CR[1], которые сами - результат XOR шифрования случайных символов R[0] и R[1], неоднозначность R, HE(R), будет горизонтальной таким образом, что точка 322 будет иметь то же значение, что и 318, а HE(K1)=HE(M)+ HE(R). Следовательно, увеличение количества байтов в цикле шифрования приведет к увеличению значения точки 322, так что при 6 байтах с 720 возможными «допустимыми» комбинациями дешифрования оно составит 13,38 бит (3,9 + 9,48). Тем не менее, и K1 и K2 нужно будет увеличить до 48 бит, а размер K3 должен составлять 24 бита для поддержания 6-байтового цикла шифрования.

[0088] В точке 322 наше сообщение “[M,M,R,R]” содержит 23,12/4 = 5,78 битов информации на каждые 8 битов с избыточностью 2,22 битов или 27,75%. Следовательно, «точка единственности» 323 для сообщения «2M2R» составляет 32/0,2775 = 115,31 бита или 14,41 символов. Таким образом, если бы шифртекст состоял только из 14 символов, сообщение “[M,M,R,R]” было бы в принципе «безопасным/неподдающимся дешифрованию».

[0089] Таким образом, действительные HE(K1) (точки 311, 318 и 322) и HE(M) + HE(R) (точки 310, 316 и 322) являются усреднением неоднозначности по всему “[M,M,R,R]” шифтекста, и это является первым преимуществом применения перестановочного шифра (с использованием ключа K2), который следует за шифрованием XOR с ключом K1. Поэтому, происходит не только уменьшение общей избыточности совмещенного сообщения MR случайной строкой R, но и повышение HE(M) и HE(R) на размер используемого ключа перестановкой, которая следует за XOR. Таким образом, при H(K1) = 32 (для шифрования XOR) и H(K2 )= 32 (для перестановочного шифрования) в точке 324 имеется 255,12 допустимых сообщений MR, что является огромным увеличением по сравнению с 25,2 сообщений с использованием только 4 символов.

[0090] Как показано на РИС. 2, последующая математическая операция EQAU 326 с использованием R[0] и R[1], примененная после первого цикла шифрования к пулу энтропии с целью получения новых ключей для K1 и K2, но не для K3, повысит HE(K) на R дешифрованных значений, так что HE(K1) будет увеличено на R из точки 322 до 326, HE(K1)+HE(K2) будет увеличена из точки 324 до 327, а HE(K1)+HE(K2)+HE(K3) будет увеличена из точки 328 до 329. Поскольку мы ограничили нашу реализацию фиксированными длинами K, увеличение неоднозначности приведет к тому, что HE(K) вернется к исходной энтропии ключевых значений H(K). Как и в воплощении, показанном на РИС. 2, процесс увеличения неоднозначности многократно повторяется с одним основополагающим результатом - HE(M), HE(K) и HE(R) никогда не опустятся до уровня единственности (или log 0). Следовательно, зона гарантии безопасности для М будет расширяться до бесконечности, поддерживая теоретическую безопасность информации независимо от длины М.

[0091] Обычно на практике HE(K1) будет иметь различную скорость упадка с каждым циклом шифрования, но в целом HE(K1) будет усредняться до уровней, указанных в точках 318, 330, 331 и 332. HE(M) будет увеличиваться с каждым циклом шифрования, как обозначено точками 333, 334 и 335. Однако, именно в точках 336 и 337 можно увидеть случай, когда HE(M) совпадает с HE(K1), в новом типе точек «совершенной конфиденциальности» так, что HE(M) следует нисходящей тенденции HE(K1), пока HE(K1) не будет увеличена. В этой точке криптосистема входит в состояние «равновесия неоднозначности», при котором обеспечивается расширение зоны гарантии безопасности 338 до бесконечности. В случае, когда появляется известный открытый текст, HE(M) никогда не опускается ниже точки 322. Действительно, ее нельзя уменьшить ниже любого предыдущего полученного HE(M), поскольку он будет двигаться горизонтально.

[0092] Кроме того, следует отметить, что даже в случае известного открытого текста сообщения M, при использовании XOR и перестановки невозможно получить любой из K3, K2 или R. Если символы M состоят из известного открытого текста, HE(M) будет иметь горизонтальную тенденцию, а HE(K) всегда будет увеличиваться до своего первоначального значения на R и будет следовать горизонтальной тенденции до бесконечности.

[0093] Однако, вариант осуществления шифрования имеет следующие интересные свойства: (a) ключ K не требуется ограничивать конкретной длиной, она может быть неизвестной. Тогда злоумышленник должен будет попробовать все возможные изменения длины ключа, увеличивая общее HE(M), (б) ключ может быть получен как подмножество из пула энтропии с ключом большей длины (например, вращательного ключа, или внутреннего состояния генератора случайных чисел), (в) пул энтропии со временем может сам расширяться, сохраняя при этом циклы шифрования фиксированными по длине, (г) циклы шифрования могут увеличиваться или уменьшаться по длине во время работы (например, динамически изменяться от 4-байтовых циклов до 6-байтовых циклов, насколько позволяет доступный H(K)), (д) само сообщение M может быть зашифровано с помощью XOR (или другого шифра или комбинаций шифров) подобно случайному сообщению R, (е) сообщение M может быть закодировано или подвергнуто перестановке перед шифрованием.

[0094] Простейшее описание изобретения состоит в том, что теоретическая конфиденциальность информации может быть достигнута использовании двух или более независимых криптосистем R и S, каждая из которых использует независимые ключи KR и KS, так что система R производит шифрование случайного потока (требует случайного генератора чисел) и служит в качестве безопасного канала доставки с динамической энтропией (или неопределенностью), который смешивается с сообщением M и впоследствии будет защищен при шифровании с использованием системы S. Поэтому R и M инкапсулированы в S. Отметим, что в идеале KR должен быть всегда независимым от KS и «повышение неоднозначности» не является необходимым для него, так как статический ключ достаточен для обеспечения вечного источника случайной энтропии. Тем не менее, в необязательном порядке KR может быть включен в процесс повышения неоднозначности, если ключи шифрования получены из пула энтропии, но это не рекомендуется.

[0095] Из вариантов воплощения изобретения, описанных на РИС. 2 и РИС. 3, мы можем сделать следующие выводы в отношении EQAU: (a) поскольку HE(K) и HE(M), неоднозначность ключа и сообщения, никогда не достигают единственности или log 0, принцип EQAU фактически гарантирует, что система теоретически безопасна. Она не может быть скомпрометирована с использованием только лишь полного перебора и бесконечного времени, независимо от того, сфокусирована ли атака на шифртексте C, сообщении M или ключе K, (б) даже в случае известного открытого сообщения M, невозможно полностью скомпрометировать весь ключ K благодаря шифрованию (с использованием «двойного XOR») случайного потока R , который является случайной неизвестной последовательностью или сообщением, (в) повторение операции шифрования с использованием того же ключа K и сообщения M с огромной вероятность приведет к созданию другого шифтекста, (г) «совершенная конфиденциальность» не является лучшим достижимым вариантом, поскольку ее можно превзойти несколькими способами, включая использование EQAU, в том, что апостериорные вероятности сообщения можно сделать больше, чем его априорные вероятности. Это очевидно, когда неоднозначность сообщения HE(M) может быть «искусственно» увеличена путем использования перестановки фиксированного периода и использования сообщений со случайными строками. Кроме того, добавления случайных строк могут различаться по длине, что позволяет скрыть настоящую длину сообщения М (а также и длину случайных строк). Это делает вычисление априорной вероятности сообщения нецелесообразным. Отметим, что соотношения между сообщением с открытым текстом и случайным сообщением не обязаны быть фиксированными, они могут быть динамическими. Следовательно, злоумышленник должен учитывать все возможные комбинации сообщений и случайных сообщений. (д) Не требуется ограничивать неоднозначность криптосистемы энтропией ключа. (е) Возможно информационно-теоретически защитить любое сообщение M с помощью ключа K ограниченной длины, независимо от длины сообщения. (ж) Поскольку принцип усиления неоднозначности не основывается на свойстве высокой рабочей нагрузки, шифр обладает быстротой благодаря упрощенному механизму. (з) Упрощенная механическая иерархия гарантирует, что новый метод может быть реализован с маленькими ключами. Ключ длины по крайней мере 80 битов достаточен для обеспечения безопасности. Операции шифрования могут выполняться в области памяти размером 20 байтов. Весь метод может быть реализован с использованием любого основания числовой системы (2,8,16,32,64,128,1024-бит и т. д.), и в общем случае создание индивидуального варианта является тривиальным.

[0096] Любая криптосистема с ключом фиксированной длины K и операциями фиксированного детерминированного шифрования, которые используются для шифрования сообщения M известной длины (длина шифртекста равна длине сообщения), может быть подвергнута анализу неоднозначности злоумышленником после перехвата шифртекста, чтобы определить размер криптографической проблемы, которую необходимо решить. Злоумышленник может затем выбрать атаку на шифр или шифртекст с помощью двух вариантов: либо путем атаки на ключ, либо - на сообщение. Атака на ключ почти всегда использует метод, посредством которого целые разделы ключа будут удалены. При обнаружении ключа с выводом шифрования первого действительного блока (действительного сообщения) ключ может быть впоследствии сверен с последующими блоками. Обычно, если ключ остается допустимым для любого шифртекста после «точки единственности», то с большой вероятностью будет единственные действительное сообщение, и, таким образом, поиск будет прекращен. Однако, на практике обычно подвергается атаке именно сообщение с уменьшенной вероятностью. А известное открытое текстовое сообщение особенно уязвимо. Поскольку все протоколы HTTP и XML имеют предсказуемые заголовки, они представляют собой угрозу безопасности с известным открытым текстом. Использование любого криптографического решения, которое не содержит конкретного доказательства того, что невозможно создать алгоритм «обратной алгебры», который можно использовать для поиска ключа, или сокращенного набора ключей, является криптографически ошибочным с точки зрения проектирования. поскольку он имеет встроенный «бэкдор» и не может считаться стойким.

[0097] Вариант реализации данного изобретения, который показан на рис. 3, и все другие варианты реализации не полагаются на свойство высокой рабочей нагрузки в качестве основы для стойкости, поскольку рабочая нагрузка повышает «безопасность», но не «стойкость» системы. Механизмы шифрования в изобретении относительно ограничены, и используемая криптографическая проблема не основывается на математических предположениях сложности, исключая возможность возникновения «псевдостойких» проблем, которые кажутся трудными, но не обязательно являются таковыми для злоумышленника с необходимыми знаниями. Варианты реализации метода могут быть устойчивы к атаке на известный открытый текст, которая нацелена на получение ключа K. В том случае, если дано известное сообщение M с открытым текстом, например нулевая строка “[0,0,0,… .0]” бесконечной длины, невозможно дешифровать какой-либо из подключей ключа K (304, 305, 306), поскольку даже после определения всех возможностей ключа (вычисление неоднозначности ключа HE(K)), которые могли бы привести к первому зашифрованному блоку, случайная энтропия R[1] и R[2], доступная для увеличения неоднозначности в конце каждого цикла шифрования, превышает число возможных ключей, которые были исключены в этом цикле (поскольку они не дали допустимой расшифровки). Каждый новый цикл шифрования будет представлять по существу те же возможности ключа (326), которые были обнаружены на предыдущем шаге. Криптографическая проблема увеличивается быстрее, чем решается. Она не может быть решена путем атаки на сообщение.

[0098] Кроме того, необязательно, чтобы композиция ключа и структура блока шифрования в реализации должны быть фиксированного типа. Они могут меняться первоначально по длине ключа и механизму шифрования для каждого отдельного сеанса шифрования. Или же они могут динамически изменяться между циклами шифрования. С учетом того, что длина M, R и K необязательно должна быть фиксированной, а злоумышленник намеревается выполнить криптоанализ (атаку) реализации настоящего изобретения, как показано на РИС. 3, первая проблема, которую должен решить злоумышленник - определение длины ключа K (304, 305, 306). Далее ему нужно составить точный блок шифра из символов M и R. Эти проблемы неизбежно ведут к увеличению диапазона вероятностей допустимых сообщений при переборе всех возможностей. Таким образом, увеличивается «действующая» неоднозначность сообщения HE(M), так как присутствуют несколько независимых экземпляров HE(M) в обработке.

[0099] Предположим, что злоумышленнику известны данные о длине ключа и составе текущего варианта реализации изобретения, а эта реализация построена в соответствии с примером на РИС. 3. С добавлением каждого нового символа в сообщении двусмысленность HE(M) в шифре увеличивается. Это увеличение будет продолжаться до тех пор, пока неоднозначность сообщения HE(M) не совпадет с неоднозначностью ключа HE(K) (совершенная конфиденциальность). Поскольку потерянная энтропия K заменяется с большей скоростью, чем потребляется, то даже при использовании блока шифрования фиксированной длины, результатом будет то, что «идеальная конфиденциальность» будет достигаться на каждом цикле шифрования до бесконечности. Это не зависит от длины сообщения. Также всегда будет гарантированная минимальная неоднозначность сообщений (гарантированное количество допустимых сообщений). Конкретная цель настоящего изобретения состоит в том, чтобы при понимании эффектов увеличения и уменьшения неоднозначности можно было эффективно создавать криптографические конфигурации длины ключа, размера каналов случайной энтропии и других характеристик. Это поможет вычислить число допустимых остаточных сообщений и ключей, получаемых из криптоанализа результирующего шифртекста. Таким образом, криптографически оба вектора атаки на шифр нереализуемы. Они не приводят к уникальному допустимому и вероятному сообщению. Хотя, может быть, атаки побочного канала на шифр возможны, данная проблема может быть решена с помощью использования нескольких потоков.

[0100] Существует несколько предостережений, которые необходимо учитывать при практической реализации «увеличения неоднозначности». (а) добавление случайных строк (используемых для увеличения неоднозначности) к сообщениям приведет к увеличению начальной длины сообщения до 100%. Однако, это цена, которую нужно заплатить за бесконечное «стойкое/неподдающееся дешифрованию» шифрование. (б) для повышения неоднозначности требуется упорядоченная последовательность шифртекста, что делает его уязвимым к пропаданию пакета или ошибке передачи в процессе связи. Исправление ошибок и восстановление может выполняться дешифрующей стороной в отношении конкретного используемого приложения или сетевого протокола. С протоколом TCP/IP восстановление может, например, включать повторную передачу ошибочных пакетов. (в) процесс, используемый для увеличения неоднозначности передаваемой информации об энтропии/неоднозначности в предыдущих пакетах, делает ее уязвимой для распространения ошибок. Распространение и исправление ошибок может быть обработано аналогичным образом, как обозначено в предыдущем пункте – протоколом связи, используемым приложением. Или же оно может быть решено с помощью использования одного или нескольких каналов или потоков управляющей информации, которые могут быть добавлены в основной процесс шифрования. Управляющая информация может включать контрольные суммы пакетов или сообщений или информацию для аутентификации и проверки сообщений. При обнаружении недопустимых форматов сообщений, эти сообщения могут быть переданы повторно. (г) Для создания истинно случайных последовательностей предпочтителен «истинно случайный» информационно-теоретически безопасный генератор случайных чисел. Существующие «стандартные в отрасли» генераторы псевдослучайных чисел (PRNG) не соответствуют задаче, так как они используют детерминированную предсказуемую механику. Они также подвержены проблеме неоднозначности ключа, которая делает криптографические системы «нестойкими/поддающимися к дешифрованию». Таким образом, показано применение увеличения неоднозначности для новых и существующих PRNG как средство изменения их детерминированной механики вероятностным стохастическим образом, превращая их в «истинно случайные» и «стойкие/неподдающиеся к дешифрованию». (е) Система шифрования и ключ, используемый для защищенной передачи «изменений» энтропии при увеличении неоднозначности, должен быть независимым от системы и ключа, используемых для шифрования сообщений. И в идеале их неоднозначность не должна увеличиваться. Эта проблема решается путем использования двух или более независимых криптосистем. (ж) Очевидно, что увеличение неоднозначности не может применяться непосредственно к любому предыдущему ключу фиксированной конечной длины, использованному для шифрования, независимо от длительности, так как неоднозначность может быть увеличена, только если все ключи станут возможными в следующем цикле шифрования. Эта проблема решается путем использования пула энтропии в форме очереди, таблицы или массива, которые могут быть использованы для хранения случайных значений и выполнения математических операций над своими значениями или ячейками в пуле.

[0101] Увеличение размера сообщения оправдано с учетом повышения пропускной способности связи, и поскольку это является необходимым «штрафом», подлежащим уплате за «стойкое/неподдающееся дешифрованию» шифрование. Отметим, что для одноразового кода этот штраф должен быть оплачен заранее. Кроме того, есть угроза расширения сообщения (а не его фактически используемой части). Это дает криптографическое преимущество, поскольку, не зная фактической длины сообщения, злоумышленник должен расширить свои варианты поиска, чтобы включить все комбинации блоков сообщения (открытый/случайный/другой). Это неизбежно приводит к искусственному увеличению неоднозначности общей системы HE(S), логарифму всех возможных комбинаций сообщения/случайного текста. Введение управляющей информации или множества последовательностей сообщений и случайных последовательностей в криптосистему еще больше увеличивает HE(S). Увеличение HE(S) в свою очередь обычно влечет за собой эквивалентное увеличение HE(K) и HE(M).

[0102] Текущие «криптографически стойкие» PRNG имеют тенденцию быть детерминированными в работе и в равной степени восприимчивы к эффектам неоднозначности ключей и сообщений. Таким образом, они не являются информационно-теоретически защищенными, так как они «нестойкие/поддающиеся дешифрованию» за пределами определенной длины случайного вывода. Чтобы быть по-настоящему «криптографически безопасным», энтропия или неоднозначность ключа, потерянные в PRNG в результате операций вывода случайной последовательности, должны заменяться с большей скоростью, чем скорость потери, с использованием вероятностных взаимодействий или внедрения энтропии, тем самым позволяя применить «увеличение неоднозначности» для генераторов случайных чисел.

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

[0104] Нынешняя «отраслевая стандартная» парадигма проектирования криптосистем в значительной степени опирается на принятие стандартов безопасности. Следует отметить, что такая практика является пагубной, поскольку она неизбежно приводят к созданию криптосистем, которые обычно предсказуемы и детерминированы в конструкции и эксплуатации, так что общая энтропия криптосистемы ограничена только энтропией ключа H(K). Это превращает их в идеальных кандидатов для анализа неоднозначности и атак со стороны злоумышленников. Например, директивы дизайна для AES256 по существу гарантируют уникальное дешифрование с английскими сообщениями длиной более 39 байт (или тремя блоками шифртекста). Это делает его «нестойким/поддающимся дешифрованию», но «безопасным» в соответствии с теоретико-информационным определением безопасности. Главная цель изобретения состоит в том, чтобы представить структуру для криптографического дизайна, которая никак не помогает злоумышленнику, а вместо этого способствует использованию бесконечного числа упрощенных вариантов криптографии. Таким образом, структура способствует использованию повышения неоднозначности посредством распространения любой практики, которая увеличивает энтропию системы H(S), включая, помимо прочего, случайные кодовые страницы, ключи переменной длины, переменные криптографические операции, полиморфные шифры.

[0105] Эти и другие характеристики изобретения и рассматриваемого предмета станут очевидными для имеющих знания в области криптографии при рассмотрении описания различных предпочтительных и других альтернативных вариантов реализаций и воплощений изобретения, описанных в данном документе.

Практическая реализация повышения неоднозначности с использованием различных вариантов воплощения.

[0106] Следующие описания вариантов воплощения, некоторые из которых являются предпочтительными, предоставлены для дополнительной иллюстрации, но не ограничивают использование настоящего изобретения и предмета изобретения.

[0107] Теперь мы представим подробные описания различных методов и устройств со ссылкой на прилагаемые чертежи, которые допускают практическую реализацию повышения неоднозначности для различных примерных вариантов воплощения изобретения. Настоящее изобретение основано на базовом принципе, согласно которому криптографическая неоднозначность является свойством криптосистемы, которое может подвергаться активному манипулированию или повышению. Это позволяет использовать структуру или подход для криптографического порождения неограниченного числа вариантов «стойких/ неподдающихся дешифрованию» криптосистем. Поэтому изобретение представляет собой введение совершенно нового измерения в проектирование и анализ криптографических систем. Необходимо понимать, что сфера практического применения принципа увеличения неоднозначности в значительной степени не ограничена, поскольку его можно применять к любому техническому сценарию, в котором потеря энтропии (или потеря неоднозначности после криптоанализа) является нежелательной эксплуатационной характеристикой. Следовательно, проиллюстрированные и изображенные варианты реализации являются только примерами, предназначенными для объяснения принципа настоящего изобретения. Они не предназначены для ограничения сферы применения настоящего изобретения и обсуждаемого предмета и, следовательно, для включения любой реализации, где используется увеличение неоднозначности для получения положительного эффекта, или, когда повышение неоднозначности используется для подтверждения того, что конкретная криптографическая конструкция обладает «стойкими/неподдающимися к дешифрованию» свойствами безопасности.

[0108] Для снижения остроты криптографических проблем, присущих прошлому уровню развития, описаны различные варианты воплощения, включающие в себя системы, методы, устройства и средства, с помощью которых может быть реализовано повышение неоднозначности, такие как: (а) программные, аппаратные и гибридные программно-аппаратные системы криптографической конфиденциальности, которые используются для шифрования и дешифрования сообщений при передаче и в состоянии покоя, (б) генераторы случайных чисел без сохранения состояния и с сохранением состояния, которые производят или генерируют последовательности случайных чисел, (в) системы управления ключами, которые хранят ключи, (г) методы, которые позволяют включать существующие «нестойкие» криптосистемы, обеспечивая любую криптосистему свойством “стойкости/неразрешимости” независимо от того, насколько слабыми криптографическими характеристиками она обладает, (д) централизованные и распределенные системы распределения ключей, (е) иерархические и последовательные конструкции шифрования, такие как блокчейн.

[0109] Была выявлена потребность в отдельных системах, методах, устройствах и средствах решения конкретных криптографических проблем. Она включает в себя необходимость интеграции некоторых или всех упомянутых отдельных систем, методов, устройств и средств таким образом, чтобы допускать повышение неоднозначности, для эффективности достижения целей в области теоретико-информационной безопасности.

[0110] Основное преимущество изобретения и его многочисленных вариантов воплощения состоит в том, что повышение неоднозначности позволяет использовать криптографические возможности и свойства, которые ранее были недоступны, а именно практические и научно проверяемые квантово-безопасные средства шифрования и защиты любой информации с использованием ключа конечной длины, средство генерирования истинно случайных чисел математическим способом и средство наделения любой существующей криптосистемы характеристиками теоретико-информационной конфиденциальности. Таким образом, повышение неоднозначности представляет собой конец дальнейшей разработке «нестойких/поддающихся дешифрованию» практических криптографических решений, которые основаны на допущениях математической сложности. Причина этого заключается в том, что повышение неоднозначности, как правило, применимо к любому криптографическому дизайну, который использует энтропию в качестве средства обеспечения безопасности. Доступность информационного теоретически безопасного канала связи также предлагает жизнеспособную и «стойкую/неподдающуюся дешифрованию» альтернативу существующим «Небезопасным /поддающуюся дешифрованию» системам распространения ключей инфраструктуры открытых ключей. В результате, пользователям, таким как правительства, военные, финансовые учреждения, предприятия, и т.д. могут быть обеспечены самые высокие уровни безопасности и конфиденциальности при защите своих цифровых активов, таких как файлы, данные, сетевые коммуникации на неограниченный срок. Некоторые варианты воплощения дают такие преимущества, как возможность выполнять практически неограниченное количество криптографических функций, таких как одностороннее инициирование связи, шифрование на локальных носителях, шифрование по сети, аутентификация, проверка, цифровая подпись, хеширование, широковещание, автоматическое управление ключами, автокоррекция потоков и другие функции, все из которых используют единую криптографическую систему. Другие признаки и преимущества, которые получены из некоторых вариантов воплощения, станут очевидными после прочтения данной работы.

Отдельные компоненты криптографической системы

[0111] Некоторые варианты воплощения данного изобретения включают (но не ограничиваются этим) использование ряда отдельных компонентов, модулей, способов, систем, устройств и средств, которые сами по себе могут рассматриваться как отдельные изобретения. Отдельные методы, системы, устройства или средства, которые будут обсуждаться, включают в себя: (a) способ реализации повышения неоднозначности в программном обеспечении, предусматривающий шифрование как хранимых, так и пересылаемых данных, (б) устройство для реализации повышения неоднозначности как средство шифрования хранимых и пересылаемых данных, (в) метод реализации повышения неоднозначности в аппаратном устройстве для целей шифрования информации при передаче или хранении, (г) метод реализации повышения неоднозначности в вычислительном устройстве для цели шифрования / дешифрования данных при хранении и пересылке, (д) метод реализации повышения неоднозначности в генераторе случайных чисел с целью генерации последовательностей истинно случайных чисел, (е) метод реализации повышения неоднозначности с использованием любой существующей криптосистемы или криптографического примитива, (ж) метода или системы для централизованного управления и проверки взаимодействующих сущностей (пользователей, машин, ключей, алгоритмов, устройств и т. д.), включая распределение начальных ключей или последовательностей для инициализации безопасных каналов связи между узлами сети, (з) метод или система обмена, распределения и защиты ключей инициализации или последовательностей между сущностями криптосистемы.

[0112] Обоснование криптографических проектных решений на примере реализации на РИС. 4 (возможно, самого простого из вариантов реализации) можно интерпретировать точнее, если предположить, что криптосистема была мишенью для определенного злоумышленника, оснащенного квантовой вычислительной техникой и возможностями логической дедукции искусственного интеллекта (ИИ) – QC/AI угроза. Наилучший подход в области безопасности требует, чтобы предположение о небезопасности преобладало до тех пор, пока не будет ясно и очевидно доказано или установлено научное обоснование безопасности. Поэтому мы должны исходить из того, что любая сложная в вычислительном отношении задача может быть решена почти мгновенно и любые предположения (какими бы невероятными они ни были) всегда должны строиться с учетом наличия преимущества у нападающей стороны.

К сожалению, определение безопасности по Шеннону (а точнее, «секретности») со временем было размыто из абсолютного до относительного определения, где даже “нестойкие/поддающиеся дешифрованию” системы считаются «безопасными». Поэтому мы подтверждаем различие Шеннона между "стойкими/неподдающимися дешифрованию" и "нестойкими/поддающимися дешифрованию" системами засекречивания. Наша цель по безопасности проста и состоит в том, что вне зависимости от длины сообщения, зашифрованного ключом конечной длины, производящего бесконечный по длине зашифрованный текст, который перехвачен и подвергнут криптоанализу (исследованию зашифрованного текста) определенным злоумышленником с неограниченным лимитом времени, вычислительных и логических ресурсов, злоумышленнику всегда должно быть предоставлено более одного вероятного сообщения после полного криптоанализа, чтобы для любого варианта реализации или криптосистемы достигались нужные информационно-теоретические характеристики безопасности и потому систему можно было бы считать "стойкой/неподдающейся дешифрованию".

[0113] На РИС. 4 изображена блок-схема примера реализации метода повышения неоднозначности для динамического шифрования/дешифрования информации при хранении или при передаче. РИС. 4 представляет собой в целом блок-схему, показывающую основной вариант реализации. Схема повышения неоднозначности в этой реализации проиллюстрирована на РИС. 3. Из РИС. 4 отметим, что вариант криптосистемы относительно прост по своей структуре и состоит из следующих компонентов: начального ключа K 401, пула энтропии KP 402, состоящего из активного массива ключей KPA 403 и массива пассивных ключей – KPB 404, основного массива шифрования или блока B1 405 с четырьмя символами, двух вторичных массивов шифрования М1 406 и Р1 407, сообщения M 408, случайной бесконечной последовательности Р 409, сгенерированной генератором случайных чисел N 410. В результате получаем последовательность шифрованного текста 411.

[0114] Принцип шифрования варианта реализации на РИС. 4 может осуществляться в последовательных циклах шифрования, где операции выполняются над любыми входными потоками, будь то сообщения, случайные строки или управляющие данные. Циклы шифрования могут быть представлены в заранее фиксированном составе или определены и видоизменены случайным образом между циклами шифрования, и это изменение может быть передано с использованием управляющих данных. В то время как способ реализации, описанный на РИС. 4, имеет ограниченное число компонентов в рамках фиксированного размещения, данный состав был выбран для демонстрации наиболее простого устройства криптосистемы и во избежание ограничения ее состава. Общая структура изобретения допускает практически неограниченное количество вариантов реализации без ограничений по составу (например по количеству, длине и диапазону используемых значений) исходного ключа K, составу пула энтропии KP, составу пула энтропии массивов ключей, составу первичных и вторичных массивов шифрования, типу и числу используемых операций шифрования/дешифрования, порядка операций шифрования/дешифрования, количества потоков сообщений, в том числе случайных потоков и потоков управления; а также определенного порядка, в котором значения входных и выходных потоков упорядочиваются или обрабатываются.

[0115] В то же время изобретение можно легко отличить от других криптосистем по таким критериям: (а) последовательность случайных значений может иметь свои значения, зашифрованные или преобразованные с использованием шифрования или математического процесса, (б) зашифрованные значения могут быть объединены с любыми сообщениями, нуждающимися в дополнительной безопасности в составе последовательности сообщений, (в) значения и местоположения указанных значений составной последовательности сообщений могут быть преобразованы в зашифрованный текст с использованием шифрования или математического процесса, который позволяет увеличить повышение неоднозначности сообщения (требуется транспозиция), (г) зашифрованный текст может храниться или передаваться, (д) после каждого цикла шифрования случайные значения будут использоваться для преобразования существующего ключа или значений существующего неупорядоченного объединения с использованием шифрования или математического процесса, который позволит увеличить повышение неоднозначности ключа системы таким образом, чтобы увеличить количество ключей, доступных в следующем цикле шифрования, (е) процесс повторяется для каждого цикла шифрования до тех пор, пока все сообщения не будут защищены, (ж) после окончания шифрования текущий ключ или состояние системы могут быть сохранены для последующего использования.

[0116] В случае дешифрования: (а) из исходного синхронизированного ключа и состава системы в рамках каждого цикла шифрования операции шифрования могут выполняться таким образом (могут повлечь за собой изменение последовательности операций, используемых при шифровании), при котором можно извлекать случайную последовательность и другие сообщения из зашифрованного текста (б) до дешифрования следующего цикла шифрования, случайная последовательность применяется и используется точно так же. Это позволяет установить синхронность ключей и состава системы между отправителем и получателем, и таким образом обеспечивают правильную расшифровку зашифрованного текста (результата следующего цикла шифрования) (в) этот процесс повторяется до тех пор, пока не будет получено сообщение целиком (г) после расшифровки текущий ключ или состав системы могут быть сохранены для последующего извлечения.

[0117] Процесс дешифрования фактически влечет за собой обратный процесс используемых операций шифрования, в результате чего сообщение M и случайная строка R создаются в качестве выходных данных. Применение R к ключу (или его исходному неупорядоченному объединению) синхронизирует ключи шифрования отправителя и получателя и таким образом позволяет продолжить следующую операцию.

[0118] Повышение неоднозначности ключа и сообщения начинается с начального секретного ключа K 401, который может иметь переменную длину и состав, а также может быть сгенерирован одним из объектов шифрования и дешифрования. Ключ K можно затем распределять или совместно использовать между объектами связи (отправителем и получателем при защите информации в пути) с использованием защищенного канала связи. Его также можно извлечь из устройства хранения ключей, которое позволяет поддерживать одинаковый состав шифрования любой из сторон в операциях шифрования. Для данных в состоянии покоя одна участвующая сторона может генерировать свой собственный ключ шифрования, а для дешифрования она может получить требуемый ключ из собственного (заранее назначенного) хранилища ключей. Когда данные сохранены, один и тот же элемент выполняет операции шифрования и дешифрования, и распределение ключей не требуется.

[0119] Исходный ключ криптосистемы не обязательно должен быть ключом какой-либо определенной конечной длины. Действительно, это криптографически неверно, так как это представляет злоумышленнику четкую границу криптографической проблемы, которая должна быть решена. Когда же длина используемого ключа неизвестна злоумышленнику, ему приходится в том числе проверять ключи с неправильной длиной, и таким образом увеличивается эффективная секретность решаемой проблемы, так как злоумышленник должен исследовать все возможности, и таким образом, это допускает искусственное увеличение степени секретности сообщения. Например, даже если злоумышленник знает, что максимальный размер ключа составляет 12 символов, использование ключа из 10 символов гарантирует, что нападающий должен оценить пространство сообщений больше на 216, чем необходимо, увеличивая условную энтропию вероятных сообщений на 216. Хотя это не может быть значительным с точки зрения нашего злоумышленника, но это значительно повышает эффективность процесса повышения степени секретности. Таким образом, в то время как используется 12-символьный ключ (128 бит) в показанном варианте на РИС. 4, нет конкретного требования к длине ключа, поскольку неизвестная длина ключа может быть соответствующим образом уменьшена до желаемой длины или добавлена последовательно (с необязательной математической операцией, например, линейное сложение по модулю) к желаемой длине.

[0120] Предположим, что исходный ключ K из 10 символов (120 бит) был распределен или предоставлен в распоряжение сторон и что в текущем варианте осуществления не используется дополнительный модуль управления ключами. Простым решением является добавление первых двух ключевых символов K[1] и K[2], их нужно добавить к концу ключа. Обычно ключи могут быть любой длины, и за пределами 1024 байт, хотя это не обязательно, но злоумышленник должен учитывать такую возможность в том числе. Этот начальный набор ключей из 12 байт может использоваться для передачи сообщения ключа/композиции, которое определяет ключ и композицию, которые будут использоваться для шифрования. Существует бесконечное количество способов сделать это, но определение нового ключа и композиции заранее определенным образом из случайной последовательности и передача {длина первичного блока; длина вторичного блока; длина другого блока; задержка; ключи от K1 до Kn} сразу же с последующим шифрованием текста сообщения является достаточным. Зашифрованный текст также может быть дополнен последовательностью энтропии для изменения исходно сохраненного ключа состояния. Все шифрование происходит, по крайней мере, за двумя операциями XOR и транспозицией, так как энтропия второго ключа не теряется, даже если сообщение известно.

[0121] Безопасность реализации закрепляется или запускается в точке, где исходный ключ K генерируется одной из участвующих сторон. Процесс генерации ключа может происходить заранее определенным образом по запросу получателя или случайным образом по инструкции.

[0122] В порядке выполнения шифрования или дешифрования требуется синхронность ключа и системы или композиция между требуемыми циклами шифрования. Инициализация варианта осуществления изобретения включает две процедуры инициализации или шаги 412 и 413. Шаг 412 влечет за собой процесс, в котором конкретные предопределенные значения K (в нашем примере K[0] и K[1]) используются для заполнения элементов массива ключей K3 414 (в нашем случае K3[0] и K3[1]). K3 будет оставаться независимым ключом на протяжении всей операции реализации и не будет подвергаться никакому процессу повышения неоднозначности. В частности, K3 будет использоваться исключительно для шифрования всех элементов случайной строки R 409 в массиве вторичного шифрования (R1) 407, а в нашем варианте символы случайной строки R[0] и R[1] будут зашифрованы с помощью операции XOR 415 для получения CR[0] и CR[1] 416. Естественно, массив ключей K3 должен быть по крайней мере таким же большим, как вторичный массив шифрования (R1), чтобы предотвратить повторное использование ключа K3 в том же цикле шифрования. Шаг 413 влечет за собой инициализацию неупорядоченного объединения KP 402 посредством конкретных, заранее определенных или выбранных значений ключа K (в нашем случае K[2]...К[n]), которые могут быть извлечены в заданном порядке, и использоваться для заполнения “активного” массива пулов энтропии KPA 403 (в нашем случае, KPA[0]...KPA[n]). Длина KPA может быть переменной и может быть заранее определена или изменена динамически между циклами шифрования. Если выбранная последовательность K инициализации (KI) значений короче длины массива KPA, KI может повторно применяться до тех пор, пока массив KPA не будет полностью заполнен. Любое "переполнение" в буфере массива KPA из-за повторения KI или где KI больше, чем KPA, может использоваться для заполнения “пассивного” пула энтропии KPB 404. Как и KPA, KPB может быть переменной длины и не обязательно иметь размер, аналогичный KPA. Пул энтропии KP может включать в себя любое количество дополнительных массивов «активного» или «пассивного» пула энтропии 418 или может быть несколько таких пулов энтропии. После инициализации K3 и KPA будут полностью заполнены, а KPB будет частично заполнен. Может быть принята дополнительная процедура инициализации, в соответствии с которой сообщение M может быть случайным сообщением, отправленным исключительно в целях увеличения KPA до тех пор, пока KPB не будет полностью заполнен. Естественно, наш злоумышленник не знает о длинах компонентов K, K3, KP, KPA и KPB. Кроме того, первое зашифрованное сообщение M передачи может включать в себя случайную строку, которая используется для последующего определения состава K3, KP, KPA и KPB случайным образом. В качестве альтернативы, эти инструкции могут быть отправлены с помощью управляющей информации по каналу, предоставленному специально для этой цели.

[0123] Когда не требуется сохранять “гарантию безопасности”, ключ неизвестной длины может использоваться повторно {K1,K2,K3,K4,K1,K2,K3,K4......} для предопределенной длины, и использоваться циклически. Это гарантирует, что злоумышленнику придется пытаться подобрать различные длины ключей, а не только значения ключей этих длин, что приводит к повышению общей неоднозначности ключа и сообщения для перехваченного зашифрованного текста, такое увеличение является логарифмом общего числа криптографических вариантов, которые должны быть решены. Кроме того, изменения в криптографической структуре могут быть введены заранее определенным образом или изменены между циклами шифрования, так что состав криптосистемы может быть динамически морфным и отличаться в каждом цикле шифрования. Кроме того, ключ неизвестной длины может быть разделен на два отдельных ключа и расширен. Таким образом, может использоваться случайный поток для определения или изменения любой характеристики криптосистемы (длины ключей, значения ключей, начальные значения, пулы энтропии, байты сообщений, случайные байты, переменные, операции шифрования, таблицы и т.д.) бесконечным количеством способов, повышая не только неоднозначность ключа и сообщения, но и неоднозначность композиции системы.

[0124] После инициализации независимый ключ K3 414 будет заполнен, и один из массивов неупорядоченного объединения (KPA, KPB или другой) будет полностью заполнен и будет обозначен как “активный”. По крайней мере, один массив неупорядоченного объединения будет обозначен как “активный”, а другой – как “пассивный” в любой момент времени. “Активное” обозначение перейдет к последнему, полностью заполненному массиву пулов энтропии. При повторном заполнении “активному” массиву пулов энтропии будет присвоено “пассивное” обозначение, и его содержимое будет очищено или удалено 419, или сохранено и повторно использовано 420 в другом месте в качестве источника энтропии. В качестве альтернативы, массивы пулов энтропии могут быть построены как циклические очереди или таблицы. Важность «активного» обозначения массива пулов энтропии обусловлена в первую очередь двумя причинами: (а) «активный» массив обозначается как источник любых требуемых ключей шифрования, (б) массив является «активным» для операций, связанных с неоднозначностью ключей.

[0125] В нашей реализации мы видим, что значения ключей являются полученными из конкретных значений, таких как KPA[1] и KPA[2] определяющих состав ключей К4 421 и используется для шифрования сообщения последовательности M[0,1] в массиве вторичного шифрования М1 406 с помощью операции XOR 422 для получения шифртекста последовательности CM[0,1] 423. Отметим, что шифрование сообщения M с помощью K4 было исключено из схемы неоднозначности, изображенной на РИС. 3, и представляет собой дополнительный вклад в обеспечение безопасности. Аналогичным образом, KPA[4,5,6,7] определяет значение ключа K1[0,1,2,3] 424, в то время как KPA[8,9,10,11] обозначает значение ключа K2[0,1,2,3] 425. Конкретные определенные значения или местоположения могут быть предопределены или случайным образом изменены с каждым циклом шифрования с использованием сообщений управляющей информации 431. Отметим, что 431 может иметь любую длину, но не включается в основной блок шифрования операции шифрования с использованием K1 и K2, для того чтобы сохранить демонстрацию этого варианта как можно более простым. Если это требуется, длина K1 и K2 может быть увеличена соответственно, и это может потребовать увеличения длины в KPA или использования нескольких массивов пулов энтропии или, как вариант, можно использовать комбинацию значений массива пулов энтропии (например, XOR или преобразование 2 или более значений для получения значения ключа).

[0126] Ключ К1 служит для применения операции шифрования XOR 426 на составные сообщение/случайная последовательность зашифрованного текста (влекущих CM[0,1] и CR[0,1]) 427 для создания зашифрованной текстовой последовательности СХ[0,1,2,3] 429, а ключ К2 используется для того, чтобы впоследствии применить перестановку на фиксированное преобразование периода 4 428 зашифрованной текстовой последовательности СХ[0,1,2,3], для создания шифртекста последовательности С[0,1,2,3] 411, которая впоследствии добавляется в выходной буфер и передаются либо сохраняются локально, если шифруются данные в локальном хранилище. Дополнительные ключи и типы шифров могут быть добавлены во вторичные или основные блоки шифрования, и их последовательность может быть изменена.
Естественно, любые операции расшифровки должны быть синхронизированы соответствующим образом.

[0127] В первичном блоке шифрования каждый входной символ, зашифрованный по XOR вторичными блоками шифрования, должен подвергаться процессу шифрования, который влияет как на значение, так и на местоположение этого символа. Для этой цели может использоваться любая комбинация шифров или перестановок, но достаточно перестановки и XOR на фиксированный период. Можно использовать дополнительные преобразования шифрования, но это нежелательно, поскольку дополнительная сложность обычно приводит к снижению производительности. Дополнительные контрольные сообщения также могут быть использованы или добавлены к вторичным блокам шифрования XOR, в результате чего такие шифры получат уровень защиты "стойкий/неподдающийся дешифрованию" для всех вариантов. С точки зрения передачи, любой зашифрованный текст, произведенный с помощью изобретения, может быть добавлен к любому существующему зашифрованному тексту в буфере перед повторным шифрованием или перед передачей принимающему объекту.

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

[0129] Самое главное, что в каждой реализации после каждого цикла шифрования случайные значения R (в нашем примере R[0,1] 432), используются для изменения значений в “активном” массиве пулов энтропии с использованием математической операции 433, которая допускает все возможные комбинации на выходе ключа K (увеличивая таким образом неоднозначность ключа). Обратите внимание, что текущие значения R не должны применяться немедленно и последовательно, но некоторые значения R должны применяться после каждого цикла шифрования. Простой пример такой операции, а их много, заключается в том, что текущие значения KPA[0,1,2,..., n] умножаются на значения R[0,1], результат имеет длину KPA[n+2]. Значения KPA[0] и KPA[n+2] могут затем использоваться для заполнения двух элементов массива или местоположений любых других «пассивных» массивов энтропии KP с каждым циклом шифрования, пока эти массивы пулов энтропии не переполнятся, вызывая «активное» взаимное переключение между массивами пулов энтропии. После вышеуказанной математической операции, остальные местоположения массива KPA могут быть повернуты циклическим образом, или их местоположение может быть перемещено вниз на одно место, так что KPA[1,….,n+1] перемещается в KPA[0,…,n]. Если в любой момент пассивный массив полностью заполнен, он становится активным, и существующие значения ранее активного массива могут быть удалены немедленно или после определенного числа циклов шифрования. Математическая операция 433 может распространяться на несколько массивов пулов энтропии, или несколько математических операций могут быть применены к одному массиву пулов энтропии, или может использоваться комбинация обеих возможностей. Следует отметить, что в некоторых вариантах осуществления пулы энтропии могут быть реализованы как различные альтернативные структуры, способные хранить случайные значения и позволяющие выполнять над ними математические операции. Такие структуры включают, но не ограничиваются таблицами энтропии, очередями энтропии, циклическими очередями.

[0130] Специфической задачей изобретения является то, что энтропия существующих ключей должна быть увеличена, а не заменена новой ключевой энтропией. Повторная инициализация ключей является дорогостоящим и неэффективным механизмом, который необходим только в тех случаях, когда система не имеет теоретико-информационной безопасности. Энтропию и, следовательно, повышение неоднозначности легко понять. Неоднозначность – это простое логарифмическое представление жизнеспособных ключей или сообщений, которые остаются после рассмотрения всех возможностей. Предположим, что 16-разрядный ключ применяется к символу сообщения открытого текста и символу случайного сообщения. После криптоанализа, 216 вариантов ключа (65536) будут уменьшены до 29.3 (21.3 * 28) = 630 вариантов ключа и сообщения, состоящих не более чем из 2,4 символов сообщения с 256 возможными случайными символами. В этой реализации изобретения, случайное сообщение, в данном случае 28 ключей (256 вариантов), может быть использовано для увеличения уменьшенных возможностей ключа для следующего шифрования, путем вычитания одного бита из старого значения ключа, если оно четное, и добавления старшего бита, если оно нечетное, и умножения результата на новое значение ключа. В результате получаем 217.3 (161368) подходящих вариантов, или 2.4 раза, когда ключи необходимы. Таким образом, даже если 630 ключей были специально известны и предоставлены, применяя тест на надежность и умножение по модулю на 65536, используя оба ключа в качестве входных данных, это не позволяет злоумышленнику определить точные значения нового или старого ключа. Это справедливо, даже если ключ является единственным уникальным допустимым ключом/сообщением, как в случае с известным открытым текстом. И такова природа математической операции, примененной на шаге 360 для повышения неоднозначности системного ключа K из нашего примера на РИС. 3. 120-битный ключ увеличивается на 1, если четный, и делается нечетным, и умножается на значения R1 и R2. Операция, предусмотренная на шаге 361, в которой принцип повышения неоднозначности может быть применен к генераторам случайных чисел, может быть выполнена путем сложения всех значений нового ключа и отправки их в виде суммы, которая используется в генераторе случайных чисел N с помощью аналогичной процедуры.

[0131] В альтернативном варианте реализации изобретения, процесс повышения неоднозначности ключа может быть выполнен посредством шифрования XOR существующего ключа с новыми значениями ключа и применения операции линейного сложения над значениями нового ключа. Есть несколько способов, которыми можно взять два значения и гарантировать, что все возможные значения могут снова быть доступны после операции, а именно, что секретность ключа может быть увеличена до первоначально высокого значения. В другом варианте реализации изобретения любая остаточная энтропия после процесса увеличения секретности, может быть помещена в пул энтропии для создания совершенно нового ключа. Однако в другом варианте реализации изобретения, существующий ключ может быть частью циклического ключа, и после операции неоднозначность ключа просто расширяется внутри циклического ключа новыми значениями.

[0132] Некоторые варианты реализации настоящего изобретения включают, но не ограничиваются использованием комбинации шифров или алгоритмов шифрования, которые происходят иерархическим образом. Таким образом, шифрование может выполняться на различных первичных, вторичных, третичных и т.д. уровнях иерархии. Каждый уровень иерархии шифрования может включать несколько операций шифрования на одних и тех же входящих данных или несколько независимых операций шифрования на отдельных входящих данных. Входящие данные для каждого уровня шифрования могут состоять из одного или нескольких потоков сообщений или сообщений, одного или нескольких случайных потоков или строк, управляющей информации или других криптографических компонентов или примитивов, таких как ключи, цифровые подписи, хеши, коды аутентификации сообщений, коды исправления ошибок или переменные, используемые для изменения механики криптосистемы. Входящие данные могут также включать полученный зашифрованный текст от предыдущих уровней шифрования или независимых криптосистем. Основной принцип представленного изобретения и его назначение заключаются в том, что случайно сгенерированные строки вставляются на более низких уровнях шифрования, смешиваются и шифруются с сообщениями, а затем используются для увеличения или восстановления любой потерянной неоднозначности ключа в предыдущем цикле.

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

[0134] Иерархическая конструкция структуры изобретения допускает бесконечное число уровней шифрования, каждый из которых поддерживается подключом K. В некоторых реализациях может использоваться любое количество ключей от альтернативных источников ключа, например, ключ K4 может быть предоставлен независимо удостоверяющим органом или предоставлен в двух или более частях из независимых ключевых источников. В некоторых реализациях может быть возможным, чтобы несколько независимых сторон шифровали и защищали записи в блокчейне "стойким/неподдающимся дешифрованию" способом, используя последовательность бесконечных уровней шифрования аналогичной конструкции первичного уровня шифрования (используя XOR и транспозицию). Эта возможность использовать несколько ключей на одном уровне шифрования рассматривается с ключами K1 и K2, таким образом, любая запись в блокчейне может быть зашифрована двумя отдельными сторонами или может быть зашифрована с использованием шифрования и ключа аутентификации. В качестве альтернативы, в некоторых реализациях ключи, коды аутентификации или другая криптографически значимая информация могут использоваться как ключ K (или его подключи), как случайная строка или как часть сообщения.

[0135] В некоторых реализациях изобретения, при условии, что существует первичный уровень шифрования, случайные входящие данные и связанные с ними ключи K (и, таким образом, пулы энтропии) достаточно велики, может быть реализовано любое количество вторичных шифров, поддерживающих любое количество множественных или мультиплексированных каналов связи. Кроме того, что касается вторичного блока шифрования M1 406, то в некоторых вариантах этот этап шифрования может выполняться отдельно с использованием любой существующей криптосистемы или шифратора и его выходные данные обрабатываются первичным блоком шифрования B1 405. Это позволяет использовать практические способы реализации, которые позволяют обеспечить защиту любых существующих "нестойких/поддающихся дешифрованию" систем в рамках "стойкого/неподдающегося дешифрованию" решения. Однако это будет неэффективно, поскольку для этой цели достаточно XOR. В качестве альтернативы, в некоторых вариантах M1 406 или специально разработанного блока вторичного шифрования могут использоваться в качестве "стойкого/неподдающегося дешифрованию" канала для передачи любых дополнительных ключей аутентификации и ключей шифрования или информации. В любом варианте реализации, уровень или блок вторичного шифрования управляющей информации может использоваться для передачи сообщений аутентификации, проверки подлинности сообщения, аутентификации пользователя, цифровых подписей, исправления ошибок и обнаружения ошибок при условии, что ключи к такому блоку шифрования управляются независимо (несамостоятельность гарантирует увеличение потери неоднозначности). Таким образом, изобретение позволяет осуществлять аутентифицированное шифрование с использованием блоков управления.

[0136] Например, в некоторых реализациях, шифрование входных данных может вызывать открытый текст сообщения M, случайное сообщение R, ключ K (включая независимые подключи, используемые для шифрования R), необязательный заголовок H, открытый текст, защищенный проверкой аутентификации и блок управления CTL, содержащий тег аутентификации или код проверки подлинности сообщения MAC, получившийся в зашифрованном тексте С. В качестве альтернативы, блок управления CTL может включать заголовок сообщения H, и в результате может включать в себя MAC. Блок CTL должен быть независимо зашифрован (для предотвращения коллизий) на вторичном уровне шифрования, как обозначено элементом массива CTL[0] 431 внутри первичного блока шифрования 405, показанном на РИС. 4. Обратите внимание, что блок CTL может быть любого размера, и ключи K никогда не должны использоваться повторно в рамках любого отдельного шифрования. Дешифрование подразумевает использование зашифрованного текста C, набора ключей K, аутентификации MAC и дополнительно, но необязательно, заголовка с выводом тела сообщения M, случайного сообщения R или выводом ошибки, если аутентификация MAC не коррелирует с заголовком H или зашифрованным текстом C.

Кроме того, в некоторых вариантах реализации, любая существующая криптографическая конструкция или примитив могут быть защищены "стойким/неподдающимся дешифрованию" способом – просто путем передачи информации открытого текста или зашифрованного текста в качестве входного сообщения M 408 (хотя MAC-и все еще должны быть независимо зашифрованы).

[0137] Во всех вариантах реализации, генератор псевдослучайных чисел (ГПСЧ) N 410 используется для получения требуемых случайных последовательностей R 409, что является необходимым для надлежащего функционирования любого варианта реализации. С N всегда следует проявлять крайнюю осторожность, поскольку он должен быть независимым от потока сообщений, и, хотя существующие ГПСЧ (генераторы псевдослучайных чисел) могут использоваться, существует проблема, которую сначала необходимо решить. В общем, трудно, если не невозможно, получить действительно случайные последовательности чисел, используя один ГПСЧ детерминированной механики без какой-либо формы вероятностного случайного вмешательства. Именно это вероятностное случайное вмешательство отделяет истинно-случайные от псевдослучайных генераторов чисел (ГПСЧ). ГПСЧ в равной степени подвержены распаду энтропии или потере неоднозначности начального ключа, и поэтому без какой-либо формы повышения неоднозначности ключа, как предусмотрено изобретением, их ключевая секретность HE(K) гарантированно достигает единицы (log 0 = 1) в какой-то момент их случайного вывода относительно шифрования сообщения. Обратите внимание, что мы должны предположить, что наш злоумышленник будет пытаться использовать все возможные варианты ввода начального ключа любого ГПСЧ и удалять начальные ключи, которые не приводят к правильному дешифрованию. В поиске, когда «положительная» корректная последовательность найдена, она будет развиваться, пока она не превысит «точку единственности». Любая расшифровка, действительная дольше, чем «точка единственности», преждевременно завершает поиск, так как это, по большой вероятности, единственное корректное расшифрованное сообщение и ключ, и шифрование будет "нестойким/поддающимся дешифрованию".

[0138] Некоторые модификации изобретения позволяют создавать «стойкие», или «неподдающиеся дешифрованию» ГПСЧ, периодически увеличивая первичный ключ неоднозначности любого из утерянных исходных ключей в генераторе. Отметим, что повторное присвоение начального значения ГПСЧ позволит изменить первичный ключ неоднозначности на выходе только в том случае, если первичный ключ был передан по автономному закрытому каналу. РИС. 4 показывает, что используемый пул энтропии, а именно KP 418, отвечает критериям ГПСЧ с характеристиками безопасности "стойкий/неподдающийся дешифрованию", поскольку первичный ключ неоднозначности в нем увеличивается с каждым циклом шифрования. Кроме того, шифровальный компонент реализации (а точнее, ключи шифрования, входные и выходные значения) можно рассматривать как отдельный вид "стойких/неподдающихся дешифрованию" ГПСЧ. Наряду с пулом энтропии, процесс работы ГПСЧ включает применение математической операции к активному массиву KPA 403 при помощи случайной строки R 432 и создания последовательности случайных чисел K1 424, K2 425, в некоторых случаях, K4 421, и, периодически, дополнительной выходной энтропии 420. В случае самого изобретения, входные значения K1 424, K2 425, K3 414 и, в некоторых случаях, K4 421 используются, чтобы зашифровать другой набор входных значений M и R и создать зашифрованный текст C 411. В обоих случаях текущий набор значений зависит от другого, случайного набора значений, который создает случайную последовательность выходных значений, при этом повышая ключ неоднозначности ГПСЧ. В некоторых реализациях ГПСЧ N 410 можно преобразовать в ГПСЧ вида "стойкий/неподдающийся дешифрованию", или же можно использовать текущий генератор случайных чисел.

[0139] В некоторых реализациях случайное сообщение R может быть использовано, чтобы повторно задать начальное значение ГПСЧ, однако такие методы малоэффективны из-за необходимости осуществления дополнительных операций, характеризуются недостаточной потерей остаточной энтропии и требуют создания более длинных случайных сообщений для поддержания достаточно высокого темпа роста повышения неоднозначности.

[0140] В некоторых реализациях изобретения исходные ключи K 401 или сегменты K (отдельные сегменты можно передавать автономно) можно генерировать при помощи одного объекта связи и передавать напрямую другому объекту связи или же прямым или косвенным образом передавать их через одну или несколько третьих сторон. Передавать можно как весь исходный ключ K 401, так и его части. В некоторых модификациях, в случае, когда и у отправителя Tx, и у получателя Rx есть "стойкая/неподдающаяся дешифрованию" аутентифицированная связь с третьей стороной Sx (необязательно проверенная), отправитель А может использовать "стойкий/неподдающийся дешифрованию" канал для аутентификации пользователя и передачи ключей или же только для одной из этих операций. Некоторые реализации включают в себя аутентифицированное шифрование, благодаря которому существующие ключи для аутентификации и ключи шифрования можно применить одновременно в виде ключа К4. Они предотвращают неавторизованный доступ взаимодействующих сторон, осуществляя принудительное аутентифицированное шифрование, в результате чего ключи аутентификации и шифровальные ключи можно применить одновременно к различным составным частям изобретения.

[0141] Основное преимущество изобретения во всех его реализациях состоит в том, что оно позволяет производить "стойкое/неподдающееся дешифрованию" шифрование как при хранении данных, так и при их передаче. Эта возможность может быть реализована и в случае "стойкого/неподдающегося дешифрованию" локального хранения ключей шифрования или ключей для аутентификации. Как правило, при шифровании объемного ключа (иначе говоря, более крупного случайного сообщения) при помощи более короткого ключа, или же, наоборот, при условии, что один из параметров известен взломщику, неоднозначность шифрования ограничена меньшим ключом или "случайным сообщением". Другими словами, шифрование 256-битного ключа (в виде сообщения) при помощи 40-битного ключа не позволяет создавать более 240 вариаций случайных строк или ключей с 256 бит. В некоторых реализациях это ограничение преодолевается при помощи ключей шифрования переменной длины (которые скрывают неоднозначность сообщения), шифрования хранящихся ключей с помощью фиксированной длины (512 бит), и добавления случайных отступов там, где ключ короткий, а также динамического увеличения ключей шифрования и размеров блока с каждой новой операцией шифрования. Таким образом, становится возможным шифрование 256-битного «сохраненного» ключа в виде 512-битного зашифрованного текста (или же любой ключ любой длины можно сохранить в зашифрованный текст, который примерно в два раза больше размера ключа) при помощи меньшего 40-битного ключа шифрования без потери энтропии 256-битного "сохраненного" ключа. В некоторых реализациях используется отдельный шифровальный компонент, предназначенный для безопасного хранения ключей K 401 конкретного канала связи любого текущего сеанса, когда они временно не используются, или для восстановления при ошибках связи. Некоторые "частные случаи" состояний связи также могут быть сохранены при сбоях. Неудачную передачу сообщения можно возобновить посредством пересылки пакета повторного подключения, создав на основе одного сохраненного состояния связи новое состояние связи со случайной поправкой.

[0142] Некоторые реализации изобретения могут включать генерацию, "стойкую/неподдающуюся дешифрованию" передачу и "стойкое/неподдающееся дешифрованию" хранение “одноразовый кодов”, очень длинных ключей или ключей «одноразового использования», которые можно предварительно вводить в память и восстанавливать при необходимости.

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

[0144] Некоторые реализации изобретения могут включать кодирование сообщений перед шифрованием при помощи изобретения. Поскольку неоднозначность сообщения зависит от последовательности символов в сообщении, предсказуемые заголовки и суффиксы представляют риск для безопасности. В некоторых модификациях этот риск может быть уменьшен за счет предварительного шифрования и кодирования сообщения при помощи другой системы шифрования или перегруппировки всего сообщения с помощью ключа, или же перегруппировки всех частей сообщения с дальнейшим переносом этих частей. Размещение ключей в конце сообщений инициирует принудительный анализ всего сообщения. При этом повышается его безопасность, но не стойкость. В некоторых модификациях для сокращения избыточности сообщения можно использовать сжатие, если при этом исключаются заголовки (поскольку они предсказуемы). В других модификациях, страницы с предсказуемой стандартной кодировкой (например, UTF-8) могут быть расположены в случайном порядке предсказуемым или заранее определенным образом.

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

[0146] На РИС. 5 показана блок-схема реализации метода повышения неоднозначности в виде шифрования 500 и дешифрования 520 блоками. Данная реализация шифрования включает следующие компоненты: массив входящих значений, который состоит из открытого текста и случайной последовательности блоков 501, вышеупомянутая случайная последовательность блоков создается генератором случайных чисел; общедоступный секретный ключ KA 502; пул энтропии 503 и массив выходных значений, состоящий из восьми блоков зашифрованного текста 504. Реализация дешифрования включает идентичный ключ K 502 и компоненты и структуру пула энтропии 523, и эффективно выполняет все операции шифрования в обратном порядке, преобразуя входящие значения зашифрованного текста фиксированной длины 521 в открытый текст фиксированной длины и случайную последовательность выходных значений 522, которая состоит из открытого текста и случайной последовательности блоков.

[0147] Принципы работы шифра по большей части схожи с теми, которые изображены на РИС. 4, исходя из предположения, что эти блочные шифры, как правило, требуют введения как входных, так и выходных массивов равной и фиксированной длины, а также фиксированных массивов пулов энтропии (в каждом пуле энтропии их, как минимум, два). В нашем случае, массивы пулов энтропии могут достигать 16 байт в длину. Пулы энтропии шифра могут быть синхронно инициализированы отправителем и получателем заранее установленным образом – посредством полного заполнения соответствующих массивов пулов энтропии (заранее или случайно установленной длины) при помощи ключа K с неизвестной длиной и значением с повторным вводом ключа при необходимости. После инициализации требуемое количество подключей K (в нашем случае это K1, K2, K3 и K4) извлекается заранее установленным или случайным образом с идентичных участков массивов пулов энтропии для их использования в заранее подготовленной операции шифрования/дешифрования. Дополнительно, пулы энтропии можно заменить особыми генераторами случайных чисел, которые допускают случайные изменения в своих принципах работы, и генерировать ключи из своих выходных значений. Длина каждого отдельного подключа K должна быть не меньше длины размещенных блоков, в которых он будет использоваться в отдельной операции шифрования/дешифрования. K таким операциям относятся, например, использование K4 для преобразования случайной последовательности блоков при помощи оператора XOR, использование K3 для преобразования блоков открытого текста при помощью оператора XOR, а также использование K2 и K1 для преобразования 8 блоков составного зашифрованного текста, образующихся в результате предыдущих операций XOR и транспозиции с установленным периодом.

[0148] После каждой операции шифрования или дешифрования, идентичная случайная последовательность блоков, посылаемых отправителем и получаемых получателем, используется для изменения значений соответствующих им массивов пулов энтропии при помощи математической операции 505 и 524. Далее, новые значения K извлекаются из пула энтропии заранее установленным образом (подобно начальному извлечению или со случайными изменениями) и применяются в противовес входящим значениям следующего шифрования блоками. Отметим, что K4 (ключ, используемый для шифрования и дешифрования случайных строк) остается автономным и может быть получен только один раз, однако он может быть изменен с помощью дополнительного "стойкого/неподдающегося дешифрованию" канала связи, если он доступен.

[0149] В то время как массив входящих значений шифрования с фиксированной длиной 8 байт или блок 501, включают четыре последовательности открытого текста и четыре случайных блочных последовательности, они также может включать любые вариации или любое количество открытого текста, случайных и других последовательностей при условии, что такая структура соответствует любым требованиям эксплуатации. Кроме того, значения блоков могут варьироваться от 8 бит до любой другой длины. Массив входящих значений 501 может вмещать множество последовательностей открытого текста и случайных блоков. Кроме того, есть возможность осуществлять параллельные операции, выполняя операции шифрования/дешифрования в отдельных частях открытого текста. Отметим, что описанный ранее генератор случайных чисел не теряет своей энтропии. Разумеется, динамические вариации в отношении предварительного кодирования открытого текста или случайных сообщений, отмеченных выше на РИС. 4, применимые к программной реализации, могут входить в состав аппаратной реализации.

[0150] Определенные реализации данного изобретения включают в себя, в частности, повышение неоднозначности аппаратного устройства.

[0151] На РИС. 6 показана блок-схема применения метода повышения неоднозначности в устройстве шифрования (600) и устройстве дешифрования (700) в целях защиты информации при передаче и при хранении. На РИС. 6 устройство шифрования (600) включает в себя модуль генерации случайных чисел или ключей 601, модуль управления ключами (602), пул энтропии или модуль синхронизации ключей (603), модуль шифрования (604), модуль входящих данных сообщения (605) и модуль входящих и выходных значений связи (606).

[0152] Устройство дешифрования (700) почти идентично по структуре (если не считать модуль генерации случайных чисел или ключей 701), но его составные части работают в обратном порядке таким образом, что оно включает в себя модуль управления ключами (702), пул энтропии или модуль синхронизации ключей (703), модуль дешифрования (704), модуль выходных значений сообщения (705) и модуль входящих и выходных значений связи (706). Модуль управления ключами 602 / 702 главным образом используется для безопасного хранения и управления ключами между сеансами шифрования (для данных, которые хранятся или передаются) и является необязательным для обоих устройств.

[0153] Процедуры шифрования и дешифрования на любом устройстве можно разделить на две группы по целям безопасности: обеспечение выполнения основной задачи шифрования и дешифрования и обеспечение выполнения вторичной задачи безопасности, которая состоит в предотвращении прямого доступа к технической стороне шифрования и подразумевает дополнительное хранение ключей и управление пользователями. Процесс шифрования начинается с получения сообщения M на устройство ввода сообщений 605 на шаге 607. Далее, устройство ввода сообщений передает блоки сообщений запрашиваемой длины 608 на модуль шифрования 604. Модуль ГСЧ 601 используется в каждом цикле шифрования для генерации блоков случайных сообщений шифрования, отправляя их в модуль шифрования на шаге 609 и в пул энтропии на шаге 610, чтобы повысить неоднозначность (условную энтропию). Как правило, как только в модуль ввода сообщений приходит сообщение, пул энтропии заполняется при помощи исходного ключа K, который позволяет отправлять подключи K1, K2, K3, K4 611 в Модуль шифрования для совершения операций шифрования. При последующих передачах подключей K не допускается повышение неоднозначности ключа К4 (или любого другого ключа, используемого для шифрования случайных последовательностей). Далее, зашифрованные блоки сообщений поступают в модуль ввода или вывода сообщений 406, который может накапливать их перед передачей или хранением в обозначенном месте на шаге 613, а затем, когда получено подтверждение, он осуществляет очистку буфера.

[0154] Принцип работы устройства дешифрования 700 практически полностью противоположен процессам шифрования, осуществляемым в устройстве шифрования. Зашифрованный текст поступает в модуль ввода или вывода сообщений 706 на шаге 713 и передается в модуль дешифрования 704 на шаге 712. Подобным образом, модуль Пула энтропии 703 синхронно инициализируется с идентичным пулом энтропии отправителя, вследствие чего идентичные подключи K при отправке в Модуль шифрования отправляются и в Модуль дешифрования на шаге 711. Процесс дешифрования, по сути, приводит к тому, что сообщение M отправляется в Модуль вывода сообщений 705 на шаге 708, а случайные последовательности R отправляются в Пул энтропии на шаге 710 для осуществления операций повышения неоднозначности. После этого, на шаге 707, сообщение M экспортируется из Модуля вывода сообщений 705 в конечный пункт назначения.

[0155] Модули управления ключами в устройствах шифрования и дешифрования в первую очередь используются для хранения ключей, управления соединением между сеансами связи (для данных, которые передаются или хранятся), восстановления прерванной связи, и могут быть необязательными, если требуется прямой доступ по ключу. Модули управления ключами 602 и 702 позволяют эксплуатировать изобретение без прямого вмешательства отправителя или получателя, не смешивая аутентификацию пользователя с аутентификацией или шифрованием на узле сети. Как правило, после успешного шифрования и дешифрования, текущее состояние Модулей энтропии сохраняется Администратором Службы управления ключами на шагах 614 и 714, и в результате последующих коммуникационных запросов сохраненные состояния (сохраненные Администратором Службы управления ключами методом "стойкий/неподдающийся дешифрованию") снова возвращаются в Пул энтропии. Использование "стойкого/неподдающегося дешифрованию" протокола шифрования делает постоянное обновление ключей сеанса излишним. Или же модуль управления ключами может хранить ключи во внешней памяти, используя модуль ввода и вывода сообщений 606 или 706 для последующего восстановления. Также можно сохранить более одного состояния ключа в особом удаленном хранилище, одно состояние – для передачи и еще одно – для приема зашифрованных сообщений. Это также обеспечивает определенную избыточность в отношении ошибок ключей.

[0156] Что касается управления ключами шифрования, вместе с сообщением на Модуль входных сообщений обычно приходят аутентификатор и место назначения источника, и эта информация может быть направлена Администратору Службы управления ключами на шаге 615. Если сохраненное состояние Пула энтропии для текущего коммуникационного соединения не обнаружено, то может быть инициировано новое коммуникационное соединение, в котором для создания исходных ключей K, которые сохраняются Администратором Службы управления ключами на шаге 616 и затем сообщаются получателю на шагах 617 и 618, может использоваться ГСЧ. Модулю ГСЧ 401 может быть присвоено начальное значение через модуль ввода сообщений 405 или при помощи предварительно заданной характеристики устройства, такой как время или содержимое других модулей. Если текущее состояние соединения Пула энтропии обнаружено, оно восстанавливается в Пул энтропии на шаге 614. Обмен зашифрованными сообщениями между отправителем и получателем может быть начат при помощи начального шифрованного модуля синхронизации. Что касается получателя, запрос на создание нового соединения (нового или текущего состояния Пула энтропии) может быть получен на шаге 718 Модулем входящих и выходных сообщений и отправлен в Модуль Администратора Службы управления ключами на шаге 717. Далее, Администратор Службы управления ключами сможет подтвердить, что текущее состояние Пула энтропии или исходные ключи K хранятся локально, и удостовериться, что права доступа действительны для Модуля выходных сообщений на шаге 715. Отметим, что такие соединения типа "Администратор ключа – Администратор ключа" могут быть ограничены "стойкими/неподдающимися дешифрованию" соединениями с проведением аутентификации при помощи альтернативного канала связи. В случае установления нового соединения исходный ключ K перемещается от одного Администратора к другому, и затем они обсуждают условия связи отправителя с получателем и руководят всеми необходимыми процедурами управления пулом энтропии.
[0157] Модуль управления ключами 602 главным образом обеспечивает эксплуатацию ключей (в частности, их текущего состояния), которые соотносятся с определенными целевыми пунктами назначения, а также принимает уведомления о получении ключей, отправленные получателями через модуль входящих и выходных сообщений 606. Распределение ключей может осуществляться через закрытый канал или же вручную, или другим способом. При ручном распределении ключ и идентификатор получателя можно ввести при помощи модуля входящих сообщений 605. Модуль входящих и выходных сообщений, как правило, осуществляет отправку зашифрованных данных через сеть общего пользования, или же может хранить данные локально в целях безопасности.

[0158] Устройства шифрования и дешифрования можно объединить в одно устройство, которое может выполнять множество операций шифрования и дешифрования одновременно. Для этого необходимо, чтобы число модулей шифрования/дешифрования равнялось максимальному количеству безопасных потоков связи, подлежащих обслуживанию. Поскольку модули шифрования и дешифрования практически идентичны по своей структуре, и каждый из них обслуживается модулем синхронизации ключей, то достаточно всего нескольких таких устройств. Отметим, что для того, чтобы модули входящих и выходных значений и модули входящих и выходных сообщений могли справиться с увеличением нагрузки на нагруженных каналах связи, может потребоваться введение дополнительных буферов. Кроме того, модули дешифрования могут перенаправлять случайные обновления данных энтропии во внутренний ГСЧ (генератор случайных чисел) после того, как модули синхронизации ключей обновят их ключи, как показано на шагах 619 и 719, и тем самым изменять определенные принципы работы ГСЧ применительно к их выходным значениям. В перспективе повышение неоднозначности, по сути, равносильно нейронной сети, в результате чего энтропия, которая передается одним единственным устройством, будет использована всеми устройствами и приведет к массовому хаотичному распределению.

[0159] На РИС. 7 показана структурная блок-схема вычислительного устройства, пригодная для реализации процесса повышения неоднозначности для защиты информации при помощи шифрования и дешифрования в случаях, когда информация или зашифрованная информация передается либо хранится. Компьютерное устройство или система 800, как показано на РИС. 7, включает в себя центральный процессор (ЦПУ) 801, постоянное запоминающее устройство (ПЗУ) 802 и оперативное запоминающее устройство (ОЗУ) 803, соединенные с системной шиной 804. К системной шине присоединен сетевой контроллер 805, дисковый контроллер 806, графический контроллер 807, контроллер периферийного устройства ввода 806, контроллер интерфейса ввода/вывода 809 и контроллер USB 810. Сетевые адаптеры 811 соединены с сетевым контроллером, жесткие магнитные диски 812 и оптические диски 813 – с контроллером жестких дисков, устройства отображения 814 связаны с графическим контроллером, клавиатуры 815 и манипуляторы 816 соединены с контроллером периферийного устройства ввода, параллельные 817 и последовательные внешние устройства 818 – с контроллером ввода/вывода, а широкий спектр USB-устройств 819 связан с контроллером USB.

[0160] Следует понимать, что блок-схемы на РИС. 4, 5, 6 и 7 приведены исключительно для наглядности и не имеют целью ограничить возможности реализации изобретения каким-либо образом в каком-либо виде. В некоторых реализациях некоторые упомянутые устройства или компоненты можно добавлять, убирать, разделять или объединять при необходимости.

[0161] Данное изобретение раскрывает сведения о методах, устройствах и реализации "стойкого/неподдающегося дешифрованию" динамического шифрования и дешифрования информации при помощи метода повышения неоднозначности, таким образом создавая возможность для практической реализации уникальных защитных характеристик. Это значит, что может быть разработана информационно-теоретическая безопасная система засекречивания, абсолютно безопасная, гарантирующая, что любая попытка атаки методом полного перебора, которая осуществляется злоумышленником с неограниченными вычислительными и временными ресурсами, приведет к созданию множества жизнеспособных сообщений. Технология шифрования, представленная в этом документе в соответствии с настоящим изобретением, очень безопасна, обладает большим объемом памяти, хорошими эксплуатационными характеристиками, возможностями дальнейшего расширения в плане технических особенностей ключей и криптографии, и может быть реализована, включена в состав или использована любым количеством существующих и будущих криптосистем. Настоящие изобретение и технология обеспечивают инженерно-технический подход, при котором случайная неупорядоченная последовательность может быть передана вместе с сообщениями и использована для восстановления энтропии, потерянной во время процесса шифрования, тем самым, по сути, гарантируя, что состояние информационно-теоретической безопасности можно поддерживать бесконечно, при этом всего лишь инициировав процесс при помощи ключа конечной длины. Это серьезное улучшение существующей технологии шифрования, поскольку раньше это было недостижимо. Кроме того, это изобретение, по сути, является криптографической проектировочной платформой, которая позволяет создать практически бесконечное число вариантов реализации в программном обеспечении, аппаратном обеспечении и смешанных структурах.

[0162] В частности, в соответствии с некоторыми реализациями настоящего изобретения, техническое решение изобретения может быть реализовано в известной "стойкой/неподдающейся дешифрованию" системе, с повышением профиля ее безопасности до профиля "информационно-теоретически безопасной" системы. Настоящая технология позволяет реализовывать шифрование и дешифрование с меньшими затратами ресурсов на управление и обработку данных.

[0163] Более специфические примеры (неполный перечень) систем засекречивания или компонентов шифрования, которые могут быть криптографически улучшены при помощи повышения неоднозначности, могут включать в себя, в частности: блочные шифры, хеши, генераторы случайных чисел, генераторы псевдослучайных чисел, симметричные системы шифрования, асимметричные системы шифрования, системы Диффи и Хеллмана, сети Фейстеля, блокчейн, односторонние функции, эллиптические функции кривых, квантовые криптографические системы, шифры RC4 и AES-256, функции аутентификации сообщений, цифровые подписи, одноразовые шифры, операторы XOR, перестановочные шифры с фиксированным периодом, подстановочные шифры, шифры Виженера, шифры Цезаря, ROT13, шифры Бофора, обратные шифры Бофора, сложные шифры Виженера, подстановочные шифры биграммы, подстановочные шифры триграммы, подстановочные шифры n-граммы, шифры Вернама, одноалфавитные шифры Виженера, дробные шифры, матричные системы, коды, шифры Дживерджа, шифры Плейфера, полиалфавитные подстановочные шифры, шифры с автоключом, криптографические шифры, использующие простые числа, шифры, основанные на математической сложности, решетки, гомоморфные шифры, полиморфные шифры, решетчатые системы, матрицы, схемы аутентификации, шифры сложения по модулю, шифры множественной секретности, шифры иерархической секретности, шифры многофакторной аутентификации, чистые шифры, системы открытой секретности, системы закрытой секретности, сжатие сообщений, расширение сообщений, мультиплексные системы секретности или любые подходящие сочетания вышеупомянутых шифров. Перечень включает любые шифровальные системы или шифры, которые могут извлечь пользу из энтропии или метода повышения неоднозначности, который гарантирует информационно-теоретическую безопасность.

[0164] Профессионал в сфере криптографического проектирования мог бы по достоинству оценить тот факт, что различные единичные и объединенные аспекты настоящего изобретения могут найти воплощение в системе, устройстве, методе или компьютерной программе. Кроме того, различные модификации настоящего изобретения и предмета могут применяться в программном обеспечении, аппаратном обеспечении и смешанных структурах. Программные аспекты или варианты могут хранить логические инструкции, последовательности или команды на информационном носителе (таком как память), и такие логические структуры могут выполняться при помощи микропроцессора, системы выполнения команд или же специально разработанного аппаратного обеспечения. Аппаратная реализация может осуществляться при помощи совокупности транзисторов или других компонентов, которые способны выполнять команды и логические операции.

[0165] Далее, различные аспекты настоящего изобретения и предмета могут принимать форму модификации компьютерного программного продукта при помощи некоторого числа машиночитаемых носителей с машиночитаемым программным кодом. Реализации могут состоять из одного или более машиночитаемых носителей. Вышеуказанные носители могут включать в себя любые машиночитаемые сигналы или любые средства хранения машиночитаемой информации. Машиночитаемые носители могут включать, в частности, любые электронные, электромагнитные, магнитные, химические, оптические, механические, инфракрасные или полупроводниковые системы, оборудование или устройства, или любое жизнеспособное сочетание вышеуказанных носителей. Поэтому неисчерпывающий перечень машиночитаемых носителей должен включать следующее: электронные, электрические или оптические соединения с одним или более проводов; CD-ROM, любые дискеты, жесткий диск, электронный диск, модуль памяти ОЗУ, модуль памяти ПЗУ, магнитное запоминающее устройство, оптическое запоминающее устройство, механическое запоминающее устройство или любые жизнеспособные комбинации вышеупомянутых устройств.

[0166] Из этого следует, что машиночитаемый носитель можно определить как любой материальный носитель, который может содержать или хранить логические последовательности инструкций (программу) для использования в нем или в связи с системой, оборудованием или устройством выполнения команд. Машиночитаемым может быть любой материальный или нематериальный носитель, такой как электромагнитный распространяемый информационный сигнал (который может принимать много оптических или электромагнитных форм или образовывать сочетания, такие как немодулированная передача, радиоволны или несущие волны) или любой носитель, не являющийся машиночитаемым, который может использоваться для передачи, распространения, сообщения или выполнения любого машиночитаемого программного кода или логических инструкций, встроенных или содержащихся в нем, при помощи системы, оборудования или устройства выполнения команд. Вышеуказанное оборудование, системы и устройства (или их компоненты) могут приводиться в действие при помощи программируемых аппаратных устройств или электронных схем, таких как крупномасштабные интегральные схемы или матрицы логических элементов, логические полупроводниковые чипы или транзисторы, программируемые логические устройства, или посредством программной реализации при помощи различных процессоров или комбинаций вышеуказанных устройств.

[0167] Сети или каналы связи, как указано в этом документе или в инструкции, могут состоять из различных видов сетей электронных коммуникаций, включая, в частности, физические и логические локальные и глобальные сети и другие электронные, электромагнитные или электрооптические сети связи с двухточечным соединением.

[0168] Хотя различные этапы и операции настоящего предмета были описаны в особом порядке в соответствии со схемами, следует отметить, что такие описания не обязательно требуют или подразумевают, что любые подобные операции должны выполняться в определенном описанном порядке, или что любого желаемого результата можно достичь, только выполнив все показанные и описанные операции таким образом и в указанном порядке. Порядок выполнения шагов, изображенный на схемах или в инструкции, может быть изменен без отступления от сущности и объема настоящего изобретения. Кроме того, некоторые шаги или процедуры можно опустить, или же множество шагов могут быть объединены в один, или, наоборот, один шаг может быть разделен на множество шагов.

[0169] Настоящее изобретение было описано в данном документе при помощи нескольких примеров реализаций, и необходимо четко понимать, что настоящее изобретение не ограничивается только рассекреченными реализациями. В случае многих реализаций и, в частности, основного изобретения, а именно: метода повышения неоднозначности, – данное изобретение стремится охватить различные реализации и эквивалентные схемы, входящие в сущность и объем прилагаемой формулы изобретения. Объем формулы изначально рассчитан на самые широкие объяснения и охватывает все подобные модификации и эквивалентные структуры и функции, которые позволили бы применить принцип или метод неопределенности на практике в криптографическом или технологическом контексте для повышения условной энтропии, неоднозначности криптосистемы, или множественности криптосистем, причем гораздо быстрее, чем то, что было утеряно в процессе шифрования.

Похожие патенты RU2737917C1

название год авторы номер документа
ЭФФЕКТИВНОЕ ШИФРОВАНИЕ И АУТЕНТИФИКАЦИЯ ДЛЯ СИСТЕМ ОБРАБОТКИ ДАННЫХ 2003
  • Хокс Филип Майкл
  • Роуз Грегори Дж.
RU2340108C2
ЭФФЕКТИВНОЕ ШИФРОВАНИЕ И АУТЕНТИФИКАЦИЯ ДЛЯ СИСТЕМ ОБРАБОТКИ ДАННЫХ 2003
  • Хокс Филип Майкл
  • Роуз Грегори Дж.
RU2336646C2
СПОСОБ ФОРМИРОВАНИЯ КЛЮЧА ШИФРОВАНИЯ-ДЕШИФРОВАНИЯ 2001
  • Кравец О.Я.
  • Тупота В.И.
  • Тупота А.В.
RU2230438C2
СПОСОБ СКРЫТОЙ ПЕРЕДАЧИ ЗАШИФРОВАННОЙ ИНФОРМАЦИИ ПО МНОЖЕСТВУ КАНАЛОВ СВЯЗИ 2011
  • Алексеев Александр Петрович
  • Макаров Максим Игоревич
RU2462825C1
СПОСОБ ФОРМИРОВАНИЯ КЛЮЧА ШИФРОВАНИЯ-ДЕШИФРОВАНИЯ 2004
  • Тупота Виктор Иванович
  • Мирошников Вячеслав Викторович
  • Трофимов Руф Федорович
RU2277759C2
СПОСОБ ПОТОЧНОГО ШИФРОВАНИЯ ДАННЫХ 2009
  • Бурушкин Алексей Анатольевич
  • Тупота Виктор Иванович
  • Минаков Владимир Александрович
RU2423799C2
СПОСОБЫ И УСТРОЙСТВА ВЫБОРОЧНОГО ШИФРОВАНИЯ ДАННЫХ 2009
  • Массуди Айуб
  • Лефевр Фредерик
RU2505931C2
Способ и устройство шифрования данных 2021
  • Осетрин Евгений Юрьевич
  • Петренко Сергей Анатольевич
  • Асадуллин Якуп Яруллович
RU2763394C1
СПОСОБ ПОТОЧНОГО ШИФРОВАНИЯ ДАННЫХ 2005
  • Привалов Андрей Андреевич
  • Тупота Виктор Иванович
  • Чемиренко Валерий Павлович
RU2291578C1
Способ блочного шифрования с использованием Кронекерова произведения инволютивных матриц 2022
  • Духнич Евгений Иванович
  • Чефранов Александр Григорьевич
  • Шапель Александр Петрович
  • Сенченко Виктор Григорьевич
RU2793408C1

Иллюстрации к изобретению RU 2 737 917 C1

Реферат патента 2020 года Повышение неоднозначности

Изобретение относится к области безопасной передачи данных. Техническим результатом является обеспечение системы засекречивания, которая устойчива к полному перебору при любом возможном шифровании, несмотря на использование ключа конечной длины. Способ включает: выполнение ряда операций, влияющих на преобразование сообщения, в результате приводящих к увеличению степени неопределенности (Условная энтропия) сообщения HE(M); когда злоумышленник (взломщик) осуществляет атаку методом полного перебора на третий зашифрованный текст, указанная операция, включающая в себя как шифрование XOR, так и последующее преобразование с шифрованием с фиксированным периодом, принимает объединенные первый и второй зашифрованные тексты в качестве входных данных и создает третий зашифрованный текст в качестве выходных данных, используя третий и четвертый ключи, полученный из второго пула энтропии; выполнение операции по повышению Условной энтропии ключей после каждого цикла шифрования, в котором говорится, что операция приводит к увеличению ключевой условной энтропии HE(K) после выполнения атаки полного перебора на третий зашифрованный текст. 2 н. и 8 з.п. ф-лы, 7 ил.

Формула изобретения RU 2 737 917 C1

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

- генерирование случайного потока на исходном узле с использованием независимого первого пула энтропии;

- генерирование ключей на исходном узле с использованием второго пула энтропии, инициализированного общим ключом, совместно используемым между узлом-источником и узлом-получателем;

- шифрование сегмента обычного текстового сообщения с помощью XOR и первого ключа из второго пула энтропии для создания первого зашифрованного текста;

- шифрование последовательности случайного потока, используя XOR и второй ключ из второго пула энтропии, для создания второго зашифрованного текста;

- выполнение ряда операций, влияющих на преобразование сообщения, в результате приводящих к увеличению степени неопределенности (Условная энтропия) сообщения HE(M); когда злоумышленник (взломщик) осуществляет атаку методом полного перебора на третий зашифрованный текст, указанная операция, включающая в себя как шифрование XOR, так и последующее преобразование с шифрованием с фиксированным периодом, принимает объединенные первый и второй зашифрованные тексты в качестве входных данных и создает третий зашифрованный текст в качестве выходных данных, используя третий и четвертый ключ, полученный из второго пула энтропии;

- передача третьего зашифрованного текста от исходного узла к узлу назначения;

- генерирование ключей в узле назначения с использованием третьего пула энтропии, инициализированного ключом, совместно используемым между источником и узлом назначения, причем ключи идентичны ключам, сгенерированным в узле источника;

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

- выполнение операции по повышению Условной энтропии ключей после каждого цикла шифрования, в котором говорится, что операция приводит к увеличению ключевой условной энтропии HE(K) после выполнения атаки полного перебора на третий зашифрованный текст, причем указанная операция включает в себя сегмент случайного потока, используемого для изменения значений второго пула энтропии, а также применяется для изменения значений третьего пула энтропии с помощью математической операции, как, например, сложение или умножение по модулю.

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

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

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

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

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

7. Способ в соответствии с п. 1 дополнительно включает его реализацию в блокчейне в дальнейшем.

8. Способ в соответствии с п. 1 включает его реализацию впоследствии в шифре блокчейн, пригодном для использования в аппаратном устройстве или системе.

9. Способ в соответствии с п. 1 дополнительно включает, но не ограничивается вариантами осуществления, в котором исходный ключ(-и) или ключ(-и) шифрования/дешифрования могут быть асимметричными или симметричными ключам шифрования/дешифрования или аутентификации.

10. Аппаратное устройство для криптосистемы, которое используется для шифрования и расшифровки данных, включающее:

- модуль памяти;

- модуль ввода сообщений;

- пул энтропии или модуль синхронизации ключей;

- коммуникационный модуль и

- процессор, который запрограммирован на:

- генерирование случайного потока на исходном узле с использованием независимого первого пула энтропии;

- генерирование ключей на исходном узле с использованием второго пула энтропии, инициализированного общим ключом, совместно используемым между узлом-источником и узлом-получателем;

- шифрование сегмента обычного текстового сообщения с помощью XOR и первого ключа из второго пула энтропии для создания первого зашифрованного текста;

- шифрование последовательности случайного потока, используя XOR и второй ключ из второго пула энтропии, для создания второго зашифрованного текста;

- выполнение ряда операций, влияющих на преобразование сообщения, в результате приводящих к увеличению степени неопределенности (Условная энтропия) сообщения HE(M); когда злоумышленник (взломщик) осуществляет атаку методом полного перебора на третий зашифрованный текст, указанная операция, включающая в себя как шифрование XOR, так и последующее преобразование с шифрованием с фиксированным периодом, принимает объединенные первый и второй зашифрованные тексты в качестве входных данных и создает третий зашифрованный текст в качестве выходных данных, используя третий и четвертый ключ, полученный из второго пула энтропии;

- передача третьего зашифрованного текста от исходного узла к узлу назначения;

- генерирование ключей в узле назначения с использованием третьего пула энтропии, инициализированного ключом, совместно используемым между источником и узлом назначения, причем ключи идентичны ключам, сгенерированным в узле источника;

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

- выполнение операции по повышению Условной энтропии ключей после каждого цикла шифрования, в котором говорится, что операция приводит к увеличению ключевой условной энтропии HE(K) после выполнения атаки полного перебора на третий зашифрованный текст, причем указанная операция включает в себя сегмент случайного потока, используемого для изменения значений второго пула энтропии, а также применяется для изменения значений третьего пула энтропии с помощью математической операции, как, например, сложение или умножение по модулю.

Документы, цитированные в отчете о поиске Патент 2020 года RU2737917C1

US 6351539 B1, 26.02.2002
Токарный резец 1924
  • Г. Клопшток
SU2016A1
US 5412730, 02.05.1995
СПОСОБ БЛОЧНОГО ШИФРОВАНИЯ ИНФОРМАЦИИ 2004
  • Осмоловский С.А.
RU2266622C1
СПОСОБ АРИФМЕТИЧЕСКОГО КОДИРОВАНИЯ С ШИФРОВАНИЕМ 2015
  • Васильев Владимир Борисович
  • Оков Игорь Николаевич
  • Стрежик Юрий Николаевич
  • Устинов Андрей Александрович
  • Швецов Николай Валерьевич
RU2595953C1
СПОСОБ ШИФРОВАНИЯ СООБЩЕНИЯ, ПРЕДСТАВЛЕННОГО В ВИДЕ МНОГОРАЗРЯДНОГО ДВОИЧНОГО ЧИСЛА 2015
  • Березин Андрей Николаевич
  • Молдовян Дмитрий Николаевич
  • Молдовян Николай Андреевич
RU2580060C1

RU 2 737 917 C1

Авторы

Фигуеира, Хелдер Сильвестре Паива

Даты

2020-12-04Публикация

2016-12-27Подача