EA019411B1 - Способ формирования шифровального/дешифровального ключа - Google Patents

Способ формирования шифровального/дешифровального ключа Download PDF

Info

Publication number
EA019411B1
EA019411B1 EA201100887A EA201100887A EA019411B1 EA 019411 B1 EA019411 B1 EA 019411B1 EA 201100887 A EA201100887 A EA 201100887A EA 201100887 A EA201100887 A EA 201100887A EA 019411 B1 EA019411 B1 EA 019411B1
Authority
EA
Eurasian Patent Office
Prior art keywords
node
data set
intermediate data
key
bits
Prior art date
Application number
EA201100887A
Other languages
English (en)
Other versions
EA201100887A1 (ru
Inventor
Элиз Ревелль
Original Assignee
Келисек Аб
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Келисек Аб filed Critical Келисек Аб
Publication of EA201100887A1 publication Critical patent/EA201100887A1/ru
Publication of EA019411B1 publication Critical patent/EA019411B1/ru

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Facsimile Transmission Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

Изобретение относится к способу формирования шифровального/дешифровального ключа, в частности формирования одноразового шифровального/дешифровального ключа, используемого для симметричного шифрования, т.е. где один и тот же ключ используется как для шифрования, так и для дешифрования. Для того чтобы начать формирование ключа, первый узел (А) посылает запрос центральному серверу (2) для установления связи со вторым узлом (В). Центральный сервер (2) посылает файл генерации ключа обоим узлам (А и В). Каждый узел формирует особый промежуточный набор данных, т.е. первый и второй наборы данных. Первый набор данных, сформированный первым узлом (А), посылается второму узлу (В), который на основе этого набора данных формирует третий набор данных, который посылается обратно первому узлу. Формирование первого криптографического ключа в узле (А) основано на побитовом сравнении между третьим и первым промежуточными наборами данных, а формирование второго криптографического ключа основано на побитовом сравнении между первым и вторым промежуточными наборами данных. Первый и второй криптографические ключи идентичны.

Description

Область техники, к которой относится изобретение
Настоящее изобретение относится к способу формирования шифровального/дешифровального ключа, в частности формирования одноразового шифровального/дешифровального ключа, используемого для симметричного шифрования, т.е. где один и тот же ключ используется как для шифрования, так и для дешифрования. Настоящее изобретение также относится к компьютерной программе, содержащей средства кода для осуществления способа при их исполнении на компьютере, и компьютерному программному продукту, содержащему средства кода программы, сохраненные на машиночитаемом носителе, для осуществления способа, когда упомянутый продукт запускается на компьютере.
Предшествующий уровень техники
В криптографии ключ - это порция информации, которая определяет функциональный выход криптографического алгоритма. Алгоритм без ключа не будет иметь результата. Ключ в шифровании устанавливает конкретное преобразование открытого текста в зашифрованный текст или, наоборот, во время дешифрования. Ключи также используются в других криптографических алгоритмах, таких как схемы электронной подписи и коды аутентификации сообщений.
Часто говорят, что при разработке систем защиты является разумным предполагать, что детали криптографического алгоритма уже доступны взломщику. Этот принцип известен как принцип Керкгоффа (КсгскйоГГ). и, таким образом, только секретность ключа обеспечивает безопасность. Этот принцип основан на том факте, что трудно держать в тайне детали широко используемого алгоритма. Ключ зачастую проще защитить, поскольку он часто представляет собой малую порцию информации по сравнению с шифровальным алгоритмом. Однако сохранять ключ в тайне также может быть трудно, и, если взломщик каким-то образом получает ключ, он или она могут восстановить первоначальное сообщение из зашифрованных данных.
Шифровальные алгоритмы, которые используют один и тот же ключ и для шифрования, и для дешифрования, как упоминалось выше, известны как симметричные алгоритмы ключей. Имеются также асимметричные ключевые алгоритмы, которые используют пару ключей, один для шифрования и один для дешифрования. Эти асимметричные ключевые алгоритмы позволяют сделать один ключ открытым, при этом сохраняя персональный ключ только в одном определенном месте. Они разрабатываются так, что раскрытие персонального ключа является чрезвычайно трудным, даже если известен соответствующий открытый ключ. Пользователь технологии открытого ключа может опубликовать свой открытый ключ, сохраняя в тайне свой персональный ключ, позволяя кому-либо послать ему зашифрованное сообщение.
Для того чтобы ключ был безопасным в сочетании с симметричными шифровальными алгоритмами, обычно считают длину 80 бит минимальной, а 128-битовые ключи являются распространенными и считаются очень сильными. Ключи, используемые в криптографии открытого ключа, имеют некоторую математическую структуру. Например, открытые ключи, используемые в системе КБА, являются произведением двух простых чисел. Таким образом, системы открытого ключа требуют больших длин ключей, чем симметричные системы при эквивалентном уровне секретности. 3072 бит - рекомендуемая длина ключа для систем, основанных на разложении на множители и целых дискретных логарифмах, которые ориентируются на то, чтобы иметь надежность, эквивалентную 128-битовому симметричному шифру.
Как упоминалось выше, возможно формировать ключи с высокой степенью надежности, если они достаточно длинные, для ключей, основанных как на симметричных, так и асимметричных алгоритмах. Однако возникает проблема при передаче (распространении) ключа. Если, например, два участника хотят связаться друг с другом с помощью симметричной криптографии, они вначале должны решить, какой ключ использовать, и затем безопасно передать его от одного участника к другому. Более того, ключ должен храниться в тайне обоими участниками. Риск, что злоумышленник может обнаружить ключ, возрастает со временем, в течение которого ключ находится в использовании. Следовательно, ключ обычно применим только в течение ограниченного времени, например 6 или 12 месяцев. После этого времени должен передаваться новый ключ.
Распространение ключей для шифрования в асимметричной криптографии также сталкивается с проблемами при распространении ключа, когда два участника хотят связаться друг с другом. Для того чтобы посылать информацию в обоих направлениях, им нужно обменяться друг с другом открытыми ключами. В этом случае также ключи обычно имеют ограниченный период времени, в течение которого они являются действующими. Для участника, который связывается со многими различными участниками, организация распространения действующих открытых ключей может быть надоедливой. Типичный пример - то, что срок действия ключа истек, когда вам срочно нужно послать некоторую секретную информацию другому участнику, или то, что вы еще не обменялись открытыми ключами.
Другим типом криптографии является квантовая криптография, которая использует квантовую механику для обеспечения защищенной связи. Она позволяет двум участникам создать совместно используемую случайную битовую последовательность, известную только им, которая может быть использована в качестве ключа для шифрования и дешифрования сообщений. Важным и уникальным свойством квантовой криптографии является способность двух осуществляющих связь пользователей обнаруживать присутствие любого третьего участника, пытающегося приобрести знания о ключе. Это является резуль
- 1 019411 татом фундаментального аспекта квантовой механики, т.е. процесс измерения квантовой системы будет влиять на систему. Поскольку третий участник, пытающийся перехватить сообщения о ключе, должен так или иначе осуществлять измерения в отношении него, будут существовать обнаружимые аномалии. Таким образом, защищенность квантовой криптографии опирается на принципы квантовой механики, в отличие от традиционной криптографии открытого ключа, которая опирается на трудность вычисления некоторых математических функций и не может предоставить какое-либо указание на перехват сообщений или гарантировать защиту ключа.
Квантовая криптография используется только для создания и распространения ключа, не для передачи каких-либо данных сообщения. Этот ключ может затем использоваться с любым выбранным шифровальным алгоритмом для шифрования и дешифрования сообщения, которое может затем передаваться по стандартному каналу связи.
Даже если формирование ключа квантовой криптографией обеспечивает очень надежный способ формирования и распространения ключа, оно также имеет основной недостаток. Расстояние, на которое может передаваться квантовый ключ, ограничено примерно 100 км вследствие свойств квантовой механики.
Принимая во внимание вышеуказанные проблемы, существует необходимость простого способа формирования и распространения криптографического ключа.
Сущность изобретения
Проблема, решаемая настоящим изобретением, заключается в формировании криптографического ключа, который не требуется распространять на узлы, которые хотят осуществлять связь друг с другом, т.е. где ключ формируется самими узлами.
Эта проблема находится в соответствии с первым аспектом, решаемым способом формирования шифровального/дешифровального ключа, который является практичным для безопасной связи между первым узлом и вторым узлом. Способ содержит следующие этапы:
отправление запроса от первого узла А в центральный сервер для установления связи со вторым узлом;
отправление от центрального сервера первого файла генерации ключа первому узлу и второго файла генерации ключа второму узлу в ответ на запрос от первого узла;
обработка первого файла генерации ключа на первом узле и второго файла генерации ключа на втором узле;
формирование первого промежуточного набора данных на первом узле и второго промежуточного набора данных на втором узле;
отправление первого промежуточного набора данных с первого узла на второй узел;
сравнение битов первого промежуточного набора данных с соответствующими битами второго промежуточного набора данных;
создание нового, третьего промежуточного набора данных на основе побитового сравнения между первым и вторым промежуточными наборами данных путем установки первого значения, если сравниваемые биты равны, и второго значения, если сравниваемые биты не равны;
отправление третьего промежуточного набора данных от второго узла первому узлу;
сравнение битов третьего промежуточного набора данных с соответствующими битами первого промежуточного набора данных;
формирование первого шифровального ключа на основе побитового сравнения между третьим и первым промежуточными наборами данных путем сохранения значения бита первого набора данных, если соответствующий бит третьего промежуточного набора данных установлен в первое значение, и игнорирования бита первого промежуточного набора данных, если соответствующий бит третьего промежуточного набора данных установлен во второе значение;
формирование второго шифровального ключа на основе побитового сравнения между первым и вторым промежуточными наборами данных путем сохранения значения бита второго набора данных, если соответствующий бит первого промежуточного набора данных одинаковый, и игнорирования бита второго промежуточного набора данных, если сравниваемые биты не равны, при этом упомянутые первый и второй шифровальные ключи идентичны.
В соответствии со вторым аспектом настоящего изобретения проблема решается способом формирования шифровального/дешифровального ключа на первом узле, который можно использовать для безопасной связи между первым узлом и вторым узлом. Способ в соответствии со вторым аспектом содержит следующие этапы:
отправление запроса в центральный сервер для установления безопасной связи со вторым узлом; прием первого файла генерации ключа от центрального сервера в ответ на запрос;
обработка первого файла генерации ключа;
формирование первого промежуточного набора данных; отправление первого промежуточного набора данных во второй узел; прием третьего промежуточного набора данных от второго узла;
сравнение битов третьего промежуточного набора данных с соответствующими битами первого
- 2 019411 промежуточного набора данных;
формирование первого шифровального ключа на основе побитового сравнения между третьим и первым промежуточными наборами данных путем сохранения значения бита первого набора данных, если соответствующий бит третьего промежуточного набора данных установлен в первое значение, и игнорирования бита первого промежуточного набора данных, если соответствующий бит третьего промежуточного набора данных установлен во второе значение.
В соответствии с третьим аспектом настоящего изобретения проблема решается способом формирования шифровального/дешифровального ключа на втором узле, который можно использовать для безопасной связи между первым узлом и вторым узлом. В соответствии с третьим аспектом способ содержит следующие этапы:
прием второго файла генерации ключа от центрального сервера в ответ на запрос от первого узла о начале безопасной связи между первым узлом и вторым узлом;
обработка второго файла генерации ключа;
формирование второго промежуточного набора данных;
прием первого промежуточного набора данных от первого узла;
сравнение битов первого промежуточного набора данных с соответствующими битами второго промежуточного набора данных;
создание нового, третьего промежуточного набора данных на основе побитового сравнения между первым и вторым промежуточными наборами данных путем установки первого значения, если сравниваемые биты равны, и второго значения, если сравниваемые биты не равны;
отправление третьего промежуточного набора данных первому узлу;
формирование второго шифровального ключа на основе побитового сравнения между первым и вторым промежуточными наборами данных путем сохранения значения бита второго набора данных, если соответствующий бит первого промежуточного набора данных одинаков, и игнорирования бита второго промежуточного набора данных, если сравниваемые биты не равны.
В соответствии с предпочтительным вариантом осуществления настоящего изобретения этап отправления первого и второго файлов генерации ключа также содержит отправление метаданных, присоединенных к каждому файлу генерации ключа, соответственно.
В еще одном предпочтительном варианте осуществления настоящего изобретения метаданные содержат константу, которая используется для формирования как первого, так и второго шифровального ключа. Метаданные могут также содержать информацию о длине шифровального ключа.
В другом варианте осуществления длина ключа может генерироваться случайно, в пределах заранее заданного интервала.
В соответствии с четвертым аспектом изобретения предоставляется компьютерная программа, которая содержит средства кода для выполнения этапов способа, когда программа исполняется на компьютере.
В соответствии с пятым аспектом изобретения предоставляется компьютерный программный продукт, который содержит средства кода программы, сохраненные на машиночитаемом носителе, для выполнения этапов способа, когда данный продукт запускается на компьютере.
Большим преимуществом настоящего изобретения является то, что ключ генерируется в узлах, которые хотят связаться друг с другом, и поэтому нет необходимости в распространении ключа.
Краткое описание чертежей
Изобретение описывается ниже со ссылкой на прилагаемые чертежи, на которых:
фиг. 1 представляет собой блок-схему последовательности операций, показывающую способ формирования криптографического ключа в соответствии с настоящим изобретением;
фиг. 2 является примером файла генерации ключа, отправленного с центрального сервера на узлы, которые хотят обмениваться сообщениями;
фиг. 3 является примером константы, используемой для формирования первого и второго промежуточных наборов данных;
фиг. 4 является примером первого промежуточного набора данных на первом узле А и второго промежуточного набора данных на втором узле В;
фиг. 5 является примером процесса сопоставления между первым и вторым промежуточными наборами данных и формирования криптографического ключа для второго узла В;
фиг. 6 является примером формирования криптографического ключа для первого узла А.
- 3 019411
Подробное описание изобретения
Настоящее изобретение будет теперь описываться подробно с помощью различных вариантов его осуществления. Варианты осуществления будут рассматриваться как примерные и поясняющие для понимания изобретения, а не как ограничивающие.
Фиг. 1 показывает способ формирования криптографического ключа в соответствии с настоящим изобретением. Весь способ осуществляется двумя узлами А и В, которые хотят установить защищенную связь друг с другом, используя защищенный шифровальный/дешифровальный ключ. Более того, способ осуществляется с помощью центрального сервера 2. На фиг. 1 с левой стороны показан первый узел А и с правой стороны - второй узел В, т.е. этапы, выполняемые первым узлом А, показаны слева от пунктирной линии, а этапы, выполняемые вторым узлом В, показаны справа от пунктирной линии. На практике первым узлом А может быть компьютер, пользователь которого может выразить желание начать защищенную связь с компьютером - вторым узлом В в его банке. Как является очевидным для специалиста в данной области техники, и первый узел А, и второй узел В могут быть любыми устройствами связи, которые желают осуществлять связь друг с другом.
Центральный сервер 2 может быть любым устройством связи, способным принимать и посылать данные защищенным образом с помощью некоторого рода сертификата безопасности. Для того чтобы узел был способен использовать способ формирования ключа в соответствии с настоящим изобретением, узлу необходимо быть авторизованным для связи с центральным сервером 2. Таким образом, центральный сервер 2 отслеживает всех пользователей, которые авторизованы для пользования способом формирования ключа. Как указывалось выше, связь между центральным сервером 2 и узлами, или наоборот, защищена путем использования некоторого рода сертификата безопасности. Предпочтительно для защищенной связи используется сертификат Х509 или аналогичный.
Способ формирования шифровального/дешифровального ключа в соответствии с настоящим изобретением будет теперь описываться посредством примера. Способ начинается с того, что узел, в этом примере первый узел А, посылает запрос в центральный сервер 2 для установления связи со вторым узлом В. Центральный сервер 2 вначале проверяет, авторизован ли первый узел А для установления связи со вторым узлом В, а также то, что второй узел В авторизован для связи с центральным сервером 2 и первым узлом А. Если оба узла авторизованы для начала связи друг с другом, центральный сервер 2, в ответ на запрос от первого узла А, пошлет первый файл генерации ключа первому узлу А и второй файл генерации ключа второму узлу В.
Фиг. 2 показывает пример файла генерации ключа, который посылается от центрального сервера первому узлу А и второму узлу В. Файл содержит файл процесса, который при исполнении первым узлом А и вторым узлом В будет формировать шифровальный/дешифровальный ключ. Поскольку процессы на первом узле А и втором узле В различны, что будет объясняться ниже, файл процесса, отправленный первому узлу А, отличается от файла процесса, отправленного второму узлу В. Как это видно из фиг. 2, файл генерации ключа содержит также метаданные М1, М2, ..., Мп. Метаданные могут содержать информацию, которая будет использоваться для формирования шифровального/дешифровального ключа, и одинаковые метаданные будут отправляться как первому узлу А, так и второму узлу В. Примерами метаданных является константа, используемая для формирования ключей.
Фиг. 3 показывает пример такой константы, используемой для формирования первого и второго промежуточных наборов данных, используемых во время формирования ключа. Метаданные могут также содержать метку времени, которая должна использоваться для сравнения того, имеют ли оба файла генерации ключа одинаковое происхождение.
Более того, метаданные могут также содержать информацию о длине ключа, которая должна использоваться, или о том, какие биты ключа должны быть использованы для формирования ключа. Как это очевидно специалисту в данной области техники, может быть ряд других метаданных, которые могут использоваться в целях дальнейшего повышения защищенности процесса формирования ключа.
Когда файл генерации ключа будет принят первым узлом А и вторым узлом В, каждый узел начнет обрабатывать этот файл. Во-первых, первый узел А сформирует первый промежуточный набор данных, и второй узел В сформирует второй промежуточный набор данных путем использования значения константы, как показано на фиг. 3. Константа содержит в этом случае четыре двоичных разряда, каждый из которых ассоциирован с буквой. Длина константы может произвольно меняться, и биты могут быть ассоциированы с буквами, цифрами, греческими символами и т.д.
Пример первого промежуточного набора данных для первого узла А и второго промежуточного набора данных для второго узла В показан на фиг. 4. Промежуточные наборы данных формируются путем использования некоторого рода известного генератора псевдослучайных чисел, с помощью таких псевдослучайных алгоритмов, как алгоритм Блюма, Блюма и Шуба (В1ит-В1ит-§йиЬ), Еойипа или вихрь Мерсенна (Мегаеппе), для формирования случайной последовательности, в этом случае букв А-Ό. Случайная последовательность букв показана в заголовке первого и второго промежуточных наборов данных на фиг. 4. Таким образом, для того чтобы сформировать промежуточный набор данных, вначале псевдослучайно определяется последовательность букв, и после этого будет предоставлено правильное значение, ассоциированное с буквой в соответствии с константой на фиг. 3. Если этот предварительный
- 4 019411 выбор приводит к формированию, например, только нулей или только единиц для промежуточного набора данных, этот результат может быть отфильтрован, и формируется новая случайная последовательность.
Поскольку как первый, так и второй промежуточные наборы данных формируются псевдослучайным образом, они никогда не будут одинаковыми. Длина промежуточных наборов данных в этом примере составляет всего лишь 8 бит, чтобы легко проиллюстрировать настоящее изобретение на примере. На практике, однако, длина промежуточных наборов данных заключается обычно между 64 и 2048 битами. Битовая длина может быть частью метаданных, как указывалось выше, и может устанавливаться случайно центральным сервером 2 каждый раз, как делается новый запрос с узла.
После формирования первого и второго промежуточных наборов данных первый узел отправит первый промежуточный набор данных второму узлу В без всякой защиты, т.е. открыто.
Второй узел В сравнит первый и второй промежуточные наборы данных друг с другом. Результат сравнения называется Сопоставление 1 в таблице, показанной на фиг. 5. Значение А и значение В соответствуют первому и второму промежуточным наборам данных соответственно. Сравнение является побитовым сравнением, и результатом является Истина (Тгие), если значение для первого и второго набора данных битов соответственно одинаково, и Ложь (Еаке), если они не одинаковы. Результат сравнения, Сопоставление 1, используется для создания нового, третьего промежуточного набора данных, Значения 1, путем установки первого значения, если сравниваемые биты равны, и второго значения, если сравниваемые биты не равны. В этом случае используется 1, когда сравниваемые биты равны, и используется 0, если биты не равны. Однако может быть также другой примерный образ действия, без отклонения от настоящего изобретения.
Третий промежуточный набор данных затем открыто посылается от второго узла В первому узлу А. Первый узел А затем формирует первый криптографический ключ на основе побитового сравнения между третьим и первым промежуточными наборами данных путем сохранения значения бита первого набора данных, если соответствующий бит третьего промежуточного набора данных установлен в первое значение, и игнорирования бита первого промежуточного набора данных, если соответствующий бит третьего промежуточного набора данных установлен во второе значение. В этом случае, который показан на фиг. 6, первое значение соответствует 1 и второе значение - 0. Как видно из фиг. 6, ключ содержит четыре бита вместо первоначальных восьми бит, поскольку четыре бита были проигнорированы во время формирования ключа.
Как указывалось выше, как первый промежуточный набор данных, так и третий промежуточный набор данных посылаются открыто. Даже если они были перехвачены, третий участник никоим образом не сформирует ключ с помощью этих данных, поскольку значение 1 в третьем наборе данных в действительности не означает значение 1, а только то, что первый набор данных и второй набор данных имеют одинаковое значение. Таким образом, 1 в третьем наборе данных может на самом деле быть либо 1, либо 0.
В узле В второй криптографический ключ формируется на основе побитового сравнения между первым и вторым промежуточными наборами данных, см. фиг. 5, путем сохранения значения бита второго набора данных, если соответствующий бит первого промежуточного набора данных одинаков, и игнорирования бита второго промежуточного набора данных, если сравниваемые биты не равны. Как можно видеть, вышеуказанные первый и второй криптографические ключи - идентичные ключи. Ключи могут затем быть использованы для шифрования/дешифрования информации, посылаемой между первым узлом А и вторым узлом В. Любой известный способ шифрования можно использовать вместе с ключом, сформированным по способу в соответствии с настоящим изобретением. Таким образом, настоящее изобретение направлено не на то, как делается шифрование/дешифрование, а на формирование криптографических ключей. Сформированный ключ будет действовать до тех пор, пока активен сеанс связи между первым и вторым узлами. Более того, когда ключ сформирован первым узлом А и вторым узлом В, файлы генерации ключа, принятые от центрального сервера, будут уничтожены в соответствующем узле.
Теперь весь способ настоящего изобретения описан подробно. Однако настоящее изобретение также относится к способу формирования шифровального/дешифровального ключа в первом узле А. Этот способ является сокращенным вариантом полного способа, описанного выше, и поэтому будет описан кратко. Способ, осуществляемый первым узлом, начинается с отправки запроса на центральный сервер 2 для установления безопасной связи со вторым узлом В. Первый узел затем принимает первый файл генерации ключа от центрального сервера 2 и начинает его обрабатывать. Этим формируется первый промежуточный набор данных, который, как указано выше, посылается второму узлу В.
Первый узел А затем примет третий промежуточный набор данных от второго узла В и сравнит биты третьего промежуточного набора данных с соответствующими битами первого промежуточного набора данных. Первый узел А сформирует первый шифровальный ключ на основе побитового сравнения между третьим и первым промежуточными наборами данных, сохраняя значение бита первого набора данных, если соответствующий бит третьего промежуточного набора данных установлен в первое значение, и игнорируя бит первого промежуточного набора данных, если соответствующий бит третьего промежуточного набора данных установлен во второе значение.
- 5 019411
Второй узел В также исполнит сокращенную версию полного способа, которая будет теперь описана кратко. Способ формирования шифровального/дешифровального ключа во втором узле В начинается с того, что второй узел В принимает второй файл генерации ключа от центрального сервера 2 и начинает его обрабатывать. Этим формируется второй промежуточный набор данных. После этого второй узел В примет первый промежуточный набор данных от первого узла А и сравнит биты первого промежуточного набора данных с соответствующими битами второго промежуточного набора данных. После этого второй узел В создаст новый, третий промежуточный набор данных на основе побитового сравнения между первым и вторым промежуточными наборами данных, устанавливая первое значение, если сравниваемые биты равны, и второе значение, если сравниваемые биты не равны. Третий промежуточный набор данных затем посылается первому узлу А.
Второй узел В затем формирует второй шифровальный ключ на основе побитового сравнения между первым и вторым промежуточными наборами данных, сохраняя значение бита второго набора данных, если соответствующий бит первого промежуточного набора данных одинаков, и игнорируя бит второго промежуточного набора данных, если сравниваемые биты не одинаковы.
Таким образом, с помощью способа, описанного выше, можно легким и защищенным образом формировать криптографические ключи там, где они используются, т.е. в узлах. Это очень выгодно, поскольку больше не существует необходимость распространения ключей. Ключ является одноразовым и будет действовать только для одного сеанса связи и до тех пор, пока он активен. Более того, ключи формируются в двух независимых процессах на двух отдельных узлах.
Даже если полагать, что вышеупомянутый способ очень надежный, надежность может быть дополнительно повышена при использовании метаданных, присоединенных к файлу генерации ключа. Например, метаданные могут сообщать, что только каждый третий или второй бит результата процесса формирования ключа должен использоваться в качестве ключа. Похожее использование метаданных может также указывать, что только каждый третий или второй бит должен быть прочитан, когда первый узел А и второй узел В осуществляют связь друг с другом во время процесса формирования ключа.
Следует понимать, что даже если изобретение описано со ссылкой на предпочтительные варианты осуществления, изобретение не ограничено таковыми. Существует много других вариантов осуществления и разновидностей, которые таким же образом находятся внутри объема изобретения, который определяется прилагаемой формулой изобретения.

Claims (14)

1. Способ формирования шифровального/дешифровального ключа, который используется для безопасной связи между первым узлом (А) и вторым узлом (В), содержащий этапы, на которых отправляют запрос от первого узла (А) на центральный сервер (2) для установления связи со вторым узлом (В);
отправляют от центрального сервера (2) первый файл генерации ключа первому узлу (А) и второй файл генерации ключа второму узлу (В) в ответ на запрос от первого узла (А);
начинают обработку первого файла генерации ключа в первом узле (А) и второго файла генерации ключа во втором узле (В);
формируют первый промежуточный набор данных в первом узле (А) и второй промежуточный набор данных во втором узле (В);
отправляют первый промежуточный набор данных с первого узла (А) второму узлу (В);
сравнивают биты первого промежуточного набора данных с соответствующими битами второго промежуточного набора данных;
создают новый, третий промежуточный набор данных на основе побитового сравнения между первым и вторым промежуточными наборами данных путем установки первого значения, если сравниваемые биты равны, и второго значения, если сравниваемые биты не равны;
отправляют третий промежуточный набор данных со второго узла (В) первому узлу (А);
сравнивают биты третьего промежуточного набора данных с соответствующими битами первого промежуточного набора данных;
формируют первый криптографический ключ на основе побитового сравнения между третьим и первым промежуточными наборами данных путем сохранения значения бита первого набора данных, если соответствующий бит третьего промежуточного набора данных установлен в первое значение, и игнорирования бита первого промежуточного набора данных, если соответствующий бит третьего промежуточного набора данных установлен во второе значение;
формируют второй криптографический ключ на основе побитового сравнения между первым и вторым промежуточными наборами данных путем сохранения значения бита второго набора данных, если соответствующий бит первого промежуточного набора данных одинаков, и игнорирования бита второго промежуточного набора данных, если сравниваемые биты не одинаковы, при этом первый и второй криптографические ключи идентичны.
2. Способ по п.1, в котором на этапе отправки первого файла генерации ключа первому узлу (А) и
- 6 019411 второго файла генерации ключа второму узлу (В) дополнительно отправляют метаданные, присоединенные к каждому файлу генерации ключа соответственно.
3. Способ по п.2, в котором метаданные содержат константу, которая должна использоваться для формирования как первого, так и второго криптографических ключей.
4. Способ по п.2 или 3, в котором метаданные содержат информацию о длине криптографического ключа.
5. Способ по п.4, дополнительно содержащий этап, на котором, в пределах заранее заданного интервала, случайным образом генерируют длину криптографического ключа.
6. Способ формирования шифровального/дешифровального ключа в первом узле (А), который используется для безопасной связи между первым узлом (А) и вторым узлом (В), содержащий этапы, на которых отправляют запрос на центральный сервер (2) для установления безопасной связи со вторым узлом (В); принимают первый файл генерации ключа от центрального сервера (2) в ответ на этот запрос; обрабатывают первый файл генерации ключа;
формируют первый промежуточный набор данных;
отправляют первый промежуточный набор данных второму узлу (В);
принимают третий промежуточный набор данных от второго узла (В);
сравнивают биты третьего промежуточного набора данных с соответствующими битами первого промежуточного набора данных;
формируют первый криптографический ключ на основе побитового сравнения между третьим и первым промежуточными наборами данных путем сохранения значения бита первого набора данных, если соответствующий бит третьего промежуточного набора данных установлен в первое значение, и игнорирования бита первого промежуточного набора данных, если соответствующий бит третьего промежуточного набора данных установлен во второе значение.
7. Способ по п.6, в котором на этапе приема первого файла генерации ключа дополнительно принимают метаданные, присоединенные к этому файлу.
8. Способ по п.7, в котором метаданные содержат константу, которая должна использоваться для формирования первого криптографического ключа.
9. Способ по п.7 или 8, в котором метаданные содержат информацию о длине криптографического ключа.
10. Способ формирования шифровального/дешифровального ключа во втором узле (В), который используется для безопасной связи между первым узлом (А) и вторым узлом (В), содержащий этапы, на которых принимают второй файл генерации ключа от центрального сервера (2) в ответ на запрос от первого узла (А) о начале безопасной связи между первым узлом (А) и вторым узлом (В);
обрабатывают второй файл генерации ключа;
формируют второй промежуточный набор данных;
принимают первый промежуточный набор данных от первого узла (А);
сравнивают биты первого промежуточного набора данных с соответствующими битами второго промежуточного набора данных;
создают новый, третий промежуточный набор данных на основе побитового сравнения между первым и вторым промежуточными наборами данных путем установки первого значения, если сравниваемые биты равны, и второго значения, если сравниваемые биты не равны;
отправляют третий промежуточный набор данных первому узлу (А);
формируют второй криптографический ключ на основе побитового сравнения между первым и вторым промежуточными наборами данных путем сохранения значения бита второго набора данных, если соответствующий бит первого промежуточного набора данных одинаков, и игнорирования бита второго промежуточного набора данных, если сравниваемые биты не одинаковы.
11. Способ по п.10, в котором на этапе приема второго файла генерации ключа дополнительно принимают метаданные, присоединенные к этому файлу.
12. Способ по п.11, в котором метаданные содержат константу, которая должна использоваться для формирования второго криптографического ключа.
13. Способ по п.10 или 11, в котором метаданные содержат информацию о длине криптографического ключа.
14. Машиночитаемый носитель информации, на котором сохранены средства кода программы для выполнения способа по любому одному из пп.1-13, когда средства кода программы запускаются на компьютере.
EA201100887A 2009-07-03 2010-07-05 Способ формирования шифровального/дешифровального ключа EA019411B1 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US22294909P 2009-07-03 2009-07-03
SE0900918A SE534384C2 (sv) 2009-07-03 2009-07-03 Förfarande för att alstra en krypterings-/dekrypteringsnyckel
PCT/SE2010/050780 WO2011002412A1 (en) 2009-07-03 2010-07-05 Method for generating an encryption/decryption key

Publications (2)

Publication Number Publication Date
EA201100887A1 EA201100887A1 (ru) 2011-10-31
EA019411B1 true EA019411B1 (ru) 2014-03-31

Family

ID=43411294

Family Applications (1)

Application Number Title Priority Date Filing Date
EA201100887A EA019411B1 (ru) 2009-07-03 2010-07-05 Способ формирования шифровального/дешифровального ключа

Country Status (21)

Country Link
US (1) US8433066B2 (ru)
EP (1) EP2361462B1 (ru)
JP (3) JP2012532486A (ru)
KR (1) KR101747888B1 (ru)
CN (1) CN102227887B (ru)
AU (1) AU2010266760B2 (ru)
BR (1) BRPI1014192A2 (ru)
CA (1) CA2747891C (ru)
DK (1) DK2361462T3 (ru)
EA (1) EA019411B1 (ru)
EG (1) EG26868A (ru)
ES (1) ES2566160T3 (ru)
HK (1) HK1157972A1 (ru)
IL (1) IL216897A (ru)
MX (1) MX2012000104A (ru)
NZ (1) NZ596935A (ru)
PL (1) PL2361462T3 (ru)
SE (1) SE534384C2 (ru)
SG (1) SG176707A1 (ru)
WO (1) WO2011002412A1 (ru)
ZA (1) ZA201103163B (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2765238C2 (ru) * 2017-03-06 2022-01-27 Конинклейке Филипс Н.В. Устройство и способ совместного использования матрицы для использования в криптографическом протоколе

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103679495B (zh) * 2012-09-18 2018-08-10 星贝瑞有限公司 一种印花发放方法及系统
US10277559B2 (en) * 2014-05-21 2019-04-30 Excalibur Ip, Llc Methods and systems for data traffic control and encryption
SE538279C2 (sv) * 2014-09-23 2016-04-19 Kelisec Ab Förfarande och system för att fastställa förekomst av
SE542460C2 (en) * 2014-10-09 2020-05-12 Kelisec Ab Improved security through authenticaton tokens
SE540133C2 (en) * 2014-10-09 2018-04-10 Kelisec Ab Improved system for establishing a secure communication channel
SE538304C2 (sv) 2014-10-09 2016-05-03 Kelisec Ab Improved installation of a terminal in a secure system
SE539602C2 (en) 2014-10-09 2017-10-17 Kelisec Ab Generating a symmetric encryption key
SE539271C2 (en) 2014-10-09 2017-06-07 Kelisec Ab Mutual authentication
CN106161402B (zh) * 2015-04-22 2019-07-16 阿里巴巴集团控股有限公司 基于云环境的加密机密钥注入系统、方法及装置
WO2017015153A1 (en) * 2015-07-17 2017-01-26 Robert Bosch Gmbh Method and system for secure key generation over an insecure shared communication medium
DE102015219991A1 (de) * 2015-10-15 2017-04-20 Robert Bosch Gmbh Verfahren und Vorrichtung zum Etablieren eines gemeinsamen Geheimnisses
US20200106787A1 (en) * 2018-10-01 2020-04-02 Global Data Sentinel, Inc. Data management operating system (dmos) analysis server for detecting and remediating cybersecurity threats
WO2021168164A1 (en) * 2020-02-21 2021-08-26 SDSE Networks LLC Method and system for secure communication
EP4189573A4 (en) * 2020-07-28 2024-08-14 Geneial Llc SECURE DATA EXCHANGE

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997016902A2 (en) * 1995-11-02 1997-05-09 Tri-Strata Security, Inc. Unified end-to-end security methods and systems for operating on insecure networks
US20020159598A1 (en) * 1997-10-31 2002-10-31 Keygen Corporation System and method of dynamic key generation for digital communications
WO2003009513A2 (en) * 2001-07-17 2003-01-30 King Green Ltd. Secure communication system and method using shared random source for key changing
WO2006081306A2 (en) * 2005-01-27 2006-08-03 Interdigital Technology Corporation Generation of perfectly secret keys in wireless communication networks
US20080147820A1 (en) * 2006-12-19 2008-06-19 Nec Corporation Method and system for managing shared information
GB2447674A (en) * 2007-03-21 2008-09-24 Lancaster University Using environmental data to generate a cryptographic key

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043633B1 (en) 2000-08-28 2006-05-09 Verizon Corporation Services Group Inc. Method and apparatus for providing adaptive self-synchronized dynamic address translation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997016902A2 (en) * 1995-11-02 1997-05-09 Tri-Strata Security, Inc. Unified end-to-end security methods and systems for operating on insecure networks
US20020159598A1 (en) * 1997-10-31 2002-10-31 Keygen Corporation System and method of dynamic key generation for digital communications
WO2003009513A2 (en) * 2001-07-17 2003-01-30 King Green Ltd. Secure communication system and method using shared random source for key changing
WO2006081306A2 (en) * 2005-01-27 2006-08-03 Interdigital Technology Corporation Generation of perfectly secret keys in wireless communication networks
US20080147820A1 (en) * 2006-12-19 2008-06-19 Nec Corporation Method and system for managing shared information
GB2447674A (en) * 2007-03-21 2008-09-24 Lancaster University Using environmental data to generate a cryptographic key

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2765238C2 (ru) * 2017-03-06 2022-01-27 Конинклейке Филипс Н.В. Устройство и способ совместного использования матрицы для использования в криптографическом протоколе

Also Published As

Publication number Publication date
HK1157972A1 (en) 2012-07-06
SG176707A1 (en) 2012-01-30
US8433066B2 (en) 2013-04-30
IL216897A (en) 2015-07-30
ZA201103163B (en) 2012-08-29
ES2566160T3 (es) 2016-04-11
EP2361462A1 (en) 2011-08-31
EG26868A (en) 2014-11-10
KR101747888B1 (ko) 2017-06-15
BRPI1014192A2 (pt) 2016-10-25
KR20120040127A (ko) 2012-04-26
EA201100887A1 (ru) 2011-10-31
DK2361462T3 (en) 2016-02-15
NZ596935A (en) 2013-02-22
CN102227887A (zh) 2011-10-26
MX2012000104A (es) 2012-06-25
EP2361462A4 (en) 2011-11-23
PL2361462T3 (pl) 2016-06-30
SE534384C2 (sv) 2011-08-02
WO2011002412A1 (en) 2011-01-06
IL216897A0 (en) 2012-02-29
AU2010266760A1 (en) 2011-01-06
JP2015092745A (ja) 2015-05-14
SE0900918A1 (sv) 2011-01-04
JP2012532486A (ja) 2012-12-13
US20120087495A1 (en) 2012-04-12
JP2017022773A (ja) 2017-01-26
AU2010266760B2 (en) 2014-04-10
CA2747891C (en) 2014-09-02
CA2747891A1 (en) 2011-01-06
CN102227887B (zh) 2014-07-09
EP2361462B1 (en) 2016-01-27

Similar Documents

Publication Publication Date Title
US11621833B2 (en) Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
US8433066B2 (en) Method for generating an encryption/decryption key
JP5562687B2 (ja) 第1のユーザによって第2のユーザに送信される通信の安全化
US9130744B1 (en) Sending an encrypted key pair and a secret shared by two devices to a trusted intermediary
US12010216B2 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
US11528127B2 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
CN113711564A (zh) 用于加密数据的计算机实现的方法和系统
Azaim et al. Design and implementation of encrypted SMS on Android smartphone combining ECDSA-ECDH and AES
Nithya et al. An Analysis on Cryptographic Algorithms for Handling Network Security Threats
US20240356730A1 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
Malluh et al. A highly secure quantum communication scheme for Blind Signature using qubits and qutrits
Usman et al. Securing Data on Transmission from Man-In-The-Middle Attacks Using Diffie Hell-Man Key Exchange Encryption Mechanism
Poritz Open Workbook of Cryptology
Jonathan A Open Workbook of Cryptology: A project-based introduction to crypto in Python
Sangamkumar et al. Improved Scheme of ECC and as Intrusion Detector.
Diwaker et al. Quantum cryptography: a new approach to information security
Verma et al. Enchancement of security of firewall based cloud server using customized DES
Raghuvamshi et al. An Efficient RSA Based Key Authenticated Prime Fibonacci Cryptosystem.
Shaker Proposed Digital Signature Using One Time Pad
KEVIN HENRY et al. Cryptography
JP2005269587A (ja) 鍵共有システム、暗号システム、ファイル認証システム
JPH11215118A (ja) 複数暗号文の平文同一性証明方法および装置、ならびに複数暗号文の平文同一性証明を行うためのプログラムを記録した記録媒体

Legal Events

Date Code Title Description
MM4A Lapse of a eurasian patent due to non-payment of renewal fees within the time limit in the following designated state(s)

Designated state(s): AM AZ BY KZ KG MD TJ TM RU