RU2694336C1 - Способ аутентифицированного шифрования - Google Patents

Способ аутентифицированного шифрования Download PDF

Info

Publication number
RU2694336C1
RU2694336C1 RU2018117029A RU2018117029A RU2694336C1 RU 2694336 C1 RU2694336 C1 RU 2694336C1 RU 2018117029 A RU2018117029 A RU 2018117029A RU 2018117029 A RU2018117029 A RU 2018117029A RU 2694336 C1 RU2694336 C1 RU 2694336C1
Authority
RU
Russia
Prior art keywords
length
bits
key
encryption
value
Prior art date
Application number
RU2018117029A
Other languages
English (en)
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 Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы"
Priority to RU2018117029A priority Critical patent/RU2694336C1/ru
Application granted granted Critical
Publication of RU2694336C1 publication Critical patent/RU2694336C1/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
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Abstract

Изобретение относится к криптографии и средствам защиты информации. Технический результат – повышение криптографической стойкости способа аутентифицированного шифрования. Способ аутентифицированного шифрования сообщения с использованием блочного шифрования, ключа шифрования K, ключа финализации F, вектора инициализации S, причем сообщение включает в себя ассоциированные данные, имеющие в составе хотя бы один ненулевой блок, и, возможно, открытый текст, способ заключается в том, что зашифровывают открытый текст, вычисляя значения счетчиков, вычисляют начальное значение счетчика, получают каждое последующее значение счетчика путем прибавления единицы по модулю к правым битам предыдущего значения счетчика, зашифровывают открытый текст в режиме гаммирования, формируют имитовставку, вычисляют значение имитозащитной группы, вычисляют ключ имитозащиты с использованием блочного шифрования и ключа K, вычисляют значение вектора с помощью операции умножения в конечном поле Галуа, вычисляют значение имитозащитной группы с использованием блочного шифрования и ключа F, расшифровывают шифртекст, полученный из пакета, в режиме гаммирования, проверяют имитовставку, если значения имитовставок совпали, расшифрованный открытый текст и ассоциированные данные признают истинными.

Description

Область техники, к которой относится изобретение
Предлагаемое изобретение относится к криптографии и средствам защиты информации и может быть использовано для реализации как аутентифицированного шифрования, так и просто аутентификации сообщения.
Уровень техники
Способы аутентифицированного шифрования работают с сообщениями, которые состоят из несекретной и секретной части. Они позволяют одновременно зашифровать секретную часть сообщения и получить для всего сообщения имитовставку.
Известны способы аутентифицированного шифрования сообщений, представленных в цифровом виде, а именно в виде двоичных данных, выполняемые с использованием блочного шифрования с секретным ключом и уникального вектора инициализации, например, способ аутентифицированного шифрования GCM (Galois/Counter Mode; NIST Special Publication 800-38D, November 2007, Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC).
Для дальнейшего рассмотрения введем обозначения:
Figure 00000001
- операция конкатенации двух векторов А и В, результатом является вектор, в котором левая часть совпадает с вектором А, а правая часть совпадает с вектором В;
0[b] двоичная строка из b нулевых битов, где b - целое положительное число;
⊕ - операция покомпонентного сложения по модулю 2 двух двоичных строк одинаковой длины;
⊗ - операция умножения в конечном поле Галуа GF(2n) с порождающим многочленом этого поля;
Е(K, М) - алгоритм блочного зашифрования сообщения М с секретным ключом K;
n - длина блока;
K - ключ шифрования длины k бит;
F - ключ финализации длины k бит;
S - уникальный вектор инициализации длины S бит, т.е. для всех сообщений, зашифрованных на одном ключе шифрования K, значение S должно быть различным;
Figure 00000002
- ассоциированные данные (несекретная часть сообщения), состоящие из r блоков;
Figure 00000003
- открытый текст (секретная часть сообщения), состоящий из m блоков;
М - сообщение (двоичный вектор), которое состоит из ассоциированных данных А и открытого текста Р;
Т - имитовставка сообщения М длины t бит;
с16 - запись константы с в 16-ричной системе счисления;
len(M) - длина сообщения М(в байтах);
{ } - двоичная строка, длина которой равна нулю;
|М| - длина сообщения М (в битах);
Ld(u) - слово из первых d символов слова u, d≤|u|;
U mod N -для целого U и натурального N остаток от деления U на N;
incr(Y) - прибавление единицы к правым 32 битам слова Y и взятие результата по модулю 232.
Способ GCM включает два этапа использования: аутентифицированное шифрование и расшифрование с проверкой имитовставки. Для реализации способа необходимы алгоритм блочного шифрования Е с длиной блока 128 бит и с секретным ключом K длины k бит и синхропосылка S длины 5 бит, 1≤s≤264. Способ применяют к сообщению М, которое состоит из ассоциированных данных А и открытого текста Р, длина ассоциированных данных не должна превышать 264 бита, а длина открытого текста не должна превышать (239-256) бита, при этом суммарная длина ассоциированных данных и открытого текста, защищенных на одном ключе не должна превышать 271 бита.
Перед началом реализации способа ассоциированные данные и открытый текст записывают в виде:
Figure 00000004
Для осуществления способа необходима вспомогательная функция GHASH: GHASH(Н, A, С) = Хr+m+1, где переменные Xi, i=0, …, r+m+1 определяют следующим образом:
Figure 00000005
В результате этапа выполнения аутентифицированного шифрования получают шифртекст с, длина которого совпадает с длиной открытого текста, и имитовставку Т длины t бит, 64≤t≤128, для сообщения М. Аутентифицированное шифрование происходит следующим образом:
H=EK(0[128]),
Figure 00000006
Yi=incr(Yi-1), i=1, …, m,
Figure 00000007
i=1, …, m-1,
Figure 00000008
Figure 00000009
Этап расшифрования и проверки имитовставки для ассоциированных данных А, шифртекста С и имитовставки Т осуществляют следующим образом:
Н=ЕK(0[128]),
Figure 00000010
Figure 00000011
Yi=incr (Yi-1), i=1, …, m,
Figure 00000012
i=1, …, m,
Figure 00000013
Если значения T и T' совпали, то в результате этого этапа получают открытый текст Р, иначе получают специальный признак ОШИБКА.
Недостатком способа GCM является снижение стойкости, возникающее из-за уязвимости к атакам на имитовставку, использующим свойства линейности (Ferguson N. Authentication weaknesses in GCM. Comments submitted to NIST Modes of Operation Process, 2005, статья по адресу: http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/comments/CWC-GCM/Ferguson2.pdf) и свойства цикличности многочленов (Markku-Juhani Olavi Saarinen. Cycling Attacks on GCM, GHASH and Other Polynomial MACs and Hashes. In Anne Canteaut, editor, Fast Software Encryption, volume 7549 of Lecture Notes in Computer Science, Springer Berlin Heidelberg, 2012), кроме того, для алгоритма известен ряд атак с усеченной длиной имитовставки (рассмотрены в указанной выше статье Ferguson N.) и с повторяющимися векторами инициализации (Joux A. Authentication Failures in NIST version of GCM. Comments submitted to NIST Modes of Operation Process, 2006, статья по адресу: http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/comments/800-38_Series-Drafts/GCM/Joux_comments.pdf).
Известен и другой способ аутентифицированного шифрования, согласно стандарту СТБ 34.101.31-2011 (Государственный стандарт Республики Беларусь СТБ 34.101.31-2011. Информационные технологии и безопасность. Защита информации. Криптографические алгоритмы шифрования и контроля целостности). Способ состоит из этапа установки защиты и этапа снятия защиты, для его реализации на обоих этапах необходимы одни и те же алгоритм блочного шифрования Е с длиной блока 128 бит и с секретным ключом K длины 256 бит и синхропосылка S длины 128 бит. Защиту устанавливают для сообщения М, которое состоит из ассоциированных данных А и открытого текста Р, длина открытого текста и ассоциированных данных не должна в сумме превышать 264 бита. В результате установки защиты получают шифртекст С, длина которого совпадает с длиной открытого текста, и имитовставку Т длиной 64 бита для сообщения М. Перед началом выполнения способа ассоциированные данные и открытый текст записывают в виде:
Figure 00000014
При шифровании блокам Рi ставятся в соответствие блоки Сi, |Сi|=|Pi|, из которых потом составляется шифртекст С.
На этапе установки защиты выполняют следующие действия:
1. Вычисляют Y0=E(K, S)
2. Для i=1, 2, …, m выполняют:
1) Yi=Yi-1+l(mod2128),
2)
Figure 00000015
3. Устанавливают
Н=Е(K, Е(K,S)), q0=B194BAC80A08F53B366D008E584A5DE416
4. Для i=1, …, r вычисляют:
Figure 00000016
5. Для i=1, 2, …, m вычисляют:
Figure 00000017
6. Вычисляют
Figure 00000018
7. Вычисляют
Figure 00000019
8. Вычисляют Т=L64(qr+m+2)
9. Возвращают (С, Т)
Защиту снимают для ассоциированных данных А, шифртекста С и имитовставки Т. В результате этапа снятия защиты получают либо признак ОШИБКА, либо расшифрованный открытый текст Р, причем получение признака ОШИБКА означает нарушение целостности данных.
На этапе снятия защиты выполняют следующие действия:
1. Устанавливают
H=Е(K, Е(K, S)), q0=В194ВАC80А08F53B366D008Е584А5DE416
2. Для i=1, …, r вычисляют:
Figure 00000020
3. Для i=1, 2, …, m вычисляют:
Figure 00000021
4. Вычисляют
Figure 00000022
5. Вычисляют
Figure 00000023
6. Если Т≠L64(qr+m+2), то возвращают ОШИБКА.
7. Устанавливают Y0=Е (K, S)
8. Для i=1, 2, …, m выполняют:
1) Yi=Yi-1+1(mod2128),
2)
Figure 00000024
9. Возвращают Р
Для разных криптографических приложений зачастую требуется различная длина имитовставки, поэтому одним из недостатков способа СТБ является фиксированная длина имитовставки равная 64 битам.
Другим недостатком известного способа является недостаточная скорость выполнения в некоторых вариантах реализации. Кроме того, использование умножения длины сообщения на ключ имитозащиты, потенциально может привести к снижению стойкости способа к криптографическим атакам.
Способ аутентифицированного шифрования СТБ 34.101.31-2011 выбран в качестве прототипа.
Раскрытие изобретения
Технический результат заключается в повышении криптографической стойкости способа аутентифицированного шифрования и повышении скорости выполнения способа.
Для этого предлагается способ, ранее описанный (Бабуева А.А., Науменко А.П. О подходах к анализу схем аутентифицированного шифрования, построенных с использованием умножения в конечных полях. Конференция РусКрипто'2018, материал по адресу: https://www.ruscrypto.ru/resource/archive/rc2018/files/02_Babueva_Naumenko.pdf).
Для реализации способа необходимы способ блочного шифрования Е(K, М) с длиной блока n бит, n кратно 32, n≥64, ключ шифрования K длиной k бит, k≥128, ключ финализации F длиной k бит и вектор инициализации S длиной s бит,
Figure 00000025
Ключи K и F должны быть выработаны случайно (псевдослучайно), равновероятно и независимо друг от друга. Для вектора инициализации должно быть выполнено требование уникальности, т.е. он должен быть различен для всех сообщений, зашифрованных на одном и том же ключе.
Сообщение М включает в себя:
• ассоциированные данные А, разделенные на г блоков Ai, 0<i≤r, имеющие в составе хотя бы один ненулевой блок, причем r - целое положительное число
Figure 00000026
причем длина ассоциированных данных должна быть кратна 8 битам;
• и, возможно, открытый текст Р, разделенный на m блоков Рi, 0<i≤m, причем m - целое число,
Figure 00000027
|P1|=…=|Pm-1|=n, |Pm|≤n,
длина открытого текста должна быть кратна 8 битам;
причем выполняется соотношение
Figure 00000028
Суммарное количество блоков ассоциированных данных и открытого текста, обработанных на одном ключе не должно превышать
Figure 00000029
Способ состоит из 4-х этапов: шифрования, выработки имитовставки, расшифрования и проверки имитовставки. В результате шифрования и выработки имитовставки способ выдает неизмененные ассоциированные данные, зашифрованный текст, длина которого совпадает с длиной открытого текста, и имитовставку Т длины t бит, 1≤t≤n, значение t выбирают перед использованием способа и не меняют в процессе его использования;
Шифрование происходит следующим образом:
Figure 00000030
получают последовательность значений счетчиков:
Figure 00000031
Yi =incr(Yi-1), 2≤i≤m
Figure 00000032
получают шифртекст
Figure 00000033
, длина которого совпадает с длиной открытого текста, выполняя следующие действия:
Figure 00000034
i=1, …, m-1,
Figure 00000035
Заметим, что начальное значение счетчика получается как
Figure 00000036
, т.е. не нужно выполнять зашифрования вектора инициализации как в способе-прототипе, где Y0=E(K, S), что позволяет начать этап шифрования, как только получено сообщение.
Выработка имитовставки для сообщения М происходит следующим образом:
Figure 00000037
если длина последнего блока ассоциированных данных меньше n, то дополняют этот блок:
Figure 00000038
Figure 00000039
если длина последнего блока шифртекста меньше n, то дополняют этот блок:
Figure 00000040
Figure 00000041
вычисляют значение имитозащитной группы Z:
Figure 00000042
вычисляют ключ имитозащиты Н:
Н=Е(K, 0[n]);
Figure 00000043
вычисляют значение вектора q1:
Figure 00000044
Figure 00000045
вычисляют значения векторов
Figure 00000046
j=2, …, r-1,
Figure 00000047
при r>1,
Figure 00000048
i=1, …, m-1,
Figure 00000049
m>0,
Figure 00000050
вычисляют
Figure 00000051
причем для размещения len(Р) выделяют
Figure 00000052
двоичных разрядов, а для размещения Len(A) выделяют
Figure 00000053
двоичных разрядов;
Figure 00000054
вычисляют значение имитозащитной группы Z:
Figure 00000055
Figure 00000056
используют t младших бит имитозащитной группы Z в качестве имитовставки Т.
В результате этапа шифрования и выработки имитовставки формируют пакет данных, включающий в себя
• ассоциированные данные
Figure 00000002
, r≥1;
• шифртекст
Figure 00000057
m≥0,
Figure 00000058
• имитовставку Т.
Заметим, что в способе-прототипе ключ имитозащиты Н вырабатывается как Е(K, Е(K, S)), т.е. используется два блочных зашифрования, кроме того, вычисление ключа имитозащиты возможно только при получении вектора инициализации. Это не позволяет сразу при получении сообщения начать вычислять значения qj, j=1, …, r+m. В предложенном способе ключ имитозащиты Н вырабатывается как Е(K, 0[n]), это значит, что он может быть вычислен заранее без знания вектора инициализации, более того, используется только одно зашифрование, что также позволяет увеличить скорость выработки Н.
Скорость вычисления последовательности, подающейся на вход финального шифрования, в новом способе выше, чем в способе-прототипе, поскольку отсутствует начальное умножение ключа имитозащиты на константу, кроме того, в новом способе вычисление qr+m и E(F, S2) могут быть выполнены параллельно, тогда как в способе-прототипе умножение длины сообщения на ключ имитозащиты происходит после вычисления всех значений qi, 1≤i≤r+m.
Два последних шифрования происходят с помощью ключа финализации. Это означает, что если значение
Figure 00000059
совпадет с одним из счетчиков Yi, 1≤i≤m, то использовать знание Е(K, Yi) для того, чтобы восстановить имитозащитную группу Z, нецелесообразно, поскольку
Figure 00000060
зашифровано на другом ключе. Невозможность реализации такой атаки позволяет говорить об увеличении криптографической стойкости предложенного способа по сравнению со способом-прототипом.
Для осуществления расшифрования и проверки имитовставки данных, полученных из пакета, необходимы ключ шифрования K, ключа финализации F и вектор инициализации S, которые использовались на этапе шифрования и выработки имитовставки.
Этап расшифрования шифртекста, полученного из пакета, можно выполнять независимо от этапа проверки имитовставки, при этом расшифрованный открытый текст и ассоциированные данные могут использоваться далее только в случае успешного результата проверки имитовставки. Этап расшифрования состоит в следующем:
Figure 00000061
Yi=incr(Yi-1), 2≤i≤m,
Figure 00000062
, i=1, …, m-1;
Figure 00000063
Проверка имитовставки происходит следующим образом:
Figure 00000064
Figure 00000065
Е(K, 0[n]),
Figure 00000066
Figure 00000067
j=2, …, r-1,
Figure 00000068
при r>1,
Figure 00000069
i=1, …, m-1,
Figure 00000070
m>0,
Figure 00000071
T'=Lt(Z)
Если значения имитовставок Т и T' не совпали, то полученный пакет удаляют, и результатом этапов расшифрования и проверки имитовставки считают отрицательный результат проверки имитовставки. Если значения имитовставок совпали, то значения ассоциированных данных и шифртекста признают истинными и результатом этапов расшифрования и проверки имитовставки считают полученный открытый текст
Figure 00000072
и ассоциированные данные А.
Таким образом, повышение стойкости достигается за счет использования блочного зашифрования длины сообщения, а также использования двух разных ключей для шифрования и аутентификации.
Зашифрование длины сообщения позволяет избавиться от возникновения доступных для анализа зависимостей последовательности, поступающей на финальное шифрование, от битов длины сообщения, поскольку операция шифрования является более стойкой операцией, чем операция умножения в поле Галуа.
Использование двух различных ключей для шифрования и аутентификации позволяет избавиться от потенциальной угрозы совпадения результата зашифрования одного из счетчиков с имитовставкой, полученной для сообщения.
Повышение скорости выполнения способа достигается за счет того, что не нужно производить дополнительных шифрований вектора инициализации, а ключ имитозащиты Н может быть вычислен заранее. Выработка имитовставки реализуется быстрее, чем в способе-прототипе, поскольку отсутствуют начальная обработка константы и умножение длины сообщения на ключ имитозащиты, при этом шифрование длины сообщения может производиться параллельно с другими вычислениями.
Кроме того, предлагаемый способ может быть использован с блочными шифрами, имеющими различные длины блоков, длины ключей и векторов инициализации. Длина имитовставки также может быть выбрана различной, в зависимости от предпочтительного баланса между уровнем стойкости и необходимостью передавать или хранить дополнительные байты имитовставки.
Осуществление изобретения
Рассмотрим осуществление предложенного способа с использованием алгоритма блочного шифрования "Кузнечик" (Национальный стандарт РФ. ГОСТ Р 34.12-2015. Информационная технология. Криптографическая защита информации. Блочные шифры) в качестве Е(K, М) с длиной блока n=128, длиной ключа k=256, а также с длиной вектора инициализации s=72 и с порождающим многочленом ƒ=1+α+α27128 в поле GF(2128).
Для осуществления способа необходимы ключ шифрования K длиной 256 бит, ключ финализации F длиной 256 бит и вектор инициализации S длиной 72 бит. Ключи K и F должны быть выработаны случайно (псевдослучайно), равновероятно и независимо друг от друга. Для вектора инициализации должно быть выполнено требование уникальности, т.е. он должен быть различен для всех сообщений, зашифрованных на одном и том же ключе.
Сообщение М включает в себя:
• ассоциированные данные А, разделенные на r блоков Ai, 0<i≤r, имеющие в составе хотя бы один ненулевой блок, причем r - целое положительное число,
Figure 00000073
|A1|=…=|Ar-1|=128, |Аr|≤128
причем длина ассоциированных данных должна быть кратна 8 битам;
• и, возможно, открытый текст Р, разделенный на m блоков Pi, 0<i≤m, причем m - целое число,
Figure 00000074
|P1|=…=|Pm-1|=128, |Рm|≤128
длина открытого текста должна быть кратна 8 битам;
причем выполняется соотношение
r+m≤232-1
Способ состоит из 4-х этапов: шифрования, выработки имитовставки, расшифрования и проверки имитовставки. Шифрование происходит следующим образом:
Figure 00000075
получают последовательность значений счетчиков:
Figure 00000076
Yi=incr(Yi-1), 2≤i≤m;
Figure 00000077
получают шифртекст
Figure 00000078
длина которого совпадает с длиной открытого текста, выполняя следующие действия:
Figure 00000079
i=1, …, m-1;
Figure 00000080
Выработка имитовставки для сообщения М происходит следующим образом:
• если длина последнего блока ассоциированных данных меньше 128, то дополняют этот блок:
Figure 00000081
• если длина последнего блока шифртекста меньше 128, то дополняют этот блок:
Figure 00000082
• вычисляют значение имитозащитной группы Z:
• вычисляют ключ имитозащиты Н:
Н=Е(K, 0[128]);
• вычисляют значение вектора q1:
Figure 00000083
• вычисляют значения векторов
Figure 00000084
j=2, …, r-1,
Figure 00000085
при r>1,
Figure 00000086
i=1, …, m-1,
Figure 00000087
, m>0;
• вычисляют
Figure 00000088
причем для размещения len(Р) выделяют 40 двоичных разрядов, а для размещения len(А) выделяют 16 двоичных разрядов;
• вычисляют значение имитозащитной группы Z:
Figure 00000089
• используют t младших бит имитозащитной группы Z в качестве имитовставки Т.
В результате этапа шифрования и выработки имитовставки формируют пакет данных, включающий в себя
• ассоциированные данные
Figure 00000090
, r≥1;
• шифртекст
Figure 00000091
m≥0, r+m≤232-1;
• имитовставку Т.
Для осуществления расшифрования и проверки имитовставки данных, полученных из пакета, необходимы ключ шифрования K, ключа финализации F и вектор инициализации S, которые использовались на этапе шифрования и выработки имитовставки.
Этап расшифрования шифртекста, полученного из пакета, можно выполнять независимо от этапа проверки имитовставки, при этом расшифрованный открытый текст и ассоциированные данные могут использоваться далее только в случае успешного результата проверки имитовставки. Этап расшифрования состоит в следующем:
Figure 00000092
Yi=incr(Yi-1), 2≤i≤m,
Figure 00000093
i=1, …, m-1,
Figure 00000094
Проверка имитовставки происходит следующим образом:
Figure 00000095
Figure 00000096
Н=Е(K, 0[128]),
Figure 00000097
j=2, …, r-1,
Figure 00000098
при r>1,
Figure 00000099
i=1, …, m-1,
Figure 00000100
m>0,
Figure 00000101
T'=Lt(Z)
Если значения имитовставок Т и T' не совпали, то полученный пакет удаляют, и результатом этапов расшифрования и проверки имитовставки считают отрицательный результат проверки имитовставки. Если значения имитовставок совпали, то значения ассоциированных данных и шифртекста признают истинными и результатом этапов расшифрования и проверки имитовставки считают полученный открытый текст
Figure 00000102
и ассоциированные данные А.
Отметим, что осуществление изобретения с другими значениями параметров способа, вообще говоря, требует дополнительных исследований криптографической стойкости.

Claims (46)

  1. Способ аутентифицированного шифрования сообщения М с использованием блочного шифрования Е с длиной блока n бит, причем n кратно 32, n≥64, ключа шифрования К длиной k бит, k≥128, ключа финализации F длиной k бит, вектора инициализации S длиной s бит,
  2. Figure 00000103
  3. и с длиной имитовставки T, равной t бит, 1<t<n, причем сообщение М включает в себя ассоциированные данные А, разделенные на r блоков Аi, 0<i≤r длиной n бит, имеющие в составе хотя бы один ненулевой блок, причем r - целое положительное число
  4. Figure 00000104
  5. где символ
    Figure 00000105
    означает операцию конкатенации битовых векторов, причем длина ассоциированных данных должна быть кратна 8 битам, а последний блок Аr может иметь длину меньше n бит;
  6. и, возможно, открытый текст Р, разделенный на m блоков Pi, 0<i<m длиной n бит, причем m - целое число,
  7. Figure 00000106
  8. длина открытого текста должна быть кратна 8 битам, а последний блок Рm может иметь длину меньше n бит;
  9. причем выполняется соотношение
  10. Figure 00000107
  11. способ заключается в том, что
  12. зашифровывают открытый текст, выполняя следующие действия: вычисляют значения счетчиков:
  13. вычисляют начальное значение счетчика
  14. Figure 00000108
  15. причем верхний индекс в квадратных скобках означает разрядность двоичной записи значения;
  16. получают каждое последующее значение счетчика Yi, i≤m, путем прибавления единицы по модулю
    Figure 00000109
    к правым n/4 битам предыдущего значения счетчика; зашифровывают открытый текст Р в режиме гаммирования, прибавляя к нему поразрядно зашифрованные с использованием блочного шифрования Е на ключе К значения счетчиков, получая шифртекст
  17. Figure 00000110
  18. длина которого совпадает с длиной открытого текста; формируют имитовставку, выполняя следующие действия:
  19. если длина ассоциированных данных не кратна n бит, то к последнему блоку Аr дописывают единицу и следом такое количество нулей, чтобы длина дополненного последнего блока
    Figure 00000111
    была равна n бит;
  20. если длина шифртекста не кратна n бит, то к последнему блоку Сm дописывают единицу и следом такое количество нулей, чтобы длина дополненного последнего блока
    Figure 00000112
    была равна n бит;
  21. вычисляют значение имитозащитной группы Z:
  22. вычисляют ключ имитозащиты H с использованием блочного шифрования Е и ключа K:
  23. Figure 00000113
  24. вычисляют значение вектора q1 с помощью операции умножения ⊗ в конечном поле Галуа GF(2n):
  25. Figure 00000114
  26. вычисляют значения векторов
  27. Figure 00000115
  28. Figure 00000116
  29. Figure 00000117
  30. Figure 00000118
  31. где ⊗ - операция покомпонентного сложения по модулю 2 двух двоичных строк одинаковой длины;
  32. вычисляют
  33. Figure 00000119
  34. где len(А) - количество байт ассоциированных данных,
  35. len(Р) - количество байт открытого текста,
  36. причем для размещения len(Р) выделяют
    Figure 00000120
    двоичных разрядов, а для размещения len(А) выделяют
    Figure 00000121
    двоичных разрядов;
  37. вычисляют значение имитозащитной группы Z с использованием блочного шифрования Е и ключа F:
  38. Figure 00000122
  39. используют t младших бит имитозащитной группы Z в качестве имитовставки Т;
  40. формируют пакет данных, включающий в себя ассоциированные данные
    Figure 00000123
    r≥1, шифртекст
    Figure 00000124
    m≥0,
    Figure 00000125
    и имитовставку Т;
  41. при необходимости, расшифровывают пакет, используя вектор инициализации S, ключ шифрования K и ключ финализации F, выполняя следующие действия:
  42. расшифровывают шифртекст, полученный из пакета, в режиме гаммирования;
  43. проверяют имитовставку, выполняя следующие действия:
  44. вычисляют имитовставку, используя вектор инициализации S, ключ шифрования К, ключ финализации F и полученные из пакета ассоциированные данные А и шифртекст С;
  45. сравнивают вычисленное значение имитовставки с значением имитовставки, полученной из пакета;
  46. если значения имитовставок совпали, расшифрованный открытый текст и ассоциированные данные признают истинными.
RU2018117029A 2018-05-08 2018-05-08 Способ аутентифицированного шифрования RU2694336C1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2018117029A RU2694336C1 (ru) 2018-05-08 2018-05-08 Способ аутентифицированного шифрования

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2018117029A RU2694336C1 (ru) 2018-05-08 2018-05-08 Способ аутентифицированного шифрования

Publications (1)

Publication Number Publication Date
RU2694336C1 true RU2694336C1 (ru) 2019-07-11

Family

ID=67309089

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2018117029A RU2694336C1 (ru) 2018-05-08 2018-05-08 Способ аутентифицированного шифрования

Country Status (1)

Country Link
RU (1) RU2694336C1 (ru)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2257677C2 (ru) * 1999-08-31 2005-07-27 Мацусита Электрик Индастриал Ко.,Лтд. Способ шифрования, устройство шифрования, способ дешифрирования и устройство дешифрирования
US20080084996A1 (en) * 2006-10-05 2008-04-10 Hewlett-Packard Development Company, L.P. Authenticated encryption method and apparatus
US8321675B2 (en) * 2001-07-30 2012-11-27 Rogaway Phillip W Method and apparatus for facilitating efficient authenticated encryption
RU2647685C2 (ru) * 2013-08-02 2018-03-16 Нек Корпорейшн Устройство аутентифицированного шифрования, способ аутентифицированного шифрования и программа для аутентифицированного шифрования

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2257677C2 (ru) * 1999-08-31 2005-07-27 Мацусита Электрик Индастриал Ко.,Лтд. Способ шифрования, устройство шифрования, способ дешифрирования и устройство дешифрирования
US8321675B2 (en) * 2001-07-30 2012-11-27 Rogaway Phillip W Method and apparatus for facilitating efficient authenticated encryption
US20080084996A1 (en) * 2006-10-05 2008-04-10 Hewlett-Packard Development Company, L.P. Authenticated encryption method and apparatus
RU2647685C2 (ru) * 2013-08-02 2018-03-16 Нек Корпорейшн Устройство аутентифицированного шифрования, способ аутентифицированного шифрования и программа для аутентифицированного шифрования

Similar Documents

Publication Publication Date Title
US9537657B1 (en) Multipart authenticated encryption
EP3563512B1 (en) Equivocation augmentation dynamic secrecy system
US5870470A (en) Method and apparatus for encrypting long blocks using a short-block encryption procedure
CN106656475B (zh) 一种用于高速加密的新型对称型密钥加密方法
US6973187B2 (en) Block encryption method and schemes for data confidentiality and integrity protection
US20020048364A1 (en) Parallel block encryption method and modes for data confidentiality and integrity protection
US8942371B2 (en) Method and system for a symmetric block cipher using a plurality of symmetric algorithms
JP6035459B2 (ja) 暗号化装置、復号化装置、及びプログラム
EP2911138A2 (en) Variable-length block cipher apparatus and method capable of format preserving encryption
WO2001076130B1 (en) Authentication method and schemes for data integrity protection
US9787475B2 (en) Device, method, and program for message authentication tag generation
WO2008115476A1 (en) A simple and efficient one-pass authenticated encryyption scheme
WO2013065241A1 (ja) インクリメンタルmacタグ生成装置、方法及びプログラム並びにメッセージ認証装置
JP2004363739A (ja) 改竄検知可能な、共通鍵暗号の暗号化装置または復号化装置
Teh et al. A chaos-based authenticated cipher with associated data
US20070277043A1 (en) Methods for Generating Identification Values for Identifying Electronic Messages
CN109714154B (zh) 一种代码体积困难白盒安全模型下的白盒密码算法的实现方法
US20150172045A1 (en) Method of cryption
RU2694336C1 (ru) Способ аутентифицированного шифрования
JP7371757B2 (ja) 認証暗号化装置、認証復号装置、認証暗号化方法、認証復号方法およびプログラム
CN110943837B (zh) 一种基于改进md5加密算法的用户密码加密方法
JP6631989B2 (ja) 暗号化装置、制御方法、及びプログラム
Yılmaz Two versions of the stream cipher snow
Yenikapati et al. Message Encryption Using Deceptive Text and Randomized Hashing
Gupta et al. A fail-fast mechanism for authenticated encryption schemes