RU2294559C1 - Device for generating pseudo-random series of binary numbers with usage of elliptic curves - Google Patents
Device for generating pseudo-random series of binary numbers with usage of elliptic curves Download PDFInfo
- Publication number
- RU2294559C1 RU2294559C1 RU2005116767/09A RU2005116767A RU2294559C1 RU 2294559 C1 RU2294559 C1 RU 2294559C1 RU 2005116767/09 A RU2005116767/09 A RU 2005116767/09A RU 2005116767 A RU2005116767 A RU 2005116767A RU 2294559 C1 RU2294559 C1 RU 2294559C1
- Authority
- RU
- Russia
- Prior art keywords
- block
- input
- output
- sequence
- elliptic curve
- Prior art date
Links
Landscapes
- Storage Device Security (AREA)
Abstract
Description
Изобретение относится к области электросвязи и вычислительной техники, а конкретнее к области способов и устройств для криптографического преобразования данных, и может быть использовано в связных, вычислительных и информационных системах для криптографического закрытия двоичной информации и вычисления чисел, близких к случайным, когда необходимо вычисление значений сеансовых ключей и другой информации, к которой предъявляются требования слабой предсказуемости и высокой энтропии значений, при обмене данными правительственными, правоохранительными, оборонными, банковскими и промышленными учреждениями, когда возникает необходимость хранения и передачи конфиденциальной информации, а также организации связи на основе шумоподобных сигналов.The invention relates to the field of telecommunications and computer technology, and more particularly to the field of methods and devices for cryptographic data conversion, and can be used in communication, computing and information systems for cryptographic closing of binary information and calculating close random numbers when it is necessary to calculate session values keys and other information, to which requirements of low predictability and high entropy of values are imposed, when exchanging government data, etc. -enforcement, defense, banking and industrial institutions, when it becomes necessary to store and transmit sensitive information, as well as the organization of communication on the basis of noise-like signals.
Известно устройство для генерации случайных чисел [Tezuka S. Pseudorandom number generator. Патент US №5046036 от 3.09.1991 г., кл. G 06 F 007/38], в котором для вычисления значений псевдослучайных наборов чисел используют совокупность преобразования синхропосылки с помощью генератора так называемых M-последовательностей и трех видов преобразования полученных последовательностей:A device for generating random numbers is known [Tezuka S. Pseudorandom number generator. US patent No. 5046036 from 3.09.1991, cl. G 06 F 007/38], in which to compute the values of pseudo-random sets of numbers using the combination of the sync package using a generator of the so-called M-sequences and three types of conversion of the obtained sequences:
умножения вектора Р со значениями, полученными из генератора М-последовательностей на изначально заданную матрицу G, сложения по модулю 2 двух выходных битов генератора М-последовательностей; битовых подстановок Si результата умножения вектора Р на матрицу G.multiplying the vector P with the values obtained from the M-sequence generator by the initially given matrix G, modulo 2 addition of two output bits of the M-sequence generator; bitwise permutations S i of the result of multiplying the vector P by the matrix G.
Однако устройство имеет недостатки, заключающиеся в невысокой криптостойкости операций генератора (из-за использования генераторов M-последовательностей, которые не обладают достаточной криптостойкостью [Иванов М.А., Чугунков И.В. Теория, применение и оценка качества генераторов псевдослучайных последовательностей. М.: Кудиц-образ, 2003 - 240 с.]), а также необходимости наличия действительно случайного значения синхропосылки, с помощью которой производится вычисление M-последовательностей [Аграновский А.В., Хади Р.А. Практическая криптография: алгоритмы и их программирование. М.: Солон-Пресс, 2002 - 256 с.], что существенно для использования данного устройства на практике.However, the device has drawbacks in the low cryptographic stability of generator operations (due to the use of generators of M-sequences that do not have sufficient cryptographic stability [Ivanov MA, Chugunkov IV Theory, application and quality assessment of pseudo-random sequence generators. M. : Kudits-image, 2003 - 240 pp.]), As well as the need for a truly random value of the clock package, with the help of which the calculation of M-sequences is performed [Agranovsky A.V., Khadi R.A. Practical cryptography: algorithms and their programming. M .: Solon-Press, 2002 - 256 S.], which is essential for the use of this device in practice.
Известно также другое устройство для генерации псевдослучайной последовательности бит [Mark, J.G., Tazartes D.A., Tazartes D.I., Wiener D.P. Fiber-optic gyro utilizing pseudorandom-bit-sequence light modulation. Патент US №6130755 от 10.10.2000 г., кл. G 01 C 019/72], работа которого основана на выборе 0 или 1 в качестве следующего бита псевдослучайной последовательности в зависимости от результатов проверки предыдущих битов последовательности на соответствие изначально заданным критериям. Принцип работы устройства основан на двух типах критериев - если удовлетворяется одна группа критериев (так называемые "0-критерии"), выбирается нулевое значение следующего выходного бита последовательности, если же удовлетворяется вторая группа критериев (так называемые "1-критерии"), то в качестве выходного бита выбирается единица. Сущность критериев заключается в измерении свойств цепочки предыдущих выходных битов достаточной длины. В качестве следующего бита вычисляемой псевдослучайной последовательности выбирается очередной бит, полученный другим более произвольным методом (например, сложением последних j (j=1, 2, 3...) бит по модулю 2).Another device for generating a pseudo-random sequence of bits is also known [Mark, J.G., Tazartes D.A., Tazartes D.I., Wiener D.P. Fiber-optic gyro utilizing pseudorandom-bit-sequence light modulation. US patent No. 6130755 from 10.10.2000, class. G 01 C 019/72], the operation of which is based on the choice of 0 or 1 as the next bit of the pseudo-random sequence, depending on the results of checking the previous bits of the sequence for compliance with the initially specified criteria. The principle of operation of the device is based on two types of criteria: if one group of criteria is satisfied (the so-called "0-criteria"), the zero value of the next output bit of the sequence is selected, if the second group of criteria (the so-called "1-criteria") is satisfied, then as the output bit, one is selected. The essence of the criteria is to measure the properties of a chain of previous output bits of sufficient length. The next bit obtained by another more arbitrary method (for example, by adding the last j (j = 1, 2, 3 ...) bits modulo 2) is selected as the next bit of the calculated pseudo-random sequence.
Однако данное устройство обладает недостатками, которые связаны с возможностью криптоанализа выходных последовательностей из-за высокой предсказуемости следующего вычисляемого бита в случае, когда 0-критерии и 1-критерии известны криптоаналитику, а также низкой скоростью производимых операций, поскольку на каждой итерации анализируется большое количество информации об уже вычисленной выходной последовательности и вычисляется только один бит информации.However, this device has disadvantages associated with the possibility of cryptanalysis of the output sequences due to the high predictability of the next calculated bit in the case when the 0-criteria and 1-criteria are known to the cryptanalyst, as well as the low speed of the operations performed, since a large amount of information is analyzed at each iteration about the already calculated output sequence and only one bit of information is calculated.
Наиболее близким по технической сущности к предлагаемому является устройство для генерации псевдослучайных последовательностей [DeBellis R.S., Smith R.M., Yeh P.C. Pseudorandom number generator with backup and restoration capability. Патент US №6104810 от 15.08.2000 г., кл. G 01 C 019/72], принятое за прототип. Принцип действия устройства основан на том, что для вычисления значений псевдослучайного набора двоичных чисел используется вычислительное преобразование входных неслучайных данных для получения выходной псевдослучайной двоичной последовательности. В прототипе значения псевдослучайной последовательности вычисляют при помощи применения заведомо криптостойкой функции к значению, зависящему от текущего времени, и секретному параметру, затем полученные биты подают на вход хэш-функции MDC-4 [Шнайер Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си. СПб: Триумф, 2002 г. - 816 с.], а ее результат сохраняется как значение псевдослучайной последовательности. Значение секретного параметра регулярно обновляется при помощи вычисления хэш-функции от совокупности текущего значения секретного параметра и текущего значения времени. Алгоритм работы устройства также предусматривает сохранение резервных значений секретного параметра, используемых в случае перезапуска системы. Таким образом уменьшается вероятность повторного вычисления уже использованной последовательности псевдослучайных чисел после перезапуска устройства.The closest in technical essence to the proposed is a device for generating pseudo-random sequences [DeBellis R.S., Smith R.M., Yeh P.C. Pseudorandom number generator with backup and restoration capability. US patent No. 6104810 from 08/15/2000, class. G 01 C 019/72], taken as a prototype. The principle of operation of the device is based on the fact that to calculate the values of a pseudo-random set of binary numbers, a computational transformation of the input nonrandom data is used to obtain the output pseudo-random binary sequence. In the prototype, the values of the pseudo-random sequence are calculated by applying a known cryptographic function to a value that depends on the current time and a secret parameter, then the received bits are fed to the MDC-4 hash function [Schneier B. Applied cryptography. Protocols, algorithms, source codes in the C language. SPb: Triumph, 2002 - 816 pp.], And its result is stored as a pseudo-random sequence value. The value of the secret parameter is regularly updated by calculating a hash function from the combination of the current value of the secret parameter and the current time value. The algorithm of the device also provides for the storage of reserve values of the secret parameter used in the event of a restart of the system. Thus, the likelihood of recalculating an already used sequence of pseudo-random numbers after restarting the device is reduced.
Недостатками прототипа являются низкая скорость работы, вызванная необходимостью многократного применения хэш-функции MDC-4, а также наличие дополнительных требований к высокой энтропии и длинам битовых блоков информации о текущем времени и текущем секретном параметре, используемых при генерации значений псевдослучайной последовательности.The disadvantages of the prototype are the low speed caused by the need to repeatedly use the MDC-4 hash function, as well as the additional requirements for high entropy and lengths of bit blocks of information about the current time and the current secret parameter used to generate pseudo-random sequence values.
Техническим результатом, получаемым от внедрения данного изобретения, является устранение указанных недостатков, то есть повышение сложности криптоанализа получаемых псевдослучайных последовательностей, уменьшение вероятности уверенного прогнозирования следующих значений двоичных чисел выходной последовательности.The technical result obtained from the implementation of this invention is the elimination of these disadvantages, that is, increasing the complexity of cryptanalysis of the resulting pseudorandom sequences, reducing the likelihood of confident prediction of the following binary numbers of the output sequence.
Данный технический результат достигается благодаря тому, что устройство для генерации псевдослучайной последовательности двоичных чисел с использованием эллиптических кривых состоит из блока 1 - блока памяти для хранения параметров используемой эллиптической кривой и текущего значения секретного параметра Sy (блок 1 имеет один вход для обновления секретного параметра Sy и четыре выхода: выход 1 - для считывания параметра Sy, выход 2 - для считывания параметров эллиптической кривой, выходы 3 и 4 - для считывания координат примитивного элемента В группы точек эллиптической кривой), блока 2 (блока таймера, который имеет один выход, с которого считывает текущее значение таймера в виде последовательности бит), операционных блоков 3.1 и 3.2, вычисляющих значения хэш-функции MD5 (блоки имеют по одному входу, на которые подается последовательность бит, и одному выходу, с которого считывается значение хэш-функции MD5 от поданной на блок входной информации в виде последовательности бит), операционного блока 4, преобразующего последовательность бит в пару последовательностей бит, представляющих собой координаты точки эллиптической кривой (блок имеет два входа: вход 1, на который подается последовательность бит, и вход 2, на который подается значение параметров эллиптической кривой в виде последовательности бит, а также два выхода, с которых считываются координаты получаемой точки эллпитической кривой в виде последовательностей бит), вычислительного блока 5, производящего перемножение двух точек эллиптической кривой, координаты которых поступают на вход в виде последовательностей бит (блок 5 имеет входы 1, 2, 3 и 4, на которые подаются координаты операндов умножения в виде последовательностей бит - по одному входу на координату каждого операнда, а также вход 5, на который подаются параметры эллиптической кривой в виде последовательности бит, и выход 1, из которого считывается последовательность бит, представляющая собой y-координату результата перемножения), операционных блоков 6.1 и 6.2, производящих конкатенацию поступающих на вход блоков двух последовательностей бит (каждый из блоков имеет по два входа 1 и 2 для входных последовательностей бит и по одному выходу, с которого считывается результат конкатенации входных последовательностей), блока памяти 7, накапливающего выходную псевдослучайную последовательность бит (блок имеет один вход для принятия накапливаемой двоичной информации и один выход для ее считывания), при этом выход 1 блока 1 соединен с входом 2 блока 6.1; выход 2 блока 1 соединен с входом 2 блока 4 и входом 5 блока 5; выход 3 блока 1 соединен с входом 3 блока 5; выход 4 блока 1 соединен с входом 4 блока 5; выход 1 блока 2 соединен с входом 1 блока 6.1 и входом 2 блока 6.2; выход 1 блока 3.1 соединен с входом 1 блока 4; выход 1 блока 3.2 соединен с входом 1 блока 7; выход 1 блока 4 соединен с входом 1 блока 5; выход 2 блока 4 соединен с входом 2 блока 5; выход 1 блока 5 соединен с входом 1 блока 6.2; выход 1 блока 6.1 соединен с входом 1 блока 3.1; выход 1 блока 6.2 соединен с входом 1 блока 3.2.This technical result is achieved due to the fact that the device for generating a pseudo-random sequence of binary numbers using elliptic curves consists of block 1 - a memory block for storing the parameters of the elliptic curve used and the current value of the secret parameter S y (block 1 has one input for updating the secret parameter S y and four outputs: output 1 - to read the parameter S y, output 2 - for reading the parameters of the elliptic curve, the outputs 3 and 4 - to read the coordinate of primitive elements in the group of points of an elliptic curve), block 2 (a timer block, which has one output from which it reads the current timer value as a sequence of bits), operating blocks 3.1 and 3.2, which calculate the values of the MD5 hash function (blocks have one input, to which a sequence of bits is supplied, and to one output from which the value of the MD5 hash function is read from the input information in the form of a sequence of bits), an operation unit 4 that converts a sequence of bits into a pair of bit sequences, represents they are the coordinates of the point of the elliptic curve (the block has two inputs: input 1, to which the sequence of bits is fed, and input 2, to which the value of the parameters of the elliptic curve is supplied as a sequence of bits, as well as two outputs from which the coordinates of the obtained point of the elliptic curve are read in the form of sequences of bits), computing unit 5, which multiplies two points of the elliptic curve, the coordinates of which are input in the form of sequences of bits (block 5 has inputs 1, 2, 3 and 4, to which the coordinates of the multiplication operands are presented in the form of sequences of bits — one input per coordinate of each operand, as well as input 5, to which the parameters of the elliptic curve are supplied as a sequence of bits, and output 1, from which the sequence of bits is read, which is the y-coordinate of the result of multiplication ), operating blocks 6.1 and 6.2, which concatenate two blocks of bit sequences received at the input of blocks (each block has two inputs 1 and 2 for input bit sequences and one output, with torogo read result of the concatenation of the input sequences), the memory unit 7, accumulator output pseudorandom bit sequence (block has one input for taking accumulated binary information and one output for its reader), with the output of one unit 1 is connected to input unit 2 6.1; the output 2 of block 1 is connected to the input 2 of block 4 and the input 5 of block 5; the output 3 of block 1 is connected to the input 3 of block 5; the output 4 of block 1 is connected to the input 4 of block 5; the output 1 of block 2 is connected to the input 1 of block 6.1 and the input 2 of block 6.2; the output 1 of block 3.1 is connected to the input 1 of block 4; the output 1 of block 3.2 is connected to the input 1 of block 7; the output 1 of block 4 is connected to the input 1 of block 5; the output 2 of block 4 is connected to the input 2 of block 5; the output 1 of block 5 is connected to the input 1 of block 6.2; output 1 of block 6.1 is connected to input 1 of block 3.1; output 1 of block 6.2 is connected to input 1 of block 3.2.
Принцип действия устройства основан на вычислениях в мультипликативной группе точек эллиптической кривой вида Е(Х)={(х,y)|y2=х3+а*x+b} над полем GF(p,n). Устройство работает следующим образом. В блок 1 загружаются данные инициализации (параметры р и n, а и b, примитивный элемент В группы точек кривой Е, секретный параметр Sy). Дальнейшая работа проходит следующим образом. Блок 6.1, входы которого соединены с выходом блока 2 и выходом 1 блока 1, производит конкатенацию битовой последовательности, полученной на выходе таймера 2 и битовой последовательности, представляющей текущее значение Sy. Блок 3.1, вход 1 которого соединен с выходом 1 блока 6.1, производит вычисление значения хэш-функции от полученного при работе блока 6.1 последовательности бит. Блок 4, вход 1 которого соединен с выходом 1 блока 3.1, а вход 2 - с выходом 2 блока 1, производит преобразование выходных данных блока 3.1 в координаты точки эллиптической кривой Е над полем GF(p,n), считывая информацию о Е, р, n из блока 1. Блок 5 (его входы 1 и 2 соединены с выходами 1 и 2 блока 4, входы 3, 4, 5 - с выходами 3, 4, 2 блока 1 соответственно) вычисляет произведение точки эллиптической кривой Е, полученной на предыдущем шаге и примитивного элемента группы точек Е (информация об а, b, р, n и координатах точки В считывается из блока 1 через его выходы 2, 3, 4), и выдает на выходе значение y-координаты полученной точки. Результат записывается в соответствующие ячейки блока 1 (его вход 1 соединен с выходом). Блок 6.2 производит конкатенацию значения, полученного в блоке 5, и выходного значения блока 2. Блок 3.2 вычисляет значение хэш-функции от результата работы блока 6.2. Полученное значение передается в накопитель 7.The principle of operation of the device is based on calculations in the multiplicative group of points of an elliptic curve of the form E (X) = {(x, y) | y 2 = x 3 + a * x + b} over the field GF (p, n). The device operates as follows. Initialization data is loaded into block 1 (parameters p and n, a and b, primitive element B of the point group of curve E, secret parameter S y ). Further work is as follows. Block 6.1, the inputs of which are connected to the output of block 2 and the output 1 of block 1, concatenates the bit sequence received at the output of timer 2 and the bit sequence representing the current value of S y . Block 3.1, the input 1 of which is connected to the output 1 of block 6.1, calculates the value of the hash function of the sequence of bits obtained during the operation of block 6.1. Block 4, the input 1 of which is connected to the output 1 of block 3.1, and the input 2 to the output 2 of block 1, converts the output of block 3.1 to the coordinates of the point of the elliptic curve E over the field GF (p, n), reading information about E, p , n from block 1. Block 5 (its inputs 1 and 2 are connected to the outputs 1 and 2 of block 4, the inputs 3, 4, 5 to the outputs 3, 4, 2 of block 1, respectively) calculates the product of the point of the elliptic curve E obtained by the previous step and the primitive element of the group of points E (information about a, b, p, n and the coordinates of point B is read from block 1 through its outputs 2, 3, 4), and It yields the y-coordinate of the resulting point. The result is recorded in the corresponding cells of block 1 (its input 1 is connected to the output). Block 6.2 concatenates the value obtained in block 5 and the output value of block 2. Block 3.2 calculates the value of the hash function from the result of the operation of block 6.2. The resulting value is transferred to drive 7.
Таким образом, работа предлагаемого устройства для генерации псевдослучайной последовательности бит с использованием эллиптических кривых состоит из двух этапов. На первом этапе работы устройства производится инициализация необходимой для работы информации. Затем начинается второй этап, в ходе которого производятся вычисления с эллиптической кривой и формируется выходная двоичная последовательность. В случае, если длина выходной последовательности меньше требуемой, этап вычислений с эллиптической кривой повторяется, а результат дописывается в выходную последовательность столько раз, сколько потребуется для достижения необходимой длины выходной последовательности.Thus, the operation of the proposed device for generating a pseudo-random sequence of bits using elliptic curves consists of two stages. At the first stage of operation of the device, the information necessary for operation is initialized. Then the second stage begins, during which calculations are performed with an elliptic curve and the output binary sequence is formed. If the length of the output sequence is less than required, the calculation step with an elliptic curve is repeated, and the result is added to the output sequence as many times as needed to achieve the required length of the output sequence.
Для описания работы устройства введем следующие обозначения:To describe the operation of the device, we introduce the following notation:
- параметры p и n, позволяющие описать поле Галуа GF(p,n);- parameters p and n, allowing to describe the Galois field GF (p, n);
- параметры а и b эллиптической кривой Е, представимой уравнением- parameters a and b of the elliptic curve E represented by the equation
E(X)={(x,y)|y2=x3+a*x+b}, где Х - точка кривой Е, а и b - переменные, х и y являются координатами X;E (X) = {(x, y) | y 2 = x 3 + a * x + b}, where X is the point of the curve E, and b are the variables, x and y are the coordinates of X;
- примитивный элемент В мультипликативной группы точек кривой Е;- a primitive element In the multiplicative group of points of the curve E;
- секретный параметр Sy, являющийся y-координатой точки эллиптической кривой Е;- secret parameter S y , which is the y-coordinate of the point of the elliptic curve E;
- целочисленная переменная Т;- integer variable T;
- выходная двоичная последовательность Q переменной длины.- output binary sequence Q of variable length.
Для генерации псевдослучайной последовательности двоичных чисел используется вычислительное преобразование неслучайных данных для получения выходной псевдослучайной двоичной последовательности. В качестве вычислительного преобразования используют алгоритм вычисления с эллиптической кривой вида Е(Х)={(x,y)|y2=x3+a*x+b}, в котором пользователем задается значение секретного параметра Sy равным y-координате точки В в случае первого преобразования данных либо происходит загрузка сохраненного ранее значения Sy, производится очистка двоичной последовательности Q для хранения выходной последовательности значений; целочисленной переменной Т присваивается значение текущего времени в виде количества секунд, прошедших с 1970 года до текущего момента времени, секретному параметру Sy присваиваются значения y-координаты точки В*e(h(Sy|T)), где е(х) - функция, преобразующая число в точку эллиптической кривой Е, функция h(х) представляет собой хэш-функцию MD5, Sy - текущее значение секретного параметра - сохраняется для последующего использования, к двоичной последовательности Q дописывают значение h(T|Sy), при необходимости действия по вычислению нового значения параметра Sy и дополнению последовательности Q повторяются, выходной последовательностью считается двоичная последовательность Q.To generate a pseudo-random sequence of binary numbers, a non-random data computational transformation is used to obtain an output pseudo-random binary sequence. As a computational transformation, we use an algorithm of calculation with an elliptic curve of the form E (X) = {(x, y) | y 2 = x 3 + a * x + b}, in which the user sets the value of the secret parameter S y equal to the y-coordinate of the point In the case of the first data conversion, either the previously stored value S y is loaded, the binary sequence Q is cleared to store the output sequence of values; the integer variable T is assigned the value of the current time in the form of the number of seconds elapsed from 1970 to the current time, the secret parameter S y is assigned the y-coordinate of the point B * e (h (S y | T)), where e (x) - the function that converts the number to a point of the elliptic curve E, the function h (x) is a MD5 hash function, S y - the current value of the secret parameter - is stored for later use, the value h (T | S y ) is added to the binary sequence Q, when the need to take action to calculate the new steam value meter S y and complement the sequence Q are repeated, the output sequence is the binary sequence Q.
Для реализации работы используют входные данные о поле Галуа GF(p,n), параметрах эллиптической кривой Е, имеющей над полем GF(p,n) не менее 30*2128 точек, и примитивном элементе В мультипликативной группы точек эллиптической кривой Е.To implement the work, use the input data about the Galois field GF (p, n), the parameters of the elliptic curve E, which has at least 30 * 2 128 points over the field GF (p, n), and the primitive element В of the multiplicative group of points of the elliptic curve E.
Функция h(x) согласно [Шнайер Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си. СПб: Триумф, 2002 г. - 816 с.] принимает на вход двоичную последовательность произвольной длины и вычисляет хэш-значение, представленное в виде двоичной последовательности фиксированной длины, равной 128 битам.Function h (x) according to [Schneier B. Applied cryptography. Protocols, algorithms, source codes in the C language. SPb: Triumph, 2002 - 816 pp.] Accepts a binary sequence of arbitrary length as input and calculates a hash value represented as a binary sequence of a fixed length of 128 bits.
Функция е(x) преобразует двоичную последовательность x длиной 128 бит в точку на эллиптической кривой Е. Значение е(x) вычисляется по следующему алгоритму. Выбирается целое число 1≤j≤30. Между числами вида 30*x+j из интервала [0, (2128-1)*30] и частью множества элементов поля GF(p,n) устанавливают взаимнооднозначное соответствие (известный из уровня техники метод установления такого соответствия состоит в трактовке цифр р-ичной записи числа Х в качестве коэффициентов многочлена над соответствующим полем - см., например [Коблиц И. Курс теории чисел и криптографии. М.: Научное издательство ТВП, 2001 - 254 с.]). Затем вычисляют значение , из полученного V извлекают квадратный корень; если корень удалось извлечь, принимают за результат точку с координатами (, sqrt(V)), иначе присваивают переменной j другое целое значение из интервала [1, 30] и повторяют вычисления до тех пор, пока число V не станет полным квадратом. Вероятность того, что применение этого алгоритма не даст результата, составляет приблизительно 2-30.The function e (x) converts the binary sequence x of 128 bits in length to a point on the elliptic curve E. The value of e (x) is calculated by the following algorithm. The integer 1≤j≤30 is selected. Between numbers of the form 30 * x + j from the interval [0, (2 128 -1) * 30] and part of the set of elements of the field GF (p, n), a one-to-one correspondence is established (the method for establishing such a correspondence known from the prior art consists in interpreting the digits p -ary notation of the number X as coefficients of the polynomial above the corresponding field - see, for example, [Koblitz I. Course in number theory and cryptography. M.: Scientific Publishing House of TVP, 2001 - 254 p.]). Then calculate the value , from the obtained V, the square root is extracted; if the root can be extracted, take for the result a point with coordinates ( , sqrt (V)), otherwise they assign the variable j another integer value from the interval [1, 30] and repeat the calculation until the number V becomes a full square. The likelihood that applying this algorithm will not produce a result is approximately 2-30 .
Изобретение поясняется чертежом, на котором представлена блок-схема предлагаемого вычислительного устройства.The invention is illustrated in the drawing, which shows a block diagram of the proposed computing device.
Claims (1)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| RU2005116767/09A RU2294559C1 (en) | 2005-06-02 | 2005-06-02 | Device for generating pseudo-random series of binary numbers with usage of elliptic curves |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| RU2005116767/09A RU2294559C1 (en) | 2005-06-02 | 2005-06-02 | Device for generating pseudo-random series of binary numbers with usage of elliptic curves |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| RU2005116767A RU2005116767A (en) | 2006-11-20 |
| RU2294559C1 true RU2294559C1 (en) | 2007-02-27 |
Family
ID=37502106
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| RU2005116767/09A RU2294559C1 (en) | 2005-06-02 | 2005-06-02 | Device for generating pseudo-random series of binary numbers with usage of elliptic curves |
Country Status (1)
| Country | Link |
|---|---|
| RU (1) | RU2294559C1 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2533693C2 (en) * | 2009-01-14 | 2014-11-20 | Морфо | Encoding points on elliptic curve |
| RU2574826C2 (en) * | 2009-06-16 | 2016-02-10 | Морфо | Cryptography on simplified elliptical curve |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| SU1528770A1 (en) * | 1987-09-18 | 1989-12-15 | Вологодский Политехнический Институт | Pseudorandom sequence generator |
| US5046036A (en) * | 1984-10-15 | 1991-09-03 | International Business Machines Corporation | Pseudorandom number generator |
| US6104810A (en) * | 1997-05-15 | 2000-08-15 | International Business Machines Corporation | Pseudorandom number generator with backup and restoration capability |
| RU2223593C1 (en) * | 2002-05-31 | 2004-02-10 | Федеральное Государственное унитарное предприятие Воронежский научно-исследовательский институт связи | Pseudorandom sequence generator |
| US6782100B1 (en) * | 1997-01-29 | 2004-08-24 | Certicom Corp. | Accelerated finite field operations on an elliptic curve |
-
2005
- 2005-06-02 RU RU2005116767/09A patent/RU2294559C1/en not_active IP Right Cessation
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5046036A (en) * | 1984-10-15 | 1991-09-03 | International Business Machines Corporation | Pseudorandom number generator |
| SU1528770A1 (en) * | 1987-09-18 | 1989-12-15 | Вологодский Политехнический Институт | Pseudorandom sequence generator |
| US6782100B1 (en) * | 1997-01-29 | 2004-08-24 | Certicom Corp. | Accelerated finite field operations on an elliptic curve |
| US6104810A (en) * | 1997-05-15 | 2000-08-15 | International Business Machines Corporation | Pseudorandom number generator with backup and restoration capability |
| RU2223593C1 (en) * | 2002-05-31 | 2004-02-10 | Федеральное Государственное унитарное предприятие Воронежский научно-исследовательский институт связи | Pseudorandom sequence generator |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2533693C2 (en) * | 2009-01-14 | 2014-11-20 | Морфо | Encoding points on elliptic curve |
| RU2574826C2 (en) * | 2009-06-16 | 2016-02-10 | Морфо | Cryptography on simplified elliptical curve |
Also Published As
| Publication number | Publication date |
|---|---|
| RU2005116767A (en) | 2006-11-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5751811A (en) | 32N +D bit key encryption-decryption system using chaos | |
| Lu et al. | Faster correlation attack on Bluetooth keystream generator E0 | |
| KR101389483B1 (en) | Method and device for generating a pseudorandom string | |
| JP3821631B2 (en) | Method and apparatus for scalar multiplication in elliptic curve cryptography, and storage medium | |
| CN106941407B (en) | Method and device for dynamically encrypting platform data | |
| CN101911009B (en) | Countermeasure method and apparatus for asymmetric encryption with signature scheme | |
| CN101194457B (en) | Randomized modular polynomial reduction method and hardware therefor | |
| WO2003104969A3 (en) | Computations in a mathematical system | |
| Bansal et al. | Comparison of ECC and RSA algorithm with DNA encoding for IoT security | |
| CA2640992A1 (en) | Digital signatures on a smartcard | |
| KR19990077585A (en) | A method for generating psuedo-random numbers | |
| Cho et al. | Algebraic attacks on SOBER-t32 and SOBER-t16 without stuttering | |
| KR102154164B1 (en) | Method for generating a pseudorandom sequence, and method for coding or decoding a data stream | |
| US20110274271A1 (en) | Countermeasure method and devices for asymmetric encryption | |
| KR20140046568A (en) | Method for elliptic curve cryptography with countermeasures against simple power analysis and fault injection analysis and system thereof | |
| CN118316601B (en) | Blockchain key generation methods, devices, equipment, media and products | |
| RU2294559C1 (en) | Device for generating pseudo-random series of binary numbers with usage of elliptic curves | |
| RU2188513C2 (en) | Method for cryptographic conversion of l-bit digital-data input blocks into l-bit output blocks | |
| KR102019369B1 (en) | Elliptic curve cryptography apparatus and method for blocking single trace attack | |
| RU2291578C1 (en) | Method for stream encryption of data | |
| RU2251816C2 (en) | Method for stream-wise encoding of discontinuous information | |
| RU2296427C1 (en) | Method for stream encoding of discontinuous information | |
| KR100564764B1 (en) | Finite Field Polynomial Multiplication Apparatus and Method | |
| Homsi et al. | Lattice-based RLWE key generation using ECC | |
| Camion et al. | Two alerts for design of certain stream ciphers: Trapped LFSR and weak resilient function over GF (q) |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20160603 |