RU2010110344A - Криптографическая обработка с использованием процессора - Google Patents

Криптографическая обработка с использованием процессора Download PDF

Info

Publication number
RU2010110344A
RU2010110344A RU2010110344/08A RU2010110344A RU2010110344A RU 2010110344 A RU2010110344 A RU 2010110344A RU 2010110344/08 A RU2010110344/08 A RU 2010110344/08A RU 2010110344 A RU2010110344 A RU 2010110344A RU 2010110344 A RU2010110344 A RU 2010110344A
Authority
RU
Russia
Prior art keywords
key
clock cycle
new
processor
shift
Prior art date
Application number
RU2010110344/08A
Other languages
English (en)
Inventor
Дмитрий Владимирович Алексеев (RU)
Дмитрий Владимирович Алексеев
Алексей Владимирович Галатенко (RU)
Алексей Владимирович Галатенко
Алексей Александрович Летуновский (RU)
Алексей Александрович Летуновский
Александр МАРКОВИЧ (US)
Александр МАРКОВИЧ
Андрей Анатольевич Никитин (RU)
Андрей Анатольевич Никитин
Original Assignee
ЭлЭсАй Корпорейшн (US)
ЭлЭсАй Корпорейшн
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 ЭлЭсАй Корпорейшн (US), ЭлЭсАй Корпорейшн filed Critical ЭлЭсАй Корпорейшн (US)
Priority to RU2010110344/08A priority Critical patent/RU2010110344A/ru
Priority to US12/900,827 priority patent/US8452006B2/en
Publication of RU2010110344A publication Critical patent/RU2010110344A/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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

1. Криптографический процессор, содержащий одно или несколько арифметико-логических устройств (ALU) и множество регистров данных, причем процессор выполнен с возможностью: ! принимать блок данных a-битовой длины, причем блок данных организован как a/n n-битовых слов; ! хранить a/n n-битовых слов как структуру в регистрах данных, причем структура является матрицей, имеющей b>1 строк и c>1 столбцов p-битовых элементов структуры, где ! p>n; ! a/n>1; ! каждое n-битовое слово данных хранится в соответствующем p-битовом элементе структуры; и ! b·c·n=a; и ! осуществлять преобразование перемешиванием столбцов в структуре с использованием одного или нескольких ALU, причем преобразование перемешиванием столбцов предполагает формирование произведений конечного поля с использованием побитового сдвига и операций исключающее ИЛИ (XOR). ! 2. Процессор по п.1, в котором ! a равно 128; ! n равно 8; ! a/n равно 16; ! p ≥ 9; ! b равно 4; и ! c равно 4. ! 3. Процессор по п.1, причем ! процессор выполнен с возможностью обработки блока данных образом, совместимым с Улучшенным Стандартом Шифрования (AES); и ! обработка содержит преобразование структуры по множеству раундов, содержащих преобразование заменой элемента, преобразование сдвигом строк, преобразование перемешиванием столбцов и преобразование добавлением ключа для раунда. ! 4. Процессор по п.3, в котором ! преобразование заменой элемента, ModSubBytes(k), осуществляется над элементом k структуры, где k является десятичным представлением значения элемента, такого, что ! ! SubBytes(k) представляет AES SubBytes() преобразование для k; и ! знак операции XOR. ! 5. Процессор по п.4, причем ! процессор выполнен с возможностью осуществлять ModSubByte

Claims (20)

1. Криптографический процессор, содержащий одно или несколько арифметико-логических устройств (ALU) и множество регистров данных, причем процессор выполнен с возможностью:
принимать блок данных a-битовой длины, причем блок данных организован как a/n n-битовых слов;
хранить a/n n-битовых слов как структуру в регистрах данных, причем структура является матрицей, имеющей b>1 строк и c>1 столбцов p-битовых элементов структуры, где
p>n;
a/n>1;
каждое n-битовое слово данных хранится в соответствующем p-битовом элементе структуры; и
b·c·n=a; и
осуществлять преобразование перемешиванием столбцов в структуре с использованием одного или нескольких ALU, причем преобразование перемешиванием столбцов предполагает формирование произведений конечного поля с использованием побитового сдвига и операций исключающее ИЛИ (XOR).
2. Процессор по п.1, в котором
a равно 128;
n равно 8;
a/n равно 16;
p ≥ 9;
b равно 4; и
c равно 4.
3. Процессор по п.1, причем
процессор выполнен с возможностью обработки блока данных образом, совместимым с Улучшенным Стандартом Шифрования (AES); и
обработка содержит преобразование структуры по множеству раундов, содержащих преобразование заменой элемента, преобразование сдвигом строк, преобразование перемешиванием столбцов и преобразование добавлением ключа для раунда.
4. Процессор по п.3, в котором
преобразование заменой элемента, ModSubBytes(k), осуществляется над элементом k структуры, где k является десятичным представлением значения элемента, такого, что
Figure 00000001
SubBytes(k) представляет AES SubBytes() преобразование для k; и
Figure 00000002
знак операции XOR.
5. Процессор по п.4, причем
процессор выполнен с возможностью осуществлять ModSubBytesShiftRows() преобразование, которое объединяет преобразования сдвигом строк и заменой элемента, над элементами структуры
ModSubBytesShiftRows(si, j) = ModSubBytes(si, j+i (mod 4));
si, j представляет значение элемента структуры в строке i и столбце j; и
mod представляет сокращение по модулю.
6. Процессор по п.3, в котором преобразование сдвигом строк ModShiftRows() кругообразно сдвигает каждую строку структуры на d·p бит.
7. Процессор по п.3, в котором
четыре элемента столбца j структуры представлены как s0, j, …, s3, j;
Shift(а) осуществляет сдвиг на 1 бит влево по компоненту операции а;
преобразование перемешиванием столбцов ModMixColumns() осуществляется после преобразования заменой элемента раунда; и
операции ModMixColumns() преобразования для элементов столбца j структуры являются
ModMixColumns(s0, j)=Shift(s0, j
Figure 00000002
s1, j)
Figure 00000002
s1, j
Figure 00000002
s2, j
Figure 00000002
s3, j;
ModMixColumns(s1, j)=Shift(s1, j
Figure 00000002
s2, j)
Figure 00000002
s2, j
Figure 00000002
s3, j
Figure 00000002
s0, j;
ModMixColumns(s2, j)=Shift(s2, j
Figure 00000002
s3, j)
Figure 00000002
s3, j
Figure 00000002
s0, j
Figure 00000002
s1, j; и
ModMixColumns(s3, j)=Shift(s3, j
Figure 00000002
s0, j)
Figure 00000002
s0, j
Figure 00000002
s1, j
Figure 00000002
s2, j.
8. Процессор по п.3, в котором
строки 0, 1, 2 и 3 структуры хранятся как sd0, sd1, sd2 и sd3 соответственно на четырех соответствующих регистрах данных из множества регистров данных;
операции преобразования перемешиванием столбцов ModMixColumns() для строк структуры следующие
ModMixColumns(sd0) = Shift(sd0
Figure 00000002
sd1)
Figure 00000002
sd1
Figure 00000002
sd2
Figure 00000002
sd3;
ModMixColumns(sd1) = Shift(sd1
Figure 00000002
sd2)
Figure 00000002
sd2
Figure 00000002
sd3
Figure 00000002
sd0;
ModMixColumns(sd2) = Shift(sd2
Figure 00000002
sd3)
Figure 00000002
sd3
Figure 00000002
sd0
Figure 00000002
sd1; и
ModMixColumns(sd3) = Shift(sd0
Figure 00000002
sd1)
Figure 00000002
sd1
Figure 00000002
sd2
Figure 00000002
sd3.
9. Процессор по п.3, причем
процессор выполнен с возможностью
объединения выполнения преобразований перемешиванием столбцов и добавлением ключа для раунда; и
формирования AES - расширенного плана смены ключей из ключа, соответствующего блоку данных, причем расширенный план смены ключей содержит элементы расширенного плана смены ключей, соответствующие элементам структуры для конкретного раунда обработки;
строки 0, 1, 2 и 3 структуры хранятся как sd0, sd1, sd2 и sd3 соответственно на четырех соответствующих регистрах данных из множества регистров данных;
четыре элемента расширенного плана смены ключей соответствующие строке i структуры для конкретного раунда хранятся вместе в одном из множества регистров данных, таком как kdi;
kdi для раунда r является равной конкатенации байтов с дополненным префиксом AES - расширенного плана смены ключей, а именно key[16r + i], key [16r + 4 + i], key[16r + 8 + i], и key[16r + 12 + i];
key[n] ссылается на n-й байт AES - расширенного плана смены ключей; и
осуществление объединенного преобразования перемешиванием столбцов и добавлением ключа для раунда структуры для конкретного раунда производит четыре новые строки, new_sd0 ,…, new_sd3, где
new_sd0 = Shift(sd0
Figure 00000002
sd1)
Figure 00000002
sd1
Figure 00000002
sd2
Figure 00000002
sd3
Figure 00000002
kd0;
new_sd1 = Shift(sd1
Figure 00000002
sd2)
Figure 00000002
sd2
Figure 00000002
sd3
Figure 00000002
sd0
Figure 00000002
kd1;
new_sd2 = Shift(sd2
Figure 00000002
sd3)
Figure 00000002
sd3
Figure 00000002
sd0
Figure 00000002
sd1
Figure 00000002
kd2; и
new_sd3 = Shift(sd0
Figure 00000002
sd1)
Figure 00000002
sd1
Figure 00000002
sd2
Figure 00000002
sd3
Figure 00000002
kd3.
10. Процессор по п.3, причем
процессор выполнен с возможностью
формирования AES - расширенного плана смены ключей, key[], из ключа соответствующего блоку данных, причем расширенный план смены ключей содержит элементы расширенного плана смены ключей соответствующие элементам структуры для конкретных раундов обработки; и
формирования 320 - байтового расширенного плана смены ключей, new_key[] из key с использованием следующей процедуры, где temp1 и temp2 являются временными переменными, vector[e…f] ссылается на байты от e до f вектора массива, и d||0g означает суффиксное дополнение g нолей до d
new_key[k] = key[k] для k = 0…15;
new_key[k] = key[k - 72] для k = 232…247; и
для r = от 1 до 9
{
temp1 = key[16r]
Figure 00000002
(key[16r + 4] ||09)
temp2 = key[16r + 8]
Figure 00000002
(key[16r + 12] ||09)
new_key[24r + 4…24r + 7] = temp1[0…3]
new_key[24r…24r + 3] = temp2[0…3]
temp1 = key[16r + 1]
Figure 00000002
(key[16r + 5] ||09)
temp2 = key[16r + 9]
Figure 00000002
(key[16r + 13] ||09)
new_key[24r - 8…24r - 5] = temp1[0…3]
new_key[24r - 4…24r - 1] = temp2[0…3]
temp1 = key[16r + 2]
Figure 00000002
(key[16r + 6] ||09)
temp2 = key[16r + 10]
Figure 00000002
(key[16r + 14] ||09)
new_key[8r + 240…8r + 243] = temp1[0…3]
new_key[8r + 244…8r + 247] = temp2[0…3]
temp1 = key[16r + 3]
Figure 00000002
(key[16r + 7] ||09)
temp2 = key[16r + 11]
Figure 00000002
(key[16r + 15] ||09)
new_key[24r + 8…24r + 11] = temp1[0…3]
new_key[24r +12…24r + 15] = temp2[0…3]
}; и
с использованием new_key[] вместо key[] для осуществления преобразования раундов добавлением ключа для раунда.
11. Процессор по п.10, в котором
ключ, соответствующий блоку данных, имеет длину 128-бит;
четыре элемента new_key[], соответствующие строке i в конкретном раунде преобразования, хранятся вместе как kdi в одном из множества регистров данных;
для начального раунда, kdi = new_key[4i…4i + 3];
для раундов от 1 до 9, kdi = key1(r,i)
Figure 00000002
(key2(r,i)<<18), причем key1(r,i) и key2(r,i) для раунда r и строки i получают следующим образом
key1(r, 0) = new_key[24·r + 4…24·r + 7];
key2(r, 0) = new_key[24·r…24·r + 3];
key1(r, 1) = new_key[24·r - 8…24·r - 5];
key2(r, 1) = new_key[24·r - 4…24·r - 1];
key1(r, 2) = new_key[8·r + 240…8·r + 243];
key2(r, 2) = new_key[8·r + 244…8·r + 247];
key1(r, 3) = new_key[24·r + 8…24·r + 11]; и
key2(r, 3) = new_key[24·r + 12…24·r + 15]; и
для раунда 11, kdi = new_key[232+4i…4i + 235].
12. Процессор по п.11, причем процессор выполнен с возможностью осуществлять каждое из преобразований добавлением ключей для раундов от 1 до 9 с использованием не более чем четырех операций чтения и восьми операций XOR.
13. Процессор по п.3, в котором
строки 0, 1, 2 и 3 структуры хранятся как sd0, sd1, sd2 и sd3 соответственно на четырех соответствующих регистрах данных из множества регистров данных;
четыре элемента расширенного плана смены ключей, соответствующие строке i структуры для конкретного раунда, хранятся вместе в одном из множества регистров данных, таком как kdi;
содержание рабочего регистра, который является одним из множества регистров данных, хранится как wd; и
процессор выполнен с возможностью
формирования AES - расширенного плана смены ключей, из ключа, соответствующего блоку данных, причем key[] расширенного плана смены ключей содержит элементы расширенного плана смены ключей, соответствующие элементам структуры для конкретных раундов обработки; и
заполнения регистра данных, хранящего kdi осуществляя
установку kdi для key[16r + i];
сдвиг влево kdi на 3·p бит;
установку wd для key[16r + 4 + i];
сдвиг влево wd на 2·p бит;
установку kdi для wd
Figure 00000002
kdi;
установку wd для key[16r + 8 + i];
сдвиг влево wd на p бит;
установку kdi для wd
Figure 00000002
kdi;
установку wd для key[16r + 12 + i]; и
установку kdi для wd
Figure 00000002
kdi.
14. Процессор по п.3, в котором
строки 0, 1, 2 и 3 структуры хранятся как sd0, sd1, sd2 и sd3 соответственно на четырех соответствующих регистрах данных из множества регистров данных;
четыре элемента расширенного плана смены ключей соответствующие строке i структуры для конкретного раунда хранятся вместе в одном из множества регистров данных, таком как kdi;
причем процессор выполнен с возможностью осуществления преобразований перемешиванием столбцов и добавлением ключа для раунда в объединении для формирования преобразованных строк структуры именованных как new_sd0, new_sd1, new_sd2 и new_sd3 соответственно, осуществляя
для строки 0:
M0 = 2·sd0;
t1(0) = sd1
Figure 00000002
kd0;
t2(0) = t1(0)
Figure 00000002
M0;
t3(0) = t2(0)
Figure 00000002
M1;
t4(0) = t3(0)
Figure 00000002
sd2; и
new_sd0 = t4(0)
Figure 00000002
sd3;
для строки 1:
M1 = 2·sd1;
t1(1) = sd0
Figure 00000002
kd1;
t2(1) = t1(1)
Figure 00000002
M1;
t3(1) = t2(1)
Figure 00000002
sd2;
t4(1) = t3(1)
Figure 00000002
M2; и
new_sd1 = t4(0)
Figure 00000002
sd3;
для строки 2:
M2 = 2·sd2;
t1(2) = kd2
Figure 00000002
sd0;
t2(2) = t1(2)
Figure 00000002
sd1;
t3(2) = t2(2)
Figure 00000002
sd3;
t4(2) = t3(2)
Figure 00000002
M3; и
new_sd2 = t4(0)
Figure 00000002
M2;
для строки 3:
M3 = 2·sd3;
t1(3) = sd0
Figure 00000002
sd1;
t2(3) = t1(3)
Figure 00000002
M0;
t3(3) = t2(3)
Figure 00000002
sd2;
t4(3) = t3(3)
Figure 00000002
kd3; и
new_sd3 = t4(0)
Figure 00000002
M3; где Mx и tx(y) все представляют временные регистры данных из множества регистров данных для хранения временных значений.
15. Процессор по п.14, в котором умножение на 2 осуществляется с использованием однобитовых сдвигов влево.
16. Процессор по п.3, причем процессор выполнен с возможностью осуществления замены байта и преобразования сдвигом строк для раунда 22 тактовыми циклами, осуществляя
в первом тактовом цикле: E2 и C1;
во втором тактовом цикле: E3, C2 и U1;
в третьем тактовом цикле: E4, C3 и U2;
в четвертом тактовом цикле: E5, C4 и U3;
в пятом тактовом цикле: E6, C5 и U4;
в шестом тактовом цикле: E7, C6, U5 и R1;
в седьмом тактовом цикле: E8, C7, I1, U6 и R2;
в восьмом тактовом цикле: E9, C8, I2, U7 и R3;
в девятом тактовом цикле: E10, C9, I3, U8 и R4;
в десятом тактовом цикле: E11, C10, I4, U9 и R5;
в одиннадцатом тактовом цикле: E12, C11, I5, U10 и R6;
в двенадцатом тактовом цикле: E13, C12, I6, U11 и R7;
в тринадцатом тактовом цикле: E14, C13, I7, U12 и R8;
в четырнадцатом тактовом цикле: E15, C14, I8, U13 и R9;
в пятнадцатом тактовом цикле: E16, C15, I14, U14 и R10;
в шестнадцатом тактовом цикле: C16, I10, U15 и R11;
в семнадцатом тактовом цикле: I11, U16 и R12;
в восемнадцатом тактовом цикле: I12 и R13;
в девятнадцатом тактовом цикле: I13 и R14;
в двадцатом тактовом цикле: I14 и R15;
в двадцать первом тактовом цикле: I15 и R16; и
в двадцать втором тактовом цикле: E1 и I16, причем
процессор содержит блок формирования адреса (AGU);
Em представляет осуществленную ALU операцию извлечения для элемента m структуры;
Cm представляет осуществленную ALU операцию вычисления для элемента m структуры;
Um представляет осуществленную AGU операцию загрузки для элемента m структуры;
Rm представляет осуществленную AGU операцию чтения для элемента m структуры;
Im представляет осуществленную ALU операцию вставки для элемента m структуры; и
операция E1 в двадцать втором тактовом цикле осуществляется для последующего раунда.
17. Процессор по п.3, причем процессор выполнен с возможностью осуществления замены байта и преобразования сдвигом строк для раунда 22 тактовыми циклами, осуществляя
в первом тактовом цикле: E3, C2 и U1;
во втором тактовом цикле: E4, C3, E5, RK2 и RK1;
в третьем тактовом цикле: E6, C4, U2 и RK3;
в четвертом тактовом цикле: E7, C5, U3 и RK4;
в пятом тактовом цикле: C1, C6, CK1 и U4;
в шестом тактовом цикле: E8, C7, CK2, E10, U5 и R1 + I1;
в седьмом тактовом цикле: E9, C8, U6 и R2;
в восьмом тактовом цикле: E12, C9, I2, U7 и R3;
в девятом тактовом цикле: E11, C10, CK3, I3, U8 и R4;
в десятом тактовом цикле: E16, C11, CK4, I4, U9 и R5;
в одиннадцатом тактовом цикле: E13, C12, CK5, I5, U10 и R6;
в двенадцатом тактовом цикле: E14, C13, E15, I6, U11 и R7;
в тринадцатом тактовом цикле: C14, I7, U12 и R8;
в четырнадцатом тактовом цикле: C15, I8, U13 и R9 + I9;
в пятнадцатом тактовом цикле: C16, U14 и R10;
в шестнадцатом тактовом цикле: I10, U15 и R11;
в семнадцатом тактовом цикле: I11, U16 и R12;
в восемнадцатом тактовом цикле: I12, RK5 и R13;
в девятнадцатом тактовом цикле: I13 и R14;
в двадцатом тактовом цикле: CK6, I14 и R15;
в двадцать первом тактовом цикле: E1, I15 и R16; и
в двадцать втором тактовом цикле: E2 и I16, причем
процессор содержит блок формирования адреса (AGU);
Em представляет осуществленную ALU операцию извлечения для элемента State m;
Cm представляет осуществленную ALU операцию вычисления для элемента State m;
Um представляет осуществленную AGU операцию загрузки для элемента State m;
Rm представляет осуществленную AGU операцию чтения для элемента State m;
Im представляет осуществленную ALU операцию вставки для элемента State m; и
Rm + Im представляет осуществленную AGU объединенную операцию чтения и вставки для упомянутого элемента m структуры;
RKh представляет осуществленную AGU операцию чтения ключа для чтения значений ключа из расширенного плана смены ключей;
CKh представляет осуществленную ALU операцию объединенного копирования для объединения значений ключа из расширенного плана смены ключей;
операция E1 в двадцать первом тактовом цикле и операция E2 в двадцать втором тактовом цикле осуществлены для последующего раунда.
18. Способ для криптографического процессора, содержащего одно или несколько арифметико-логических устройств (ALU's) и множество регистров данных, причем способ содержит этапы, на которых:
принимают блок данных a-битовой длины, причем блок данных организован как a/n n-битовых слов;
хранят a/n n-битовых слов как структуру в регистрах данных, причем структура является матрицей, имеющей b>1 строк и c>1 столбцов p-битовых элементов структуры, где
p>n;
a/n>1;
каждое n-битовое слово данных хранится в соответствующем p-битовом элементе структуры; и
b·c·n=a; и
осуществляют преобразование перемешиванием столбцов структуре с использованием одного или нескольких ALU, причем преобразование перемешиванием столбцов предполагает формирование произведений конечного поля с использованием побитового сдвига и операций исключающее ИЛИ (XOR).
19. Способ по п.18, в котором
a равно 128;
n равно 8;
a/n равно 16;
p ≥ 9;
b равно 4; и
c равно 4.
20. Способ по п.18, в котором
процессор обрабатывает блок данных образом, совместимым с Улучшенным Стандартом Шифрования (AES); и
обработка содержит преобразование структуры по множеству раундов, содержащих преобразование заменой элемента, преобразование сдвигом строк, преобразование перемешиванием столбцов и преобразование добавлением ключа для раунда.
RU2010110344/08A 2010-03-18 2010-03-18 Криптографическая обработка с использованием процессора RU2010110344A (ru)

Priority Applications (2)

Application Number Priority Date Filing Date Title
RU2010110344/08A RU2010110344A (ru) 2010-03-18 2010-03-18 Криптографическая обработка с использованием процессора
US12/900,827 US8452006B2 (en) 2010-03-18 2010-10-08 Cryptographic processing using a processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2010110344/08A RU2010110344A (ru) 2010-03-18 2010-03-18 Криптографическая обработка с использованием процессора

Publications (1)

Publication Number Publication Date
RU2010110344A true RU2010110344A (ru) 2011-09-27

Family

ID=44648158

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2010110344/08A RU2010110344A (ru) 2010-03-18 2010-03-18 Криптографическая обработка с использованием процессора

Country Status (2)

Country Link
US (1) US8452006B2 (ru)
RU (1) RU2010110344A (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2503135C1 (ru) * 2012-05-29 2013-12-27 Общество с ограниченной ответственностью "ЛАН-ПРОЕКТ" Способ криптографического преобразования информации и устройство для его реализации

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9646105B2 (en) * 2012-11-08 2017-05-09 Texas Instruments Incorporated Reduced complexity hashing
FR3011653B1 (fr) * 2013-10-09 2018-01-12 Oberthur Technologies Procedes et dispositifs de masquage et demasquage
US20150227472A1 (en) * 2014-02-10 2015-08-13 Kabushiki Kaisha Toshiba Memory system, controller, and method
US9473296B2 (en) * 2014-03-27 2016-10-18 Intel Corporation Instruction and logic for a simon block cipher
US10454670B2 (en) * 2016-06-10 2019-10-22 Cryptography Research, Inc. Memory optimization for nested hash operations
CN107425963A (zh) * 2017-05-09 2017-12-01 上海众人网络安全技术有限公司 一种密码墙的构建方法及系统
CN108134665B (zh) * 2017-12-20 2020-11-17 东南大学 一种面向IoT应用的8比特AES电路
US11637694B2 (en) * 2018-07-16 2023-04-25 Winkk, Inc. Secret material exchange and authentication cryptography operations
US11606189B2 (en) * 2018-08-03 2023-03-14 Arris Enterprises Llc Method and apparatus for improving the speed of advanced encryption standard (AES) decryption algorithm
US10872173B2 (en) * 2018-09-26 2020-12-22 Marvell Asia Pte, Ltd. Secure low-latency chip-to-chip communication
EP4022593A1 (en) * 2019-08-30 2022-07-06 Telefonaktiebolaget LM Ericsson (publ) A round-free cryptographic hashing device for secure and low-latency communications
US10637837B1 (en) 2019-11-27 2020-04-28 Marpex, Inc. Method and system to secure human and also internet of things communications through automation of symmetric encryption key management
CN112055217B (zh) * 2020-07-27 2022-05-24 西安空间无线电技术研究所 任意字节数据中无损搭载信息的方法
TWI820434B (zh) 2021-06-17 2023-11-01 新唐科技股份有限公司 參數檢查系統及參數檢查方法
TWI826796B (zh) * 2021-06-17 2023-12-21 新唐科技股份有限公司 資安保護系統及資安保護方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7921300B2 (en) 2003-10-10 2011-04-05 Via Technologies, Inc. Apparatus and method for secure hash algorithm
US7715555B2 (en) * 2004-09-07 2010-05-11 Broadcom Corporation Method and system for extending advanced encryption standard (AES) operations for enhanced security
US8380991B2 (en) 2009-04-30 2013-02-19 Apple Inc. Hash function based on polymorphic code
US9680637B2 (en) 2009-05-01 2017-06-13 Harris Corporation Secure hashing device using multiple different SHA variants and related methods

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2503135C1 (ru) * 2012-05-29 2013-12-27 Общество с ограниченной ответственностью "ЛАН-ПРОЕКТ" Способ криптографического преобразования информации и устройство для его реализации

Also Published As

Publication number Publication date
US20110231673A1 (en) 2011-09-22
US8452006B2 (en) 2013-05-28

Similar Documents

Publication Publication Date Title
RU2010110344A (ru) Криптографическая обработка с использованием процессора
US11822901B2 (en) Cryptography using a cryptographic state
CN105490802B (zh) 基于gpu的改进sm4并行加解密通信方法
KR101068367B1 (ko) 병렬 연산 모드에서 aes 암호화 및 암호 해독을 최적화하는 방법 및 장치
US9336160B2 (en) Low latency block cipher
CN101520965B (zh) 包括执行变换序列以隔离一个变换的指令的指令组合
JP5253767B2 (ja) グラフィック処理ユニットでの暗号化及び復号化
TWI571091B (zh) 用於以第二密文編密演算法之運算修改第一密文編密演算法的技術
US8913740B2 (en) Method and apparatus for generating an Advanced Encryption Standard (AES) key schedule
JP2006317802A (ja) 擬似乱数発生システム、暗号化システム及び復号化システム
US20230261853A1 (en) Method and apparatus for improving the speed of advanced encryption standard (aes) decryption algorithm
Lee et al. Efficient implementation of AES-CTR and AES-ECB on GPUs with applications for high-speed FrodoKEM and exhaustive key search
RU2504911C1 (ru) Способ итеративного криптографического преобразования данных
CN105824602B (zh) 输入-相依随机数产生装置及其方法
Khan et al. AES-128 ECB encryption on GPUs and effects of input plaintext patterns on performance
CN110071927B (zh) 一种信息加密方法、系统及相关组件
Ivanov et al. Nonlinear transformations for the construction of the primitives of symmetric cryptoraphy
CN111510296A (zh) Sm4/aes双模加密电路
Islam et al. Data encryption standard
JP5268011B2 (ja) 暗号化システム及び復号化システム
CN212115336U (zh) Sm4/aes双模加密电路
RU2759862C1 (ru) Способ шифрования данных
UA144134U (uk) Спосіб криптографічного перетворення інформації
JP5268010B2 (ja) 暗号化システム及び復号化システム
UA140085U (uk) Спосіб криптографічного перетворення інформації

Legal Events

Date Code Title Description
FA93 Acknowledgement of application withdrawn (no request for examination)

Effective date: 20130319