RU2090006C1 - Способ формирования ключа шифрования-дешифрования - Google Patents
Способ формирования ключа шифрования-дешифрования Download PDFInfo
- Publication number
- RU2090006C1 RU2090006C1 RU94027301A RU94027301A RU2090006C1 RU 2090006 C1 RU2090006 C1 RU 2090006C1 RU 94027301 A RU94027301 A RU 94027301A RU 94027301 A RU94027301 A RU 94027301A RU 2090006 C1 RU2090006 C1 RU 2090006C1
- Authority
- RU
- Russia
- Prior art keywords
- key
- confidential
- personal
- keys
- user
- Prior art date
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
Изобретение относится к области криптографии, а именно к распределению ключей и, в частности, может быть использовано для построения систем распределения ключей, устойчивых к заданному числу компрометаций личных ключей пользователей, для обеспечения конфиденциальной связи между любой их парой. Техническим результатом является разработка способа формирования ключа шифрования/дешифрования, обеспечивающего более простую программно-аппаратную реализацию на базе одного типового микропроцессора быстродействующего устройства формирования сеансового ключа, снижение вероятностных обоев при вводе личного ключа, упрощение его хранения, повышения устойчивости к внешним механическим и электромагнитным воздействиям. Способ включает формирование конфиденциального ключа ЦРК путем выбора на основе датчика случайных чисел коэффициентов симметрических полиномов fi(x1, x2), выработку личного конфиденциального ключа пользователя - подстановкой в полиномы fi(x1, x2) идентификатора пользователя, получение сеансового ключа - подстановкой в личный ключ идентификатора пользователя. 2 табл.
Description
Изобретение относится к области криптографии, а именно к распределению ключей, и, в частности, может быть использовано для построения систем распределения ключей, устойчивых к заданному числу компрометаций личных ключей пользователей, для обеспечения конфиденциальной связи между любой парой пользователей, входящих в эту систему, без участия третьей стороны и необходимости передачи какой-либо информации по каналу связи.
Известны способы формирования ключей шифрования/дешифрования [1] включающие формирование конфиденциального ключа центра распределения ключей (ЦРК), присвоение идентификаторов пользователям, выработку личных конфиденциальных ключей пользователей, получение сеансовых ключей для конфиденциальной связи любой пары корреспондентов. Однако, известные способы-аналоги являются лишь вычислительно стойкими и не позволяют получить безусловную стойкость к компрометациям личных и сеансовых ключей.
Наиболее близким по своей технической сущности к заявляемому способу формирования ключа шифрования/дешифрования является способ [2] Способ-прототип включает формирование конфиденциального ключа ЦРК, присвоение идентификаторов пользователям, выработку личных конфиденциальных ключей пользователей и получение сеансовых ключей для любой пары корреспондентов.
Формирование конфиденциального ключа ЦРК заключается в выборе случайным образом, например, при помощи датчика случайных чисел элементов симметричных матриц G1, G2, Gn размера m•m в конечном поле GF (2n).
Присвоение идентификаторов пользователям осуществляется следующим образом: i пользователю ставится в соответствие какое-то число yi такое, что yi≠yj, при i≠j, например, номер, под которым пользователь вводится в систему.
Выработки личных конфиденциальных ключей заключается в выработке для каждого пользователя конфиденциального алгоритма Xi:
Xi(ξ) = xi•R(ξ)тmod(2n), ξ ∈ I
для каждого yi ∈ I Здесь, I=y1, y2, множество идентификаторов всех пользователей, xi есть матрица размера (n, m) и определяется выражением
где R однонаправленная функция, которая преобразует идентификатор пользователя yi в матрицу R(yi) размера 1•m.
Xi(ξ) = xi•R(ξ)тmod(2n), ξ ∈ I
для каждого yi ∈ I Здесь, I=y1, y2, множество идентификаторов всех пользователей, xi есть матрица размера (n, m) и определяется выражением
где R однонаправленная функция, которая преобразует идентификатор пользователя yi в матрицу R(yi) размера 1•m.
Сеансовый ключ длиной n бит между корреспондентами A и B вычисляется как
KAB=XA(yB) mod(2n)=XB(yA) mod(2n).
KAB=XA(yB) mod(2n)=XB(yA) mod(2n).
Однако, учитывая, что для обеспечения гарантированной стойкости криптографической системы длина ключа n должна быть не менее 256 бит (ГОСТ 28147-89. Спесивцев А. В. и др. Защита информации в персональных ЭВМ. М. Радио и связь, 1992 г. с. 29-44), способ-прототип имеет недостатки.
Для построения конечного поля GF(2n) необходимо выбрать неприводимый полином степени n (Лидл Р. Нидеррайтер Г. Конечные поля. М. Мир, 1988 г. с. 40-46). Процедура поиска таких полиномов заключается в случайном выборе полинома степени n и его тестирования на неприводимость. При этом тест дает лишь вероятностную оценку (Мафтик С. Механизмы защиты в сетях ЭВМ. М. Мир, 1993 г. с. 57-58).
При программно-аппаратной реализации устройств, выполняющих процедуры получения личных и сеансовых ключей, требуется на выполнение этих процедур много времени из-за того, что арифметические операции осуществляются конечном поле GF(2n) над числами, разрядность которых в несколько раз превосходит разрядность типовых микропроцессоров, что вызывает проблемы при применении этих устройств для работы в реальном масштабе времени.
Аппаратная реализация таких устройств наталкивается на значительные трудности из-за ее сложности и громозкости.
При обеспечении стойкости от компрометаций личных ключей t>10 требуется большой объем памяти для хранения личного ключа пользователя, что приводит к эксплуатационным трудностям: увеличивается объем носителя, на котором хранится личный ключ, усложняются вопросы, связанные с его хранением, увеличивается вероятность cбоев при вводе хранящейся на нем информации, повышается чувствительность к механическим и электромагнитным воздействиям.
Техническим результатом является разработка способа формирования ключа шифрования/дешифрования, обеспечивающего исключение процедуры поиска неприводимых полиномов степени n, более простую программно-аппаратную реализацию на базе одного типового микропроцессора быстродействующего устройства формирования сеансового ключа, снижение вероятностных сбоев при вводе личного ключа, упрощение его хранения, повышения устойчивости к внешним механическим и электромагнитным воздействиям.
Технический результат достигается тем, что в известном способе формирования ключа шифрования/дешифрования, включающем формирование конфиденциального ключа ЦРК, присвоение идентификаторов пользователям, выработку личных конфиденциальных ключей пользователей и получение сеансовых ключей для конфиденциальной связи любой пары пользователей, формирование конфиденциального ключа ЦРК осуществляют путем выбора на основе датчика случайных чисел коэффициентов симметрических полиномов выработку личного конфиденциального ключа пользователя A в виде коэффициентов полиномов получаемых при подстановке в полиномы идентификатора yA, получение сеансового ключа KAB подстановкой в личный конфиденциальный ключ идентификатора корреспондента B, при этом сеансовый ключ длиной n бит представляет собой конкатенацию (последовательно присоединение друг к другу справа) т.е. может быть вычислен по формуле:
KAB=RAB,0+RAB,1•(216)+RAB,2 •(216)2+.+RAB,r-1•(216)r-1,
где r=n/16,
При этом представление конфиденциального ключа ЦРК (личных конфиденциальных ключей пользователей) в виде конкатенации r=n/16 независимых частей, представляющих собой коэффициенты полиномов вида позволяет исключить процедуры поиска неприводимых полиномов степени n, заменив их табличным поиском неприводимых полиномов степени 15 (Питерсон У. Уэлдон Э. Коды, исправляющие ошибки. М. Мир, 1976 г. с. 519-523). Более простая программно-аппаратная реализация на базе одного микропроцессора быстродействующего устройства формирования сеансового ключа достигается путем уменьшения вычислительной сложности процедур получения сеансового ключа и личного ключа пользователя за счет использования вместо конечных полей GF(2n) поля GF(216), т.е. арифметические операции выполняются над числами, разрядность которых не превосходит разрядности типового микропроцессора, например КР1810ВМ86. Снижение вероятностных сбоев при вводе личного ключа, упрощение его хранения, повышения устойчивости к внешним механическим и электромагнитным воздействиям обеспечивается за счет уменьшения объема личного ключа.
KAB=RAB,0+RAB,1•(216)+RAB,2 •(216)2+.+RAB,r-1•(216)r-1,
где r=n/16,
При этом представление конфиденциального ключа ЦРК (личных конфиденциальных ключей пользователей) в виде конкатенации r=n/16 независимых частей, представляющих собой коэффициенты полиномов вида позволяет исключить процедуры поиска неприводимых полиномов степени n, заменив их табличным поиском неприводимых полиномов степени 15 (Питерсон У. Уэлдон Э. Коды, исправляющие ошибки. М. Мир, 1976 г. с. 519-523). Более простая программно-аппаратная реализация на базе одного микропроцессора быстродействующего устройства формирования сеансового ключа достигается путем уменьшения вычислительной сложности процедур получения сеансового ключа и личного ключа пользователя за счет использования вместо конечных полей GF(2n) поля GF(216), т.е. арифметические операции выполняются над числами, разрядность которых не превосходит разрядности типового микропроцессора, например КР1810ВМ86. Снижение вероятностных сбоев при вводе личного ключа, упрощение его хранения, повышения устойчивости к внешним механическим и электромагнитным воздействиям обеспечивается за счет уменьшения объема личного ключа.
Возможность технической реализации заявляемого способа формирования ключа шифрования/дешифрования длиной n, например 256 бит,объясняется следующим.
После того, как выбраны значения l требуемой стойкости системы обмена конфиденциальной информацией к компрометациям личных ключей пользователей и табличный полином степени 15, на ЦРК формируют конфиденциальный ключ в виде конкатенации коэффициентов симметрических полиномов которые выбирают на основе датчика случайных чисел.
Можно показать, что для того, чтобы обеспечить наименьший объем конфиденциального ключа ЦРК и личных конфиденциальных ключей пользователей для заданной стойкости l к компрометациям личных конфиденциальных ключей пользователей, симметрические полиномы у которых все коэффициенты отличны от нуля, должны иметь вид:
где
После этого конфиденциальный ключ ЦРК записывается на носителе (перфоленту, магнитную ленту, магнитный диск и т.д.), содержится в секрете и известен только ЦРК.
где
После этого конфиденциальный ключ ЦРК записывается на носителе (перфоленту, магнитную ленту, магнитный диск и т.д.), содержится в секрете и известен только ЦРК.
Присвоение идентификаторов пользователям осуществляется путем постановки им в соответствие какого-либо числа yi, такого, что yi≠yj, при i≠j, которое выбирают, например, либо на основе датчика случайных чисел, либо приравнивают номеру, под которым пользователь вводится в систему. Идентификаторы пользователей размещаются на носителе, в качестве которого может выступать, например, магнитный диск, справочник, книга. Данный носитель доступен всем пользователям.
Выработку личного конфиденциального ключа, например пользователя A, осуществляют путем подстановки его идентификатора yA вместо одного из аргументов в симметрические полиномы . Тогда личный ключ представляет собой конкатенацию коэффициентов полиномов где
gA,i(x)=fi(x,yA),
и которые после преобразования имеют вид:
gA,i(x)=ai,0+ai,1•x+ai,2x2 +ai,3x3+.+ai,1xi mod(216).
gA,i(x)=fi(x,yA),
и которые после преобразования имеют вид:
gA,i(x)=ai,0+ai,1•x+ai,2x2 +ai,3x3+.+ai,1xi mod(216).
После этого личный конфиденциальный ключ записывают на носителе (перфоленте, магнитной ленте, магнитном диске и т.д.), выдают пользователю, который хранит его в секрете.
Теперь, если какие-либо пользователи, например A и B, хотят получить сеансовый ключ KAB, причем KAB=KBA,то для этого каждый из них, например пользователь A, выполняет подстановку идентификатора пользователя B полиномы коэффициенты которых являются личным ключом пользователя A. Сеансовый ключ KAB длиной 256 бит образуют как конкатенацию т.е. может быть вычислен по формуле
KAB=RAB,0+RAB,1•(216)+ +RAB,2•(216)2+.+RAB,r-1• (216)r-1,
где
Можно показать, что применение симметрических полиномов вместо матриц позволяет уменьшить объем личных конфиденциальных ключей пользователей более чем в 32 раза (табл. 1). Это влечет снижение вероятностных сбоев при вводе личного ключа, упрощение его хранения, повышение устойчивости к внешним механическим и электромагнитным воздействиям.
KAB=RAB,0+RAB,1•(216)+ +RAB,2•(216)2+.+RAB,r-1• (216)r-1,
где
Можно показать, что применение симметрических полиномов вместо матриц позволяет уменьшить объем личных конфиденциальных ключей пользователей более чем в 32 раза (табл. 1). Это влечет снижение вероятностных сбоев при вводе личного ключа, упрощение его хранения, повышение устойчивости к внешним механическим и электромагнитным воздействиям.
Можно показать, что представление конфиденциального ключа ЦРК, личных конфиденциальных ключей пользователей и сеансовых ключей в виде конкатенации r независимых частей, сохраняет равновероятное распределение значения сеансового ключа в интервале (1, 2n), устойчивость к l компрометациям, также, если бы в качестве конфиденциального ключа ЦРК были выбраны коэффициенты одного полинома f(x1, x2) в конечном поле GF(2n), в качестве личного конфиденциального ключа коэффициенты полинома gA(x) в GF(2n). Такое представление позволяет, не изменяя общего объема конфиденциального ключа ЦРК, личных конфиденциальных ключей пользователей, уменьшить вычислительную сложность процедур получения сеансовых и личных конфиденциальных ключей более чем в 100 раз (табл. 2). Это позволит получить более простую программно-аппаратную реализацию быстродействующего устройства формирования сеансового ключа на базе одного типового микропроцессора, например в виде интеллектуальной карточки. Хотя это приводит к ограничению общего числа пользователей в системе с 2n до 216 (≈32000), но это вполне приемлемо для реально существующих систем.
Claims (1)
- Способ формирования ключа шифрования-дешифрования, включающий формирование конфиденциального ключа центра распределения ключей, присвоение идентификаторов YA, YB пользователям (A, B номера пользователей в системе обмена, A≠B), выработку личных конфиденциальных ключей пользователей и получение сеансных ключей, отличающийся тем, что формирование конфиденциального ключа центра распределения ключей осуществляют путем выбора на основе случайных чисел коэффициентов bi,sv, bi,mm симметричных полиномов
вида
где bi,sv≠ 0;
выработку личного конфиденциального ключа пользователя A в виде коэффициентов полиномов идентификатора YA вместо одного из аргументов полинома Х1 или Х2, получение сеансового ключа КA B подстановкой в полиномы коэффициентами которых является личный конфиденциальный ключ пользователя A, идентификатора YB вместо аргумента Х, при этом сеансовый ключ длиной n бит представляет собой конкатенацию элементов ключа по 16 бит каждый, где
r n/16;
gA,i(x) fi(X,YA) mod 216,
KAB,i gA,i(YB) mod 216, н
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU94027301A RU2090006C1 (ru) | 1994-07-18 | 1994-07-18 | Способ формирования ключа шифрования-дешифрования |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU94027301A RU2090006C1 (ru) | 1994-07-18 | 1994-07-18 | Способ формирования ключа шифрования-дешифрования |
Publications (2)
Publication Number | Publication Date |
---|---|
RU94027301A RU94027301A (ru) | 1996-07-20 |
RU2090006C1 true RU2090006C1 (ru) | 1997-09-10 |
Family
ID=20158711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU94027301A RU2090006C1 (ru) | 1994-07-18 | 1994-07-18 | Способ формирования ключа шифрования-дешифрования |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2090006C1 (ru) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2642806C1 (ru) * | 2017-03-27 | 2018-01-26 | Франгиз Гильфанетдинович Хисамов | Способ формирования ключа шифрования-дешифрования |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5255436B2 (ja) * | 2005-06-08 | 2013-08-07 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 人体センサネットワーク用の決定論的鍵事前配布及び運用鍵管理 |
-
1994
- 1994-07-18 RU RU94027301A patent/RU2090006C1/ru active
Non-Patent Citations (1)
Title |
---|
1. Okamoto E. Key distribution Systems based on identification information. - Adwances in Cryptology. CKYPTO, 87, Leeture Notex in Computes Science, N 293, Springer - Verlag, 1988, р.194 - 202. 2. Matsumoto T. On the Key predistribution Systems: a practical solution to the Key distribution problem. - Advances in Cryptology. SKYPTO, 87, Lecture Notes in Computer Scille, N 293, Springer - Verlag, 1988, р.185 - 193. * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2642806C1 (ru) * | 2017-03-27 | 2018-01-26 | Франгиз Гильфанетдинович Хисамов | Способ формирования ключа шифрования-дешифрования |
Also Published As
Publication number | Publication date |
---|---|
RU94027301A (ru) | 1996-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11991275B2 (en) | System and method for quantum-safe authentication, encryption and decryption of information | |
US7007050B2 (en) | Method and apparatus for improved pseudo-random number generation | |
AU702766B2 (en) | A non-deterministic public key encryption system | |
US8189775B2 (en) | Method of performing cipher block chaining using elliptic polynomial cryptography | |
US7221756B2 (en) | Constructions of variable input length cryptographic primitives for high efficiency and high security | |
US5541996A (en) | Apparatus and method for a pseudo-random number generator for high precision numbers | |
US20060034456A1 (en) | Method and system for performing perfectly secure key exchange and authenticated messaging | |
JPH09230787A (ja) | 暗号化方法および装置 | |
JP2008516296A (ja) | 擬群を用いる、暗号法の基本要素、エラーコーディング、及び擬似ランダム数改善方法 | |
JP2008513811A (ja) | 計算変換の方法及びシステム | |
CN113711564A (zh) | 用于加密数据的计算机实现的方法和系统 | |
JP3728500B2 (ja) | 変調メッセージの認証システム及び方法 | |
JP2009116348A (ja) | データの非相関化方法 | |
US6560337B1 (en) | Systems, methods and computer program products for reducing effective key length of ciphers using one-way cryptographic functions and an initial key | |
RU2090006C1 (ru) | Способ формирования ключа шифрования-дешифрования | |
US7280663B1 (en) | Encryption system based on crossed inverse quasigroups | |
Bhowmik et al. | A symmetric key based secret data sharing scheme | |
US11343108B2 (en) | Generation of composite private keys | |
US7756269B2 (en) | Cryptosystem for communication networks | |
RU2642806C1 (ru) | Способ формирования ключа шифрования-дешифрования | |
Simmons | Symmetric and asymmetric encryption | |
Mukherjee et al. | Design and Cryptanalysis of ZUC: A Stream Cipher in Mobile Telephony | |
JP2948605B2 (ja) | 暗号鍵共通の暗号通信用端末 | |
Simmons | 10. Symmetric and | |
AU750408B2 (en) | A method of combining a serial keystream output with binary information |