Содержание

HMACMD5 Класс (System.Security.Cryptography) | Microsoft Learn

  • Ссылка

Определение

Пространство имен:
System.Security.Cryptography
Сборка:
System.Security.Cryptography.Algorithms.dll
Сборка:
System.Security.Cryptography.dll
Сборка:
mscorlib.dll
Сборка:
netstandard. dll

Важно!

Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.

Вычисляет хэш-код аутентификации сообщения (HMAC) с помощью хэш-функции MD5.

public ref class HMACMD5 : System::Security::Cryptography::HMAC
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public class HMACMD5 : System.Security.Cryptography.HMAC
public class HMACMD5 : System.Security.Cryptography.HMAC
[System.Runtime.InteropServices.ComVisible(true)]
public class HMACMD5 : System.Security.Cryptography.HMAC
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type HMACMD5 = class
    inherit HMAC
type HMACMD5 = class
    inherit HMAC
[<System. Runtime.InteropServices.ComVisible(true)>]
type HMACMD5 = class
    inherit HMAC
Public Class HMACMD5
Inherits HMAC
Наследование

Object

HashAlgorithm

KeyedHashAlgorithm

HMAC

HMACMD5

Атрибуты

UnsupportedOSPlatformAttribute ComVisibleAttribute

HMACMD5 — это тип хэш-алгоритма, созданного на основе хэш-функции алгоритма хэширования сообщений 5 (MD5) и используемого в качестве кода проверки подлинности на основе хэша сообщений (HMAC). Процесс HMAC смешивает секретный ключ с данными сообщения, хэширует результат с хэш-функцией, перемешивает это хэш-значение с секретным ключом еще раз, а затем применяет хэш-функцию еще раз.

Выходной хэш имеет длину 128 бит.

HMAC можно использовать для определения того, было ли сообщение, отправленное по небезопасным каналам, изменено, при условии, что отправитель и получатель совместно используют секретный ключ. Отправитель вычисляет хэш-значение для исходных данных и отправляет исходные данные и хэш-значение в виде одного сообщения. Получатель пересчитывает хэш-значение полученного сообщения и проверяет, соответствует ли вычисляемый HMAC переданный HMAC.

Любое изменение данных или хэш-значения приводит к несоответствию, так как знание секретного ключа требуется для изменения сообщения и воспроизведения правильного хэш-значения. Таким образом, если исходные и вычисляемые хэш-значения совпадают, сообщение проходит проверку подлинности.

MD5 — это криптографический хэш-алгоритм, разработанный в RSA Лаборатории. HMACMD5 принимает ключи любого размера и создает хэш-последовательность длиной 128 бит.

Из-за конфликта с MD5 корпорация Майкрософт рекомендует использовать SHA256.

Конструкторы

HMACMD5()

Инициализирует новый экземпляр класса HMACMD5 ключом, созданным с помощью алгоритма генерации случайных чисел.

HMACMD5(Byte[])

Инициализирует новый экземпляр класса HMACMD5, используя указанный ключ.

Поля

HashSizeInBits

Хэш-размер, создаваемый алгоритмом HMAC MD5 в битах.

HashSizeInBytes

Хэш-размер, созданный алгоритмом HMAC MD5 в байтах.

HashSizeValue

Представляет размер вычисленного хэш-кода в битах.

(Унаследовано от HashAlgorithm)
HashValue

Представляет значение вычисляемого хэш-кода.

(Унаследовано от HashAlgorithm)
KeyValue

Ключ, используемый в хэш-алгоритме.

(Унаследовано от KeyedHashAlgorithm)
State

Представляет состояние процесса вычисления хэша.

(Унаследовано от HashAlgorithm)

Свойства

5 netframework-4.5.1 netframework-4.5.2 netframework-4.6 netframework-4.6.1 netframework-4.6.2 netframework-4.7 netframework-4.7.1 netframework-4.7.2 netframework-4.8 netstandard-2.0 netstandard-2.1 xamarinandroid-7.1 xamarinios-10.8 xamarinmac-3.0 «>
5 netframework-4.5.1 netframework-4.5.2 netframework-4.6 netframework-4.6.1 netframework-4.6.2 netframework-4.7 netframework-4.7.1 netframework-4.7.2 netframework-4.8 netstandard-2.0 xamarinandroid-7.1 xamarinios-10.8 xamarinmac-3.0 «>
BlockSizeValue

Получает или задает размер блока, используемый в значении хэша.

(Унаследовано от HMAC)
CanReuseTransform

Получает значение, указывающее на возможность повторного использования текущего преобразования.

(Унаследовано от HashAlgorithm)
CanTransformMultipleBlocks

Если переопределено в производном классе, возвращает значение, указывающее, возможно ли преобразование нескольких блоков.

(Унаследовано от HashAlgorithm)
Hash

Получает значение вычисленного хэш-кода.

(Унаследовано от HashAlgorithm)
HashName

Возвращает или задает имя используемого хэш-алгоритма.

(Унаследовано от HMAC)
HashSize

Возвращает размер вычисляемого значения HMAC в битах.

HashSize

Получает размер вычисленного хэш-кода в битах.

(Унаследовано от HashAlgorithm)
InputBlockSize

При переопределении в производном классе получает размер входного блока.

(Унаследовано от HashAlgorithm)
Key

Возвращает или задает ключ, используемый при вычислении HMAC.

Key

Возвращает или задает ключ, используемый при вычислении HMAC.

(Унаследовано от HMAC)
OutputBlockSize

При переопределении в производном классе получает размер выходного блока.

(Унаследовано от HashAlgorithm)

Методы

0 netframework-3.0 netframework-3.5 netframework-4.0 netframework-4.5 netframework-4.5.1 netframework-4.5.2 netframework-4.6 netframework-4.6.1 netframework-4.6.2 netframework-4.7 netframework-4.7.1 netframework-4.7.2 netframework-4.8 netstandard-2.0 xamarinandroid-7.1 xamarinios-10.8 xamarinmac-3.0 «> 0 net-6.0 net-7.0 netcore-1.0 netcore-1.1 netcore-2.0 netcore-2.1 netcore-2.2 netcore-3.0 netcore-3.1 netstandard-1.3 netstandard-1.4 netstandard-1.6 netstandard-2.1 «> 1 «> 0 «> 8 netstandard-2.0 xamarinandroid-7.1 xamarinios-10.8 xamarinmac-3.0 «> 0 «>
Clear()

Освобождает все ресурсы, используемые классом HashAlgorithm.

(Унаследовано от HashAlgorithm)
ComputeHash(Byte[])

Вычисляет хэш-значение для заданного массива байтов.

(Унаследовано от HashAlgorithm)
ComputeHash(Byte[], Int32, Int32)

Вычисляет хэш-значение для заданной области заданного массива байтов.

(Унаследовано от HashAlgorithm)
ComputeHash(Stream)

Вычисляет хэш-значение для заданного объекта Stream.

(Унаследовано от HashAlgorithm)
ComputeHashAsync(Stream, CancellationToken)

Асинхронно вычисляет хэш-значение для заданного объекта Stream.

(Унаследовано от HashAlgorithm)
Dispose()

Освобождает все ресурсы, используемые текущим экземпляром класса HashAlgorithm.

(Унаследовано от HashAlgorithm)
Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые объектом HMACMD5, а при необходимости освобождает также управляемые ресурсы.

Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые объектом HMAC, и, если допускается изменение ключа, опционально освобождает управляемые ресурсы.

(Унаследовано от HMAC)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
HashCore(Byte[], Int32, Int32)

Передает данные из объекта в HMAC-алгоритм для вычисления HMAC.

HashCore(Byte[], Int32, Int32)

Если переопределено в производном классе, передает данные, записанные в объект, в HMAC-алгоритм для вычисления значения HMAC.

(Унаследовано от HMAC)
HashCore(ReadOnlySpan<Byte>)

Передает данные из объекта в HMAC-алгоритм для вычисления HMAC.

HashCore(ReadOnlySpan<Byte>)

Передает данные из объекта в HMAC-алгоритм для вычисления HMAC.

(Унаследовано от HMAC)
HashData(Byte[], Byte[])

Вычисляет HMAC данных с помощью алгоритма MD5.

HashData(Byte[], Stream)

Вычисляет HMAC потока с помощью алгоритма MD5.

HashData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>)

Вычисляет HMAC данных с помощью алгоритма MD5.

HashData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>)

Вычисляет HMAC данных с помощью алгоритма MD5.

HashData(ReadOnlySpan<Byte>, Stream)

Вычисляет HMAC потока с помощью алгоритма MD5.

HashData(ReadOnlySpan<Byte>, Stream, Span<Byte>)

Вычисляет HMAC потока с помощью алгоритма MD5.

HashDataAsync(Byte[], Stream, CancellationToken)

Асинхронно вычисляет HMAC потока с помощью алгоритма MD5.

HashDataAsync(ReadOnlyMemory<Byte>, Stream, CancellationToken)

Асинхронно вычисляет HMAC потока с помощью алгоритма MD5.

HashDataAsync(ReadOnlyMemory<Byte>, Stream, Memory<Byte>, CancellationToken)

Асинхронно вычисляет HMAC потока с помощью алгоритма MD5.

HashFinal()

Завершает вычисление HMAC после обработки последних данных алгоритмом.

HashFinal()

Если переопределено в производном классе, завершает вычисление HMAC после обработки последних данных алгоритмом.

(Унаследовано от HMAC)
Initialize()

Сбрасывает хэш-алгоритм в исходное состояние.

Initialize()

Инициализирует новый экземпляр реализации по умолчанию класса HMAC.

(Унаследовано от HMAC)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
TransformBlock(Byte[], Int32, Int32, Byte[], Int32)

Вычисляет хэш-значение для заданной области входного массива байтов и копирует указанную область входного массива байтов в заданную область выходного массива байтов.

(Унаследовано от HashAlgorithm)
TransformFinalBlock(Byte[], Int32, Int32)

Вычисляет хэш-значение для заданной области заданного массива байтов.

(Унаследовано от HashAlgorithm)
TryComputeHash(ReadOnlySpan<Byte>, Span<Byte>, Int32)

Пытается вычислить хэш-значение для заданного массива байтов.

(Унаследовано от HashAlgorithm)
TryHashData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32)

Пытается вычислить HMAC данных с помощью алгоритма MD5.

TryHashFinal(Span<Byte>, Int32)

Пытается завершить вычисление HMAC после обработки последних данных алгоритмом HMAC.

TryHashFinal(Span<Byte>, Int32)

Пытается завершить вычисление HMAC после обработки последних данных алгоритмом HMAC.

(Унаследовано от HMAC)

Явные реализации интерфейса

IDisposable.Dispose()

Освобождает неуправляемые ресурсы, используемые объектом HashAlgorithm, а при необходимости освобождает также управляемые ресурсы.

(Унаследовано от HashAlgorithm)

Применяется к

См. также раздел

  • службы шифрования

Онлайн генератор HMAC — iCoder.Uz

Инструмент будет генерировать хэш-код аутентификации сообщения (hmac) строки сообщения, используя ключ для AES, HMAC-MD5, HMAC-RIPEMD160, HMAC-SHA1, HMAC-SHA3, HMAC-SHA224, HMAC-SHA256, HMAC-SHA384 , HMAC-SHA512, MD5, PBKDF2, Rabbit-Legacy, rabbit, rc4, RIPEMD160, SHA1, SHA3, SHA224, SHA256, SHA384, SHA512, Tripledes.

Алгоритмы AESHMAC-MD5HMAC-RIPEMD160HMAC-SHA1HMAC-SHA3HMAC-SHA224HMAC-SHA256HMAC-SHA384HMAC-SHA512MD5PBKDF2Rabbit-Legacyrabbitrc4RIPEMD160SHA1SHA3SHA224SHA256SHA384SHA512Tripledes

Инструменты для украшения и уменьшения

Украшатель CSS
Украшает, форматирует и сделает CSS код более читаемым.

Уменьшитель CSS
Сделает CSS код уменьшенным, сжатым путем удаления новых строк, пробелов, комментариев и отступов.

Украшатель HTML
Украшает, форматирует и сделает HTML код более читаемым.

Уменьшитель HTML
Сделает HTML код уменьшенным, сжатым путем удаления новых строк, пробелов, комментариев и отступов.

Украшатель Javascript
Украшает, форматирует и сделает Javascript код более читаемым.

Уменьшитель Javascript
Сделает Javascript код уменьшенным, сжатым путем удаления новых строк, пробелов, комментариев и отступов.

Обфускатор Javascript
Сделает Javascript код более сложным для понимания или чтения для защиты.

Украшатель JSON
Украшает, форматирует и сделает JSON код более читаемым.

Уменьшитель JSON
Сделает JSON код уменьшенным, сжатым путем удаления новых строк, пробелов, комментариев и отступов.

Украшатель XML
Украшает, форматирует и сделает XML код более читаемым.

Уменьшитель XML
Сделает XML код уменьшенным, сжатым путем удаления новых строк, пробелов, комментариев и отступов.

Украшатель OPML
Украшает, форматирует и сделает OPML код более читаемым.

Уменьшитель OPML
Сделает OPML код уменьшенным, сжатым путем удаления новых строк, пробелов, комментариев и отступов.

Украшатель SQL
Украшает, форматирует и сделает SQL код более читаемым.

Уменьшитель SQL
Сделает SQL код уменьшенным, сжатым путем удаления новых строк, пробелов, комментариев и отступов.

Конвертеры

Конвертер CSV в JSON
Конвертирует CSV данные в JSON и украшает.

Конвертер CSV в TSV
Конвертирует CSV данные в TSV и украшает.

Конвертер CSV в Excel
Конвертирует CSV данные в Excel и украшает.

Конвертер CSV в HTML
Конвертирует CSV данные в HTML, просматривая его ниже.

Конвертер CSV в SQL
Конвертирует CSV в SQL формат и украшает.

Конвертер CSV в Многострочные данные
Конвертирует CSV в многострочные данные и делает его более читаемым.

Конвертер CSV в Текст
Конвертирует CSV в обычный текст и делает его более читаемым.

Конвертер CSV в XML/JSON
Конвертирует CSV в XML и JSON онлайн.

Конвертер CSV в XML
Конвертирует CSV в XML и украшает.

Конвертер CSV в YAML
Конвертирует CSV в YAML и украшает.

Извлечь столбец CSV
Извлекает один столбец из CSV.

Конвертер Excel в CSV
Конвертирует Excel в CSV и украшает.

Конвертер Excel в TSV
Конвертирует Excel в TSV и украшает.

Конвертер Excel в HTML
Конвертирует Excel в HTML и украшает.

Excel в формульный вид
Конвертирует Excel в формульный вид и украшает.

Конвертер Excel в SQL
Конвертирует Excel в SQL и украшает.

Конвертер Excel в JSON
Конвертирует Excel в JSON и украшает.

Конвертер Excel в XML
Конвертирует Excel в XML и украшает.

Конвертер Excel в YAML
Конвертирует Excel в YAML и украшает.

Конвертер Excel в Текст
Конвертирует Excel в Текст и украшает.

Извлечь столбец Excel
Извлекает один столбец из Excel.

Конвертер TSV в JSON
Конвертирует данные TSV в JSON и украшает.

Конвертер TSV в CSV
Конвертирует данные TSV в CSV и украшает.

Конвертер TSV в Excel
Конвертирует данные TSV в Excel и украшает.

Конвертер TSV в HTML
Конвертирует данные TSV в HTML, с просмотром ниже.

Конвертер TSV в SQL
Конвертирует TSV в SQL формат и украшает.

Конвертер TSV в Многострочные данные
Конвертирует TSV в многострочные данные и делает более читаемым.

Конвертер TSV в Текст
Конвертирует TSV в обычный текст и делает более читаемым.

Конвертер TSV в XML/JSON
Конвертирует TSV в XML/JSON и украшает.

Конвертер TSV в XML
Конвертирует TSV в XML и украшает.

Конвертер TSV в YAML
Конвертирует TSV в YAML и украшает.

Извлечь столбец TSV
Извлекает один столбец из TSV.

Конвертер HTML в CSV
Конвертирует HTML в CSV и украшает.

Конвертер HTML в EXCEL
Конвертирует HTML в EXCEL и украшает.

Конвертер HTML в TSV
Конвертирует HTML в TSV и украшает.

Конвертер HTML в Многострочные данные
Конвертирует HTML в Многострочные данные и украшает.

Конвертер HTML в JSON
Конвертирует HTML в JSON и украшает.

Конвертер HTML в XML
Конвертирует HTML в XML и украшает.

Конвертер HTML в YAML
Конвертирует HTML в TAML и украшает.

Конвертер HTML в SQL
Конвертирует HTML в SQL и украшает.

Конвертер HTML в PHP
Конвертирует HTML в PHP и украшает.

Конвертер HTML в Javascript
Конвертирует HTML в Javascript и украшает.

Конвертер HTML в Asp
Конвертирует HTML в Asp и украшает.

Конвертер HTML в JSP
Конвертирует HTML в JSP и украшает.

Конвертер HTML в Perl
Конвертирует HTML в Perl и украшает.

Конвертер HTML в Jade
Конвертирует HTML в Jade и украшает.

Конвертер HTML в Текст
Конвертирует HTML в обычный текст.

Конвертер Jade в HTML
Конвертирует Jade в HTML и украшает.

Конвертер Markdown в HTML
Конвертирует Markdown в HTML код.

Конвертер JSON в XML
Конвертирует JSON в XML и украшает.

Конвертер JSON в CSV
Конвертирует JSON в CSV и украшает.

Конвертер JSON в Excel
Конвертирует JSON в Excel и украшает.

Конвертер JSON в TSV
Конвертирует JSON to TSV и украшает.

Конвертер JSON в YAML
Конвертирует JSON в YAML и украшает.

Конвертер JSON в HTML
Конвертирует JSON в HTML и украшает.

Конвертер JSON в SQL
Конвертирует JSON в SQL и украшает.

Конвертер JSON в C# класс
Конвертирует JSON в C# класс и украшает.

Конвертер JSON в Текст
Конвертирует JSON в Текст и украшает.

Конвертер SQL в HTML
Конвертирует SQL в HTML и украшает.

Конвертер SQL в CSV
Конвертирует SQL в CSV и украшает.

Конвертер SQL в Excel
Конвертирует SQL в Excel и украшает.

Конвертер SQL в TSV
Конвертирует SQL в TSV и украшает.

Конвертер SQL в XML
Конвертирует SQL в XML и украшает.

Конвертер SQL в JSON
Конвертирует SQL в JSON и украшает.

Конвертер SQL в YAML
Конвертирует SQL в YAML и украшает.

Конвертер SQL в Text
Конвертирует SQL в Text и украшает.

Конвертер XML в JSON
Конвертирует XML в JSON и украшает.

Конвертер XML в CSV
Конвертирует XML в CSV и украшает.

Конвертер XML в Excel
Конвертирует XML в Excel и украшает.

Конвертер XML в TSV
Конвертирует XML в TSV и украшает.

Конвертер XML в YAML
Конвертирует XML в YAML и украшает.

Конвертер XML в HTML
Конвертирует XML в HTML и украшает.

Конвертер XML в SQL
Конвертирует XML в SQL и украшает.

Конвертер XML в Текст
Конвертирует XML в Текст и украшает.

Конвертер YAML в XML/JSON/CSV
Конвертирует YAML в JSON/CSV/XML и украшает.

Конвертер YAML в Excel
Конвертирует YAML в Excel и украшает.

Конвертер YAML в HTML
Конвертирует YAML в HTML и украшает.

Конвертер XML в PDF
Конвертировать XML в PDF и Скачать.

Конвертер CSV в PDF
Конвертировать CSV в PDF и Скачать.

Конвертер TSV в PDF
Конвертировать TSV в PDF и Скачать.

Конвертер EXCEL в PDF
Конвертировать EXCEL в PDF и Скачать.

Конвертер JSON в PDF
Конвертировать JSON в PDF и Скачать.

Конвертер YAML в PDF
Конвертировать YAML в PDF и Скачать.

Конвертер SQL в PDF
Конвертировать SQL в PDF и Скачать.

Конвертер Текст в PDF
Конвертировать Текст в PDF и Скачать.

Конвертер PDF в JPG
Конвертировать PDF в JPG и Скачать.

Конвертер PDF в PNG
Конвертирует PDF в PNG и украшает.

Конвертер Текст в HTML
Конвертирует Текст в HTML и украшает.

Конвертер RSS в JSON
Конвертирует RSS в JSON и украшает.

Конвертер OPML в JSON
Конвертирует OPML в JSON и украшает.

Инструменты проверки валидности кода

Валидатор CSS
Проверьте ваш исходник CSS.

Валидатор Javascript
Проверьте ваш исходник Javascript.

Тестер Javascript
Проверьте ваш Javascript код.

Тестер HTML
Проверьте ваш HTML код.

Валидатор JSON
Проверьте ваш JSON код и украсьте.

Валидатор XML
Проверьте ваш XML код и украсьте.

Валидатор YAML
Проверьте ваш YAML код и украсьте.

Валидатор UUID
Проверьте ваш UUID код.

Тестер XPath
Онлайн Xpath тестер.

Тестер и генератор регулярных выражений
Проверка регулярного выражения и создание кода.

Препроцессоры CSS

Компилятор LESS
Создает отформатированные стили CSS из меньшего источника.

Компилятор Stylus
Создает украшенные стили CSS из Stylus

Конвертер CSS в LESS
Конвертирует CSS в Less и украшает.

Конвертер CSS в SCSS
Конвертирует CSS в SCSS и украшает.

Конвертер CSS в SASS
Конвертирует CSS в SASS и украшает.

Другие утилиты

Генераторы

  • Генератор случайных паролей
  • Генератор Favicon
  • Безопасный каталог htaccess
  • Генератор htpasswd
  • Генератор Lorem Ipsum
  • Генератор адресов IPv4
  • Генератор адресов IPv6
  • Генератор MAC адресов
  • Генератор календарных дат

Конвертеры величин

  • Конвертер веса
  • Конвертер площади
  • Конвертер плотности и массы
  • Конвертер байтов/битов
  • Конвертер электроэнергии
  • Конвертер энергии
  • Конвертер силы
  • Конвертер Топлива
  • Конвертер длины
  • Конвертер объема и емкости
  • Конвертер температуры
  • Конвертер скорости и ускорения
  • Конвертер угла
  • Конвертер массы
  • Конвертер мощности
  • Конвертер давления и напряжения
  • Конвертер времени
  • Астрономический конвертер
  • Конвертер частоты

Утилиты

  • Информация о браузере
  • Конвертер Base64 в Изображение
  • Конвертер Изображение в Base64
  • Конвертер Файла в Base64
  • Генератор символов
  • Конвертер текста в HTML объекты
  • Парсер URL
  • Автообновление страницы

Экранирование и разэкранирование

  • Экранирование и разэкранирование JSON
  • Экранирование и разэкранирование C#
  • Экранирование и разэкранирование Javascript
  • Экранирование и разэкранирование Java
  • Экранирование и разэкранирование CSV
  • Экранирование и разэкранирование SQL
  • Экранирование и разэкранирование HTML
  • Экранирование и разэкранирование XML

Шифрование

  • Генератор HMAC
  • Хэш калькулятор
  • Стеганография изображений
  • Стеганографический декодер
  • Генератор паролей MySQL/MariaDB
  • Генератор паролей Postgres

Строчные утилиты

  • Конвертер базового номера
  • Кодер/Декодер Base64
  • Средство просмотра различий
  • Кодировщик Url
  • Декодер Url
  • Кодировщик Html
  • Декодер Html
  • Добавить слэш
  • Убрать слеш
  • Конвертер числа в слово
  • Утилиты строк
  • Трансформер текста
  • Конвертер регистра
  • Калькулятор даты
  • Конвертер Даты/Времени в временную метку Unix
  • Конвертер временную метку Unix в время Дата/Время
  • Конвертер Секунд в человеческое время
  • Конвертер Секунд в Часы:Минуты:Секунды

Конверторы изображений

  • Конвертер JPG в PNG
  • Конвертер PNG в JPG
  • Конвертер GIF в PNG
  • Конвертер PNG в GIF
  • Конвертер BMP в PNG
  • Конвертер BMP в JPG
  • Генератор изображений с закругленными углами

Инструменты домена и IP

  • Получить IP и имя хоста
  • Просмотр имени хоста
  • Whois сервис
  • Просмотр DNS
  • Просмотр MX
  • Просмотр сервера имён
  • Проверка IP сайта
  • IP утилиты
  • Мой IP адрес

Редакторы кода

  • Просмотр исходного кода
  • Онлайн Редактор Кода
  • Пример кода

Конвертеры цвета

  • Конвертер RGB в HEX
  • Конвертер RGB в CMYK
  • Конвертер RGB в HSV
  • Конвертер HEX в HSV
  • Конвертер HEX в CMYK
  • Конвертер HSV в CMYK

HMAC — frwiki.

wiki

HMAC , стоя на хэш-ключом кода аутентификации сообщения , представляет собой тип кода аутентификации сообщения (CAM), или MAC ( сообщение кода аутентификации ), вычисляется с использованием криптографической хеш — функции в комбинации с секретным ключом . Как и любой CAM, его можно использовать для одновременной проверки целостности данных и подлинности сообщения. Любая итеративная хеш-функция, например MD5 или SHA-1., может использоваться при расчете HMAC; имя результирующего алгоритма — HMAC-MD5 или HMAC-SHA-1. Криптографическое качество HMAC зависит от криптографического качества хэш-функции, а также размера и качества ключа.

Итеративная хеш-функция разбивает сообщение на блоки фиксированного размера и выполняет итерацию по ним с помощью функции сжатия . Например, MD5 и SHA-1 работают с 512-битными блоками. Размер вывода HMAC такой же, как и у хэш-функции (128 или 160 бит в случае MD5 и SHA-1), хотя при необходимости он может быть усечен.

Резюме

  • 1 Строительство
  • 2 См. Также
    • 2.1 Библиография
    • 2.2 Связанная статья
    • 2.3 Внешние ссылки
  • 3 ссылки

Строительство

Генерация HMAC SHA-1.

Функция HMAC определяется следующим образом:

HMACK⁡(м)знак равночас((K⊕опвd)||час((K⊕япвd)||м)){\ displaystyle \ operatorname {HMAC} _ {K} (m) = h {\ Bigg (} (K \ oplus opad) \; || \; h {\ Big (} (K \ oplus ipad) \; || \; m {\ Big)} {\ Bigg)}}

с участием:

  • h  : итеративная хеш-функция,
  • K  : секретный ключ, хешируемый функцией h, если он длиннее, чем размер ее блока, затем дополняется нулями, чтобы он достиг размера блока функции h
  • m  : сообщение для аутентификации,
  • «||» обозначает конкатенацию и « » исключающее «или» ,⊕{\ displaystyle \ oplus}
  • ipad и opad , каждый размер блока, определяется следующим образом: ipad = 0x363636 . .. 3636 и opad = 0x5c5c5c … 5c5c. Таким образом, если размер блока хеш-функции составляет 512 бит, ipad и opad — это 64-байтовые повторения, соответственно, 0x36 и 0x5c.

Построение и анализ HMAC были впервые опубликованы в 1996 году Михиром Белларе, Ран Канетти и Хьюго Кравчиком (написавшим RFC  2104). FIPS PUB 198 обобщает и стандартизирует использование HMAC. HMAC-SHA-1 и HMAC-MD5 используются в протоколах IPsec и TLS . HMAC SHA-256 используется для веб-токенов JWT Json ( RFC  7519).

Смотрите также

Библиография

  • (ru) Михир Белларе, Ран Канетти и Хьюго Кравчик, Ключ хеш-функций для аутентификации сообщений , CRYPTO 1996, стр.  1–15 (PS или PDF) .
  • (ru) Михир Белларе, Ран Канетти и Хьюго Кравчик, Аутентификация сообщений с использованием хэш-функций: конструкция HMAC , CryptoBytes 2 (1), лето 1996 г. (PS или PDF) .

Связанная статья

  • CBC-MAC

Внешние ссылки

  • RFC  2104: HMAC: хеширование с ключом для аутентификации сообщений
  • RFC  2202: набор тестов для HMAC-MD5 и HMAC-SHA1, а также реализация C алгоритма HMAC-SHA1
  • (ru) FIPS PUB 198, Код аутентификации сообщения с ключом-хешем
  • (ru) Инструменты генератора HMAC, поддерживающие SHA256.
  • (ru) https://convert-tool.com/

Рекомендации

  1. а и б (о) Запрос комментариев п уплотнительных  2104 .
  2. (в) Запрос на комментарии п O  7519 .
  3. (в) Запрос на комментарии п O  2202 .

<img src=»https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1×1″ alt=»» title=»»>

Является ли HMAC-MD5 безопасным для проверки подлинности зашифрованных данных?

Спросил

Изменено 5 лет, 7 месяцев назад

Просмотрено 22k раз

$\begingroup$

Я что-то читал о том, что конструкция HMAC способна уменьшить проблему коллизий в базовом хеше.

Означает ли это, что что-то вроде HMAC-MD5 по-прежнему можно считать безопасным для проверки подлинности зашифрованных данных?

  • hmac
  • md5

$\endgroup$

2

$\begingroup$

Да, в настоящее время нет известных атак на HMAC-MD5.

В частности, после первых коллизионных атак на MD5 Михир Белларе (один из изобретателей HMAC) придумал новое доказательство безопасности для HMAC, не требующее сопротивления коллизиям:

» Abstract: HMAC был доказан Белларом, Канетти и Кравчиком (1996) в качестве PRF, предполагая, что (1) базовая функция сжатия является PRF и (2) итерируемая хеш-функция слабо устойчива к коллизиям. Однако недавние атаки показывают, что предположение (2) неверно для MD5 и SHA-1, что исключает поддержку HMAC на основе доказательств в этих случаях. В этой статье доказывается, что HMAC является PRF при единственном предположении, что функция сжатия является PRF. Это восстанавливает гарантию, основанную на доказательствах, поскольку никакие известные атаки не ставят под угрозу псевдослучайность функции сжатия, а также помогает объяснить устойчивость к атакам, которую HMAC продемонстрировал даже при реализации с хеш-функциями, чья (слабая) устойчивость к коллизиям скомпрометирована. Мы также показываем, что даже более слабое, чем PRF, условие для функции сжатия, а именно то, что это MAC с сохранением конфиденциальности, достаточно, чтобы установить, что HMAC является безопасным MAC, пока хэш-функция удовлетворяет очень слабому требованию вычислительной почти универсален, где опять-таки ценность заключается в том факте, что известные атаки не делают недействительными сделанные предположения»9.0005

Однако , а не означает, что вы должны использовать HMAC-MD5 в новых проектах криптосистем. Перефразируя Брюса Шнайера, «атаки становятся только лучше, а не хуже. » У нас уже есть практические атаки столкновений для MD5, показывающие, что он не соответствует своим первоначальным целям безопасности; вполне возможно, что в любой момент кто-то может придумать способ распространить их на какую-нибудь новую атаку, которая поставит под угрозу безопасность HMAC-MD5. Гораздо лучшим выбором было бы использование HMAC с хеш-функцией, не имеющей известных атак, таких как SHA-2 или SHA-3.

$\endgroup$

3

$\begingroup$

Ответ Илмари Каронена верен, когда HMAC используется по назначению, но это не означает, что HMAC совершенно не подвержен коллизиям MD5:

Учитывая конкретный ключ, обратите внимание, что K xor opad и K xor ipad не зависят от сообщения m . Это означает, что любое столкновение в H((K xor ipad) || m) приведет к столкновению HMAC , даже с двумя разными сообщениями.

Для HmacMd5, K xor ipad будет иметь длину 64 байта. Таким образом, если вы найдете два сообщения m1 и m2 с по крайней мере 64-байтовым общим префиксом pre , вы можете вычислить ключ K = pre xor ipad , который создаст коллизию между H((K xor ipad ) || m1) и H((K xor ipad) || m2) , что приводит к полной коллизии во всем HMAC.

Это можно использовать двумя способами:

  • Вы не доверяете человеку, сгенерировавшему ключ, и HMAC неправильно используется как своего рода контрольная сумма.
  • Злоумышленник получает доступ к ключу и может использовать атаку с выбранным префиксом MD5, чтобы вызвать коллизии.

Но, как говорится в принятом ответе, если ключ является секретным и контролируется вами или доверенными сторонами, HmacMd5 по-прежнему безопасен.

$\endgroup$

3

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

Электронная почта

Требуется, но никогда не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

9{64}$ оценки MD5. Вы могли бы сделать то же самое для HMAC-MD5, , если бы знали ключ , что делает его непригодным для необычных приложений, таких как обязательства.

Но стандартная гипотеза безопасности HMAC-MD5 заключается в том, что это семейство псевдослучайных функций , что предполагает, что злоумышленник не знает ключа. Любая написанная противником программа, которая принимает функцию в качестве параметра и оценивает ее как оракул при произвольных сообщениях по своему выбору, не будет вести себя сильно по-разному, независимо от того, скармливаете ли вы ей (а) HMAC-MD5 при единообразном случайном выборе ключа, или ( б) равномерный случайный выбор функции.

 f0_memo = {}
защита f0(x):
    если x не в f0_memo:
        f0_memo[x] = os.urandom(16)
    вернуть f0_memo[x]
k = os.urandom(32)
защита f1(x):
    вернуть hmac_md5 (к, х)
отличительный признак (prf):
    y0 = prf('привет, мир')
    y1 = prf('запросить запрос совершенно наоборот, как растет ваша криптовалюта')
    . {256}$, где $c$ — это количество раз, которое $D$ может позволить себе вычислить HMAC-MD5. 9{64}$ разные входные данные, вы, вероятно, обнаружите коллизию. Это верно для HMAC-MD5 при универсальном случайном ключе  и  верно для универсальной случайной функции, поэтому  априори обнаружение коллизии не нарушает безопасность PRF , различая их самостоятельно.  Однако MD5  также  обладает тем свойством, что если $x_0 \ne x_1$ сталкивается с MD5, с $\operatorname{MD5}(x_0) = \operatorname{MD5}(x_1)$, то $x_0 \mathbin также \Vert y$ и $x_1 \mathbin\Vert y$ для любого общего суффикса $y$, если $x_0$ и $x_1$ имеют одинаковую длину. 9{64}$ входов, с высокой вероятностью вы найдете коллизию $x_0\ne x_1$; затем, чтобы узнать, является ли оракул HMAC-MD5 или универсальной случайной функцией, выберите суффикс $y$, скажем, один нулевой бит или GIF-файл забавного видео с котом, и запросите оракула еще на двух входах: $x_0 \mathbin \Vert y$ и $x_1 \mathbin\Vert y$. {-128}$ для однородной случайной функции. Для 9{128}$.  

Как насчет использования HMAC-MD5 в приложении, например, в качестве кода аутентификации сообщения? Оказывается, любое семейство псевдослучайных функций дает хороший код аутентификации сообщения. Целью безопасности кода аутентификации сообщения является невозможность подделки: противник выигрывает, если после запроса к оракулу узнать аутентификаторы для $q$ сообщений по своему выбору, он может подделать аутентификатор для сообщения , ранее не отправленного оракулу 9{64}$ запрашивает оракул и, вероятно, находит коллизию $x_0 \ne x_1$; затем запросите у оракула аутентификатор для $x_0 \mathbin\Vert y$ и подделайте его как аутентификатор для сообщения $x_1 \mathbin\Vert y$. Это единственный способ? Мы могли бы изучить стратегии для подделки HMAC-MD5 напрямую, но есть более простой способ понять безопасность MAC HMAC-MD5, если мы примем безопасность PRF HMAC-MD5, используя приведенный выше формализм.

Предположим, у нас есть успешная подпрограмма подделки, которая и завершается успешно с вероятностью $p$. Тогда мы можем определить различитель: 9{64}$ сообщений под одним ключом! Я также рекомендую не сообщать противнику свой ключ.


* Если $D$ попробует 1000 ключей, у него, очевидно, будет больше шансов на успех, чем если бы он попробовал только 1, но попытка 1000 ключей обходится дороже, независимо от того, пробуете ли вы их на одном компьютере последовательно или тысяча компьютеров параллельно. Обратите внимание, что многоцелевых атак против $n$ целей сразу могут быть дешевле, чем $n$ атак по одной цели по отдельности, но для 256-битного ключа разница не имеет значения для всего мыслимого количества целей $n$ в человеческом существовании. Но будьте осторожны, используя HMAC-MD5 со 128-битными ключами!

Конечно, точно такая же стратегия отличит любую повторяющуюся хеш-функцию от однородной случайной функции, но не отличит две разные повторяющиеся хеш-функции! С таким же успехом это может быть HMAC-HAVAL128 или что-то еще со 128-битным состоянием. Это не касается заявления о безопасности семейства псевдослучайных функций, которое только об отличии рассматриваемого семейства (HMAC-MD5) от однородной случайной функции того же домена и кодомена.

Может показаться, что сохранение всех выходных данных оракула для поиска коллизий требует больших затрат $c$, но на самом деле поиск коллизий можно выполнить с незначительными дополнительными вычислениями и памятью, используя $\rho$ Полларда, и, если позволяет оракул, можно распараллелить для запуска быстрее (при тех же общих затратах) с помощью алгоритма ван Оршота-Винера.

RFC 2403 — Использование HMAC-MD5-96 в ESP и AH

 [Поиск] [txt|html|pdf|bibtex] [Отслеживание] [WG] [Электронная почта] [Diff1] [Diff2] [Nits]
From: draft-ietf-ipsec-auth-hmac-md5-96-02 Предлагаемый стандарт 
 Network Working Group C. Мэдсон
Запрос комментариев: 2403 Cisco Systems Inc.
Категория: Трек стандартов Р. Гленн
                                                                    НИСТ
                                                           19 ноября98
                Использование HMAC-MD5-96 в ESP и AH
Статус этого меморандума
   Этот документ определяет протокол отслеживания стандартов Интернета для
   Интернет-сообщество, а также запросы на обсуждение и предложения по
   улучшения.  Пожалуйста, обратитесь к текущему выпуску «Интернет
   Стандарты официальных протоколов» (STD 1) для состояния стандартизации
   и статус этого протокола. Распространение этой памятки не ограничено.
Уведомление об авторских правах
   Авторское право (C) Общество Интернета (1998 г.). Все права защищены.
Абстрактный
   В этом меморандуме описывается использование алгоритма HMAC [RFC-2104] в
   в сочетании с алгоритмом MD5 [RFC-1321] в качестве аутентификации
   механизм в пересмотренном IPSEC Encapsulating Security Payload
   [ESP] и пересмотренный заголовок аутентификации IPSEC [AH]. HMAC с MD5
   обеспечивает аутентификацию источника данных и защиту целостности.
   Дополнительная информация о других компонентах, необходимых для ESP и AH
   реализации предоставлены [Thayer97а].
1. Введение
   В этом меморандуме указано использование MD5 [RFC-1321] в сочетании с HMAC.
   [RFC-2104] в качестве механизма аутентификации по ключу в контексте
   Инкапсулирующая полезная нагрузка безопасности и заголовок аутентификации. 
   Цель HMAC-MD5-96 — убедиться, что пакет является аутентичным и
   не может быть изменен в пути.
   HMAC — это алгоритм аутентификации с секретным ключом. Целостность данных и
   аутентификация источника данных, предоставляемая HMAC, зависит от
   область распространения секретного ключа. Если только источник и
   пункт назначения знает ключ HMAC, это обеспечивает как источник данных
   аутентификация и целостность данных для пакетов, отправляемых между двумя
   стороны; если HMAC правильный, это доказывает, что он должен был быть
   добавлено источником.
Отслеживание стандартов Madson & Glenn [Страница 1] 

RFC 2403 Использование HMAC-MD5-96 в ESP и AH, ноябрь 1998 г.
   В этом меморандуме HMAC-MD5-96 используется в контексте ESP и AH.
   Для получения дополнительной информации о том, как различные части ESP, включая
   механизм конфиденциальности -- сочетаются друг с другом для обеспечения безопасности
   службы, см. [ESP] и [Thayer97a]. Для получения дополнительной информации о
   AH, см.  [AH] и [Thayer97a].
   Ключевые слова «ДОЛЖЕН», «НЕ ДОЛЖЕН», «ТРЕБУЕТСЯ», «ДОЛЖЕН», «НЕ ДОЛЖЕН»,
   "СЛЕДУЕТ", "НЕ СЛЕДУЕТ", "РЕКОМЕНДУЕТСЯ", "МОЖЕТ" и "ДОПОЛНИТЕЛЬНО" в этом
   документ следует интерпретировать, как описано в [RFC-2119].
2. Алгоритм и режим
   [RFC-1321] описывает базовый алгоритм MD5, а [RFC-2104]
   описывает алгоритм HMAC. Алгоритм HMAC обеспечивает основу
   для вставки различных алгоритмов хеширования, таких как MD5.
   HMAC-MD5-96 работает с 64-байтовыми блоками данных. Требования к заполнению
   указаны в [RFC-1321] и являются частью алгоритма MD5. Если
   MD5 построен в соответствии с [RFC-1321], нет необходимости добавлять какие-либо
   дополнительная прокладка в отношении HMAC-MD5-96. Относительно
   к «неявному заполнению пакета», как определено в [AH], без неявного пакета
   требуется прокладка.
   HMAC-MD5-96 создает 128-битное значение аутентификатора. Этот 128-битный
   значение может быть усечено, как описано в RFC 2104. Для использования с любым
   ESP или AH, усеченное значение, использующее первые 96 бит, ДОЛЖНО быть
   поддерживается.  При отправке усеченное значение сохраняется в
   поле аутентификатора. При получении все 128-битное значение
   вычисляются, и первые 96 бит сравниваются со значением, хранящимся в
   поле аутентификатора. Никакие другие длины значений аутентификатора не
   поддерживается HMAC-MD5-96.
   Длина 96 бит было выбрано, потому что это значение по умолчанию
   длина аутентификатора, как указано в [AH] и соответствует требованиям безопасности
   требования, описанные в [RFC-2104].
2.1 Производительность
   [Bellare96a] утверждает, что «производительность (HMAC) по существу такая же, как у
   базовая хэш-функция». [RFC-1810] обеспечивает некоторую производительность
   анализ и рекомендации по использованию MD5 с интернетом
   протоколы. На момент написания этой статьи анализ производительности не проводился.
   HMAC или HMAC в сочетании с MD5.
   [RFC-2104] описывает модификацию реализации, которая может улучшить
   производительность для каждого пакета, не влияя на совместимость.
Отслеживание стандартов Madson & Glenn [Страница 2] 

RFC 2403 Использование HMAC-MD5-96 в ESP и AH, ноябрь 1998 г. 
3. Ключевой материал
   HMAC-MD5-96 — это алгоритм секретного ключа. Хотя фиксированная длина ключа не
   указанный в [RFC-2104], для использования с ESP или AH фиксированный ключ
   длина 128 бит ДОЛЖНА поддерживаться. Длины ключей отличные от 128-
   биты НЕ ДОЛЖНЫ поддерживаться (т. е. только 128-битные ключи должны использоваться
   HMAC-MD5-96). Длина ключа 128 бит была выбрана исходя из
   рекомендации в [RFC-2104] (т. е. длина ключа меньше, чем
   длина аутентификатора уменьшает силу безопасности и ключи длиннее, чем
   длина аутентификатора существенно не повышает безопасность
   прочность).
   [RFC-2104] обсуждает требования к ключевому материалу, который включает
   обсуждение требований сильной случайности. Сильный псевдо-
   случайная функция ДОЛЖНА использоваться для генерации требуемого 128-битного ключа.
   На момент написания этой статьи нет указанных слабых ключей для использования.
   с ХМАК. Это не означает, что слабых ключей не существует.
   Если в какой-то момент будет выявлен набор слабых ключей для HMAC,
   использование этих слабых ключей должно быть отклонено с последующим запросом на
   заменяющие ключи или вновь согласованную ассоциацию безопасности. 
   [ARCH] описывает общий механизм получения ключевого материала.
   когда для одной SA требуется несколько ключей (например, когда ESP SA
   требуется ключ для конфиденциальности и ключ для аутентификации).
   Чтобы обеспечить аутентификацию источника данных, распределение ключей
   механизм должен гарантировать, что уникальные ключи выделены и что они
   распределяются только между сторонами, участвующими в
   коммуникация.
   [RFC-2104] дает следующую рекомендацию относительно
   смена ключей. Текущие атаки не указывают конкретных рекомендуемых
   частоту ключевых изменений, так как эти атаки практически
   невыполнимо. Тем не менее, периодическое обновление ключа является фундаментальным
   практика безопасности, которая помогает против потенциальных слабых мест
   функции и клавиши, сокращает доступную информацию до
   криптоаналитик и ограничивает ущерб от открытого ключа.
4. Взаимодействие с механизмом шифрования ESP
   На момент написания этой статьи не было известных проблем, препятствующих использованию
   HMAC-MD5-96 с любым конкретным алгоритмом шифрования. 
Madson & Glenn Standards Track [Страница 3] 

RFC 2403 Использование HMAC-MD5-96 в ESP и AH, ноябрь 1998 г.
5. Вопросы безопасности
   Безопасность, обеспечиваемая HMAC-MD5-96, основана на прочности
   HMAC и, в меньшей степени, сила MD5. [RFC-2104] претензии
   что HMAC не зависит от свойства сильного столкновения
   сопротивление, что важно учитывать при оценке использования
   MD5, алгоритм, который, как показали недавние исследования,
   гораздо менее устойчив к столкновениям, чем предполагалось вначале. В момент
   это письмо не существует практических криптографических атак против
   HMAC-MD5-96.
   [RFC-2104] утверждает, что для «минимально разумных хеш-функций»
   «Атака дня рождения», самая сильная известная атака против HMAC, это
   непрактично. Для хэша блока размером 64 байта, такого как HMAC-MD5-96, атака
   включая успешную обработку 2**64 блоков, будет
   невозможно, если только не будет обнаружено, что базовый хэш
   коллизий после обработки 2**30 блоков.  Хэш с такой слабой
   характеристики сопротивления столкновению, как правило, считаются
   быть непригодным.
   Также важно учитывать, что хотя MD5 никогда не разрабатывался
   для использования в качестве алгоритма хеширования с ключом, HMAC имел эти критерии от
   начало. Хотя использование MD5 в контексте безопасности данных
   подвергается переоценке, комбинированный HMAC с алгоритмом MD5 имеет
   подвергается криптографической проверке.
   [RFC-2104] также обсуждает потенциальную дополнительную безопасность, которая
   обеспечивается усечением полученного хэша. Характеристики
   которые включают HMAC, настоятельно рекомендуется выполнять этот хеш
   усечение.
   Поскольку [RFC-2104] обеспечивает основу для включения различных
   алгоритмы с HMAC, можно заменить MD5 на другие
   алгоритмы, такие как SHA-1. [RFC-2104] содержит подробное обсуждение
   о сильных и слабых сторонах алгоритмов HMAC.
   Как и в случае любого криптографического алгоритма, часть его силы
   заключается в правильности реализации алгоритма, безопасности
   механизма управления ключами и его реализации, сила
   соответствующего секретного ключа и правильности
   реализация во всех участвующих системах.  [RFC-2202]
   содержит тестовые векторы и пример кода, чтобы помочь в проверке
   правильность HMAC-MD5-96 код.
Madson & Glenn Standards Track [Страница 4] 

RFC 2403 Использование HMAC-MD5-96 в ESP и AH, ноябрь 1998 г.
6. Благодарности
   Этот документ частично основан на предыдущих работах Джима Хьюза,
   те люди, которые работали с Джимом над комбинированным DES/CBC+HMAC-MD5
   ESP-преобразования, участники конкурса ANX и члены
   Рабочая группа IPsec.
   Мы также хотели бы поблагодарить Хьюго Кравчика за его комментарии и
   рекомендации относительно некоторых специфических криптографических текстов в
   этот документ.
7. Ссылки
   [RFC-1321] Ривест, Р., «Алгоритм дайджеста MD5», RFC 1321, апрель.
                1992.
   [RFC-2104] Кравчик Х., Белларе М. и Р. Канетти, "HMAC:
                Ключевое хеширование для аутентификации сообщений», RFC 2104,
                Февраль 1997 года.
   [RFC-1810] Тач, Дж., «Отчет о производительности MD5», RFC 1810, июнь.
                1995. 
   [Bellare96a] Белларе, М., Канетти, Р., и Х. Кравчик, "Keying Hash
                Функции аутентификации сообщений», Достижения в
                Криптография, Материалы Crypto96, июнь 1996 г.
   [ARCH] Кент С. и Р. Аткинсон, "Архитектура безопасности для
                Интернет-протокол», RFC 2401, 19 ноября.98.
   [ESP] Кент, С., и Р. Аткинсон, "IP-инкапсуляция безопасности
                Полезная нагрузка», RFC 2406, ноябрь 1998 г.
   [AH] Кент С. и Р. Аткинсон, "Заголовок IP-аутентификации",
                RFC 2402, ноябрь 1998 г.
   [Thayer97a] Тайер, Р., Дорасвами, Н., и Р. Гленн, "IP Security
                Дорожная карта документа», RFC 2411, ноябрь 1998 г.
   [RFC-2202] Ченг П. и Р. Гленн, "Тестовые примеры для HMAC-MD5 и
                HMAC-SHA-1", RFC 2202, март 1997 г.
   [RFC-2119] Брэднер, С., "Ключевые слова для использования в RFC для указания
                Уровни требований», BCP 14, RFC 2119, март 1997 г.
Madson & Glenn Standards Track [Страница 5] 

RFC 2403 Использование HMAC-MD5-96 в ESP и AH, ноябрь 1998 г. 
8. Обращение редакции
   Шерил Мэдсон
   Сиско Системс, Инк.
   Электронная почта: [email protected]
   Роб Гленн
   НИСТ
   Электронная почта: 
 С рабочей группой IPsec можно связаться через председателей:
   Роберт Московиц
   ИКСА
   Электронная почта: [email protected]
   Тед Т'со
   Массачусетский Институт Технологий
   Электронная почта: [email protected]
Отслеживание стандартов Madson & Glenn [Страница 6] 

 RFC 2403 Использование HMAC-MD5-96 в ESP и AH, ноябрь 1998 г.
9. Полное заявление об авторских правах
 Авторское право (C) Общество Интернета (1998 г.). Все права защищены.
 Этот документ и его переводы могут быть скопированы и предоставлены
 другие и производные работы, которые комментируют или иным образом объясняют это
 или содействовать в его реализации, могут быть подготовлены, скопированы, опубликованы
 и распространяется полностью или частично без ограничения каких-либо
 вид, при условии, что приведенное выше уведомление об авторских правах и этот параграф
 включены во все такие копии и производные работы. Однако это
 сам документ не может быть изменен каким-либо образом, например, путем удаления
 уведомление об авторских правах или ссылки на Internet Society или другие
 Интернет-организациям, за исключением случаев, когда это необходимо для целей
 разработка интернет-стандартов, и в этом случае процедуры для
 авторские права, определенные в процессе Интернет-стандартов, должны быть
 следовала или по мере необходимости переводила его на языки, отличные от
 Английский.
 Ограниченные разрешения, предоставленные выше, являются бессрочными и не будут
 отозвано Internet Society или его правопреемниками или правопреемниками.
 Настоящий документ и информация, содержащаяся в нем, предоставлены на
 Основа «КАК ЕСТЬ» и ИНТЕРНЕТ-ОБЩЕСТВО И ИНТЕРНЕТ-ИНЖИНИРИНГ
 TASK FORCE ОТКАЗЫВАЕТСЯ ОТ ВСЕХ ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ
 НО НЕ ОГРАНИЧИВАЯСЯ ЛЮБОЙ ГАРАНТИЕЙ ТОГО, ЧТО ИСПОЛЬЗОВАНИЕ ИНФОРМАЦИИ
 ЗДЕСЬ НЕ БУДЕТ НАРУШАТЬ НИКАКИХ ПРАВ ИЛИ ЛЮБЫХ ПОДРАЗУМЕВАЕМЫХ ГАРАНТИЙ
 КОММЕРЧЕСКАЯ ПРИГОДНОСТЬ ИЛИ ПРИГОДНОСТЬ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ.