Cpu sha3 что это такое
Перейти к содержимому

Cpu sha3 что это такое

  • автор:

Алгоритм SHA-3 20.12.2020 22:33

В настоящее время информационная безопасность стала неотъемлемой частью любых цифровых операций. Ключевой роль в защите информации играет понятие криптографической функции. Криптографические хеш-функции — это выделенный класс хеш-функций, который имеет определённые свойства, делающие его пригодным для использования в криптографии.

Преобразование, производимое хеш-функцией, называется хешированием. Исходные данные называются входным массивом, «ключом» или «сообщением». Результат преобразования (выходные данные) называется «хешем», «хеш-кодом», «хеш-суммой».

Иными словами, хеш-функция — это вычислительный метод, который может отображать неопределенный размер данных в фиксированный размер данных. Или, проще говоря, преобразование выводит числовое значение, которое характеризуется входными данными. Криптографическая хэш-функция использует необратимые (односторонние) математические функции, чтобы сгенерировать хеш-значение из входных данных. Одним из распространенных способов генерации криптографических хешей является использование блочных шифров.

К надежным с точки зрения криптографии хеш-функциям должны быть предъявлены следующие основные требования:

  1. Хеш-функция должна представлять из себя одностороннюю функцию т.е. по образу (хешу) невозможно или почти невозможно найти исходный прообраз (сообщение).
  2. Функция хеширования должна быть устойчива к коллизиям. Коллизия — это пара исходных сообщений, имеющая одинаковое выходное значение. Считается, что относительно быстрое нахождение коллизии в алгоритме хеширования делает подобный алгоритм ненадёжным с точки зрения криптоанализа.

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

Что из себя представляет SHA-3?

SHA-3 является важным криптографическим алгоритмом для обеспечения информационной безопасности, а также целостности данных в цифровых операциях. Недавние безопасные хеш-алгоритмы, включая MD5, RIPEMD, SHA-0, SHA-1 и SHA-2 устарели и были признаны восприимчивыми к атакам различного рода.

SHA-3 (Keccak) — алгоритм хеширования переменной разрядности, разработанный группой во главе с Йоаном Дайменом в 2012 году. 5 августа 2015 года алгоритм утверждён и опубликован в качестве стандарта FIPS 202. Keccak был выбран в качестве официального алгоритма для SHA-3 в 2012 году. [1] Keccak основан на конструкции Sponge (Губка), которая является новым способом проектирования хеш-функций, помимо стратегии итерационного метода Меркла — Дамгора, реализуемой в MD (x).

Алгоритмы MD (x) основаны на методе вычислений в цикле с использованием простых логических операций типа OR, XOR, AND, NOT. поэтому становится возможным построение коллизий с одинаковым, заранее выбранным префиксом. Однако, как показало время алгоритмы MD (x) перестали быть безопасными из-за программ, способных находить коллизии за сравнительно небольшое время.

Губка — это итеративная конструкция для создания функции с произвольной длиной на входе и произвольной длиной на выходе на основе преобразований перестановки.

Алгоритм получения выходного значения хеш-функции с помощью алгоритма SHA-3 можно разделить на несколько этапов:

1 этап: Дополнение

Этот начальный шаг аналогичен многим алгоритмам хеширования. Прежде чем мы сможем начать хешировать наше сообщение, мы должны убедиться, что оно имеет стандартную длину (добиваемся определенной кратности), и для этого мы выполняем процесс дополнения.

Прежде чем приступить, нужно узнать, каков стандартный размер, которому стоит соответствовать, и для этого рассмотрим, как Keccak вычисляет размер состояния.

Для SHA-3 значение l принимается равным 6. Чем больше размер, тем выше безопасность, которую он обеспечивает. Теперь, основываясь на значении »», мы также решаем, сколько вычислительных раундов необходимо выполнить для каждой части дополненного сообщения.

Теперь мы знаем, что для SHA-3 размер состояния будет равен 1600 битам, а количество раундов вычислений — 24.

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

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

f3c25e17e86e884eb9376aa3ed8ac7e9.PNG

Первый и последний бит заполнения будут »1», а все биты между ними »0». После заполнения они делятся на » » частей, где эквивалентно длине дополненного сообщения. Математически это можно представить в следующем виде:

2 этап: Размер состояния

Сумма значений » ‘ и ‘ ‘ всегда будет равна 1600, что продемонстрировано в таблице.

Теперь понятно, что длина дополненного сообщения точно кратна »» в зависимости от нужной длины хеша.( делится на блоков длины : )

Размер части состояния, который записывается и считывается, называется «скоростью» (англ. rate) и обозначается , а размер части, которая нетронута вводом / выводом, называется «емкостью» (англ. capacity) и обозначается .

Далее алгоритм можно условно разделить на две условные части: «впитывание» и «отжимание».

3 этап: Функция впитывания

Каждый блок дополняется нулями до строки длины бит и суммируется по модулю 2 со строкой состояния аналогичной длины . Перед началом работы функции все элементы равны нулю. Для каждого следующего блока состояние — строка, полученная применением функции перестановок к результату предыдущего шага.

Рассмотрим более подробно функции перестановок. Функция перестановок, используемая в SHA-3, включает в себя исключающее «ИЛИ» (XOR), побитовое «И» (AND) и побитовое отрицание (NOT). Функция определена для строк длины-степени 2. Состояние можно представить в виде трёхмерного массива размером .

Тогда элемент массива будет размером строки состояния

Внутри функции мы выполняем один и тот же набор из пяти операций в течение двадцати четырех раз.

На каждом шаге обозначим входной массив выходной массив :

Шаг :

Для всех и таких, что , положим

Для всех таких что :

Шаг :

Для всех , таких, что
Пусть в начале . Для от 0 до 23:

  1. Для всех таких, что
Шаг :

Для всех , таких, что

Шаг :

Для всех , таких, что ,

Шаг :

Введем дополнительную функцию , где вход-целове число

  1. Если , то возвращается 1
  2. Пусть

Для от 1 до 255:

Алгоритм :
  1. Для всех , таких, что
  2. Пусть — массив длинны , заполненный нулями
  3. Для от 0 до :
  4. Для массива в стороку длины
Алгоритм перестановок:
  1. Перевод строки в массив
  2. Для от до
  3. Перевод массива в строку длины

4 этап: Функция отжимания

Пока длина меньше (— количество бит в результате хеш-функции), к длине добавляется первых бит состояния после каждого прибавления к применяется функция перестановок. Затем происходит обрезается до длины бит.

Строка длины бит возвращается в качестве результата

Криптоустойчивость SHA-3

Семейство хеш-функций Keccak было подвергнуто интенсивному криптоанализу с момента его представления на конкурс SHA-3 в 2008 [5]. В 2012 году Национальный институт стандартов и технологий США выбрал Keccak победителем конкурса SHA-3. Семейство SHA-3 состоит из четырех криптографических хэш-функций c фиксированным размером хеша и двух расширяемых выходных функций (XOFs) с именами SHAKE128 и SHAKE256, каждая из которых основана на экземпляре алгоритмов Keccak.

Подробно сосредоточимся на коллизиях семейства Keccak, то есть на поиске двух разных исходных сообщениях, дающих разное значение хеша. Лучшие предыдущие практические атаки столкновений на семейство Keccak-это Keccak -224 и KECCAK -256, уменьшенные до 4 раундов, найденных Dinur l.[3] в 2012 году и позже представлен в журнальной версии [4]. После этого теоретические результаты улучшились до 5-раундового KECCAK -256. Однако на практике количество раундов остается на уровне 4. Чтобы продвинуть криптоанализ Keccak, команда разработчиков алгоритма предложила уменьшить количество раундов в Keccak challenge [6] т.е рассматривать хеш с размером 160 для атаки с по поиску коллизий и хеш размером 80 для атаки прообраза с каждым из 4 размеров внутренних состояний (state size в 1 шаге дополнения) , уменьшенных до 12 раундов т.е. полагается равным 0 в 1 шаге дополнения. Идеальные уровни безопасности обоих алгоритмов установлены на уровне 2^80 единичных вычислений для коллизий и прообразов соответственно. Здесь количество вычислений значительно ниже, чем у основных 4 экземпляров SHA-3, однако это количество остается вне досягаемости текущего вычислительного ресурса. Теоретические результаты были найдены Dinur l. против KECCAK -256 со сложностями с использованием обобщенных внутренних дифференциалов. Насколько известно, это остается единственным результатом атаки коллизиями против SHA-3, уменьшенным до 5 раундов на сегодняшний день.

867c183f2f06fd9972da36715df98192.PNG

Теоретическая оценка результатов по поиску коллизий на сервере с 32 ядрами процессоров AMD. Таблица взята из источника [2]

Теперь перейдем к рассмотрению алгебраических методов для установки атак прообразов на несколько вариантов Keccak, основанных на свойствах χ шага и линейных перестановок . Атаки прообраза на SHA-3 одинаковы, за исключением того, что временная сложность может быть на больше из-за двух дополнительных битов заполнения. В общем случае здесь мы находим прообразы сообщения длиной бита, устанавливая -й бит входного состояния равным 1, так что дополненное сообщение

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

Для достижения наименьшей из возможных временных сложностей (время поиска) будем использовать различные линейные структуры и методы инвертирования для каждой вариации Keccak. Стоит обратить внимание, что первые биты входного сигнала Keccak-f могут быть выбраны произвольно (Выбрав соответствующие значения битов сообщения).

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

Основная идея атак состоит в том, чтобы установить и решить линейные уравнения. Сложность в этом разделе измеряется количеством решений для линейной системы уравнений.

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

SHAKE128 -это экземпляр стандарта SHA-3, определенного из Keccak , с неограниченной выходной длиной (SHA3-X в табл 1) Рассмотрим атаку прообраза на SHAKE128 , обозначаемой далее SHAKE128 для простоты.

936a40b3a6b416626f107704704d1356.PNG

Данные взяты из источника [7]

Устанавливаем с =0,2 и =0,1,2,3 в качестве переменных и накладываем некоторые условия на входные биты таким образом, чтобы все выходные биты после двух раундов были линейными, как показано на рис. 10. устанавливается на любую константу, такую что является исходным сообщением. Полосы серого и светло-серого цветов заданы только единицами и нулями. Чтобы убедиться, что все выходные биты после двух раундов являются линейными, потребуется:

127eebef08fa6153fd5750b8724d6c9d.PNG

Данные взяты из источника [7]

Все эти 6×64 линейных уравнения линейно независимы и, таким образом, имеют решений. Полагаем, что существует одно решение, соответствующее заданному 128-битному хеш-значению.

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

Заключение

В целом результаты по поиску коллизий и описанная атака прообраза показывают, что на сегодняшний день алгоритм SHA-3 / Keccak является одним из самых безопасных и эффективных алгоритмов хеширования. Некоторые утверждают, что он не будет взломан в ближайшие 20–30 лет. Развитие в мире квантовых вычислений может сократить эти временные рамки, но пока что данный алгоритм все еще один из лучших алгоритмов хеширования, который человечество имеет на данный момент.

Алгоритм SHA-3

В настоящее время информационная безопасность стала неотъемлемой частью любых цифровых операций. Ключевой роль в защите информации играет понятие криптографической функции. Криптографические хеш-функции — это выделенный класс хеш-функций, который имеет определённые свойства, делающие его пригодным для использования в криптографии.

Преобразование, производимое хеш-функцией, называется хешированием. Исходные данные называются входным массивом, «ключом» или «сообщением». Результат преобразования (выходные данные) называется «хешем», «хеш-кодом», «хеш-суммой».

Иными словами, хеш-функция — это вычислительный метод, который может отображать неопределенный размер данных в фиксированный размер данных. Или, проще говоря, преобразование выводит числовое значение, которое характеризуется входными данными. Криптографическая хэш-функция использует необратимые (односторонние) математические функции, чтобы сгенерировать хеш-значение из входных данных. Одним из распространенных способов генерации криптографических хешей является использование блочных шифров.

К надежным с точки зрения криптографии хеш-функциям должны быть предъявлены следующие основные требования:

  1. Хеш-функция должна представлять из себя одностороннюю функцию т.е. по образу (хешу) невозможно или почти невозможно найти исходный прообраз (сообщение).
  2. Функция хеширования должна быть устойчива к коллизиям. Коллизия – это пара исходных сообщений, имеющая одинаковое выходное значение. Считается, что относительно быстрое нахождение коллизии в алгоритме хеширования делает подобный алгоритм ненадёжным с точки зрения криптоанализа.

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

Что из себя представляет SHA-3?

SHA-3 является важным криптографическим алгоритмом для обеспечения информационной безопасности, а также целостности данных в цифровых операциях. Недавние безопасные хеш-алгоритмы, включая MD5, RIPEMD, SHA-0, SHA-1 и SHA-2 устарели и были признаны восприимчивыми к атакам различного рода.

SHA-3 (Keccak) – алгоритм хеширования переменной разрядности, разработанный группой во главе с Йоаном Дайменом в 2012 году. 5 августа 2015 года алгоритм утверждён и опубликован в качестве стандарта FIPS 202. Keccak был выбран в качестве официального алгоритма для SHA-3 в 2012 году. [1] Keccak основан на конструкции Sponge (Губка), которая является новым способом проектирования хеш-функций, помимо стратегии итерационного метода Меркла — Дамгора, реализуемой в MD(x).

Алгоритмы MD(x) основаны на методе вычислений в цикле с использованием простых логических операций типа OR, XOR, AND, NOT. поэтому становится возможным построение коллизий с одинаковым, заранее выбранным префиксом. Однако, как показало время алгоритмы MD(x) перестали быть безопасными из-за программ, способных находить коллизии за сравнительно небольшое время.

Губка — это итеративная конструкция для создания функции с произвольной длиной на входе и произвольной длиной на выходе на основе преобразований перестановки.

Алгоритм получения выходного значения хеш-функции с помощью алгоритма SHA-3 можно разделить на несколько этапов:

1 этап: Дополнение

Этот начальный шаг аналогичен многим алгоритмам хеширования. Прежде чем мы сможем начать хешировать наше сообщение, мы должны убедиться, что оно имеет стандартную длину (добиваемся определенной кратности), и для этого мы выполняем процесс дополнения.

Прежде чем приступить, нужно узнать, каков стандартный размер, которому стоит соответствовать, и для этого рассмотрим, как Keccak вычисляет размер состояния.

Для SHA-3 значение l принимается равным 6. Чем больше размер, тем выше безопасность, которую он обеспечивает. Теперь, основываясь на значении «», мы также решаем, сколько вычислительных раундов необходимо выполнить для каждой части дополненного сообщения.

Теперь мы знаем, что для SHA-3 размер состояния будет равен 1600 битам, а количество раундов вычислений — 24.

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

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

Первый и последний бит заполнения будут ‘1″, а все биты между ними «0». После заполнения они делятся на » » частей, где эквивалентно длине дополненного сообщения. Математически это можно представить в следующем виде:

2 этап: Размер состояния

Сумма значений ‘ ‘ и ‘ ‘ всегда будет равна 1600, что продемонстрировано в таблице.

Теперь понятно, что длина дополненного сообщения точно кратна «» в зависимости от нужной длины хеша.( делится на блоков длины : )

Размер части состояния, который записывается и считывается, называется «скоростью» (англ. rate) и обозначается , а размер части, которая нетронута вводом / выводом, называется «емкостью» (англ. capacity) и обозначается .

Далее алгоритм можно условно разделить на две условные части: “впитывание” и “отжимание”.

3 этап: Функция впитывания

Каждый блок дополняется нулями до строки длины бит и суммируется по модулю 2 со строкой состояния аналогичной длины . Перед началом работы функции все элементы равны нулю. Для каждого следующего блока состояние — строка, полученная применением функции перестановок к результату предыдущего шага.

Рассмотрим более подробно функции перестановок. Функция перестановок, используемая в SHA-3, включает в себя исключающее «ИЛИ» (XOR), побитовое «И» (AND) и побитовое отрицание (NOT). Функция определена для строк длины-степени 2. Состояние можно представить в виде трёхмерного массива размером .

Тогда элемент массива будет размером строки состояния

Внутри функции мы выполняем один и тот же набор из пяти операций в течение двадцати четырех раз.

На каждом шаге обозначим входной массив выходной массив :

Шаг :

Для всех и таких, что , положим

Для всех таких что :

Шаг :

Для всех , таких, что
Пусть в начале . Для от 0 до 23:

  1. Для всех таких, что
Шаг :

Для всех , таких, что

Шаг :

Для всех , таких, что ,

Шаг :

Введем дополнительную функцию , где вход-целове число

  1. Если , то возвращается 1
  2. Пусть

Для от 1 до 255:

Алгоритм :
  1. Для всех , таких, что
  2. Пусть — массив длинны , заполненный нулями
  3. Для от 0 до :
  4. Для массива в стороку длины
Алгоритм перестановок:
  1. Перевод строки в массив
  2. Для от до
  3. Перевод массива в строку длины

4 этап: Функция отжимания

Пока длина меньше ( — количество бит в результате хеш-функции), к длине добавляется первых бит состояния после каждого прибавления к применяется функция перестановок . Затем происходит обрезается до длины бит.

Строка длины бит возвращается в качестве результата

Криптоустойчивость SHA-3

Семейство хеш-функций Keccak было подвергнуто интенсивному криптоанализу с момента его представления на конкурс SHA-3 в 2008 [5]. В 2012 году Национальный институт стандартов и технологий США выбрал Keccak победителем конкурса SHA-3. Семейство SHA-3 состоит из четырех криптографических хэш-функций c фиксированным размером хеша и двух расширяемых выходных функций (XOFs) с именами SHAKE128 и SHAKE256, каждая из которых основана на экземпляре алгоритмов Keccak.

Подробно сосредоточимся на коллизиях семейства Keccak, то есть на поиске двух разных исходных сообщениях, дающих разное значение хеша. Лучшие предыдущие практические атаки столкновений на семейство Keccak-это Keccak -224 и KECCAK -256, уменьшенные до 4 раундов, найденных Dinur l.[3] в 2012 году и позже представлен в журнальной версии [4]. После этого теоретические результаты улучшились до 5-раундового KECCAK -256. Однако на практике количество раундов остается на уровне 4. Чтобы продвинуть криптоанализ Keccak, команда разработчиков алгоритма предложила уменьшить количество раундов в Keccak challenge [6] т.е рассматривать хеш с размером 160 для атаки с по поиску коллизий и хеш размером 80 для атаки прообраза с каждым из 4 размеров внутренних состояний (state size в 1 шаге дополнения) , уменьшенных до 12 раундов т.е. полагается равным 0 в 1 шаге дополнения. Идеальные уровни безопасности обоих алгоритмов установлены на уровне 2^80 единичных вычислений для коллизий и прообразов соответственно. Здесь количество вычислений значительно ниже, чем у основных 4 экземпляров SHA-3, однако это количество остается вне досягаемости текущего вычислительного ресурса. Теоретические результаты были найдены Dinur l. против KECCAK -256 со сложностями с использованием обобщенных внутренних дифференциалов. Насколько известно, это остается единственным результатом атаки коллизиями против SHA-3, уменьшенным до 5 раундов на сегодняшний день.

Теоретическая оценка результатов по поиску коллизий на сервере с 32 ядрами процессоров AMD. Таблица взята из источника [2]

Теперь перейдем к рассмотрению алгебраических методов для установки атак прообразов на несколько вариантов Keccak, основанных на свойствах χ шага и линейных перестановок . Атаки прообраза на SHA-3 одинаковы, за исключением того, что временная сложность может быть на больше из-за двух дополнительных битов заполнения. В общем случае здесь мы находим прообразы сообщения длиной бита, устанавливая -й бит входного состояния равным 1, так что дополненное сообщение

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

Для достижения наименьшей из возможных временных сложностей (время поиска) будем использовать различные линейные структуры и методы инвертирования для каждой вариации Keccak. Стоит обратить внимание, что первые биты входного сигнала Keccak-f могут быть выбраны произвольно (Выбрав соответствующие значения битов сообщения).

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

Основная идея атак состоит в том, чтобы установить и решить линейные уравнения. Сложность в этом разделе измеряется количеством решений для линейной системы уравнений.

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

SHAKE128 -это экземпляр стандарта SHA-3, определенного из Keccak , с неограниченной выходной длиной (SHA3-X в табл 1) Рассмотрим атаку прообраза на SHAKE128 , обозначаемой далее SHAKE128 для простоты.

Данные взяты из источника [7]

Устанавливаем с =0,2 и =0,1,2,3 в качестве переменных и накладываем некоторые условия на входные биты таким образом, чтобы все выходные биты после двух раундов были линейными, как показано на рис. 10. устанавливается на любую константу, такую что является исходным сообщением. Полосы серого и светло-серого цветов заданы только единицами и нулями. Чтобы убедиться, что все выходные биты после двух раундов являются линейными, потребуется:

Данные взяты из источника [7]

Все эти 6×64 линейных уравнения линейно независимы и, таким образом, имеют решений. Полагаем, что существует одно решение, соответствующее заданному 128-битному хеш-значению.

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

Заключение

В целом результаты по поиску коллизий и описанная атака прообраза показывают, что на сегодняшний день алгоритм SHA-3 / Keccak является одним из самых безопасных и эффективных алгоритмов хеширования. Некоторые утверждают, что он не будет взломан в ближайшие 20-30 лет. Развитие в мире квантовых вычислений может сократить эти временные рамки, но пока что данный алгоритм все еще один из лучших алгоритмов хеширования, который человечество имеет на данный момент.

SHA-3

SHA-3 ( Secure Hash Algorithm 3 ) — последний член семейства стандартов Secure Hash Algorithm , выпущенный NIST 5 августа 2015 года. [4] [5] [6] Несмотря на то, что он является частью той же серии стандартов, SHA -3 внутренне отличается от MD5 -подобной структуры из SHA-1 и SHA-2 .

SHA-3
(Кечак)

Общий
Дизайнеров Гвидо Бертони, Джоан Дэемен , Микаэль Петерс и Жиль ван Аше .
Впервые опубликовано 2015 г.
Ряд ( SHA-0 ), SHA-1 , SHA-2 , SHA-3
Сертификация FIPS PUB 202
Деталь
Размеры дайджеста произвольный
Состав конструкция из губки
Скорость 12,6 cpb на типичной машине на базе x86-64 для Keccak-f [1600] плюс XORing 1024 бит [1], что примерно соответствует SHA2-256.
Лучший публичный криптоанализ
Атака прообраза на Keccak-512 уменьшена до 8 раундов, требующих 2 511,5 раз и 2 508 единиц памяти. [2] Различители с нулевой суммой существуют для полного 24-раундового Keccak-f [1600], хотя их нельзя использовать для атаки на саму хеш-функцию [3]

SHA-3 представляет собой подмножество более широкой криптографической примитивного семейства Keccak ( / к ɛ tʃ æ к / или / K ɛ tʃ ɑː к / ), [7] [8] разработан Guido Bertoni , Joan Daemen , Майкл Петерс, и Жиль Ван Аше , основанный на RadioGatún . Авторы Кеккака предложили дополнительные варианты использования функции, которая (пока) не стандартизована NIST, в том числе потоковый шифр , аутентифицированная система шифрования , «древовидная» схема хеширования для более быстрого хеширования на определенных архитектурах [9] [10] и шифры AEAD. Кеяк и Кете. [11] [12]

Keccak основан на новом подходе, который называется « строительство губки» . [13] Конструкция губки основана на широкой случайной функции или случайной перестановке и позволяет вводить («поглощать» в терминологии губки) любое количество данных и выводить («сжимать») любое количество данных, действуя как псевдослучайная функция. что касается всех предыдущих входов. Это приводит к большой гибкости.

NIST в настоящее время не планирует отменять SHA-2 или удалять его из пересмотренного стандарта Secure Hash Standard. Назначение SHA-3 состоит в том, что он может быть напрямую заменен на SHA-2 в текущих приложениях, если это необходимо, и значительно повысить надежность общего набора инструментов алгоритмов хеширования NIST. [14]

Создатели алгоритмов Keccak и функций SHA-3 предлагают использовать более быструю функцию KangarooTwelve с настроенными параметрами и новый режим хеширования дерева без дополнительных накладных расходов для сообщений небольшого размера.

Алгоритм Keccak работа Гвидо Бертони, Джоан Daemen (который также совместно спроектировал Rijndael шифра с Винсентом Rijmen ), Майкл Питерс, и Жиль Ван Аше . Он основан на ранее хэш — функции конструкции ПАНАМА и RadioGatún . ПАНАМА был разработан Daemen и Крейг Клапп в 1998 году RadioGatún, преемник ПАНАМА, был разработан Daemen, Петерс и Ван Аше, и был представлен на NIST Hash семинара в 2006 году [15] эталонная реализация исходный код был посвящен в общественное достояние через отказ от CC0 . [16]

В 2006 году NIST начал организовывать конкурс хэш-функций NIST для создания нового стандарта хеширования SHA-3. SHA-3 не предназначен для замены SHA-2 , поскольку не было продемонстрировано никаких серьезных атак на SHA-2. Из-за успешных атак на MD5 , SHA-0 и SHA-1 , [17] [18] NIST почувствовал потребность в альтернативном, непохожем криптографическом хэше, который стал SHA-3.

По истечении подготовительного периода заявки должны были быть поданы до конца 2008 года. Кечак был принят в качестве одного из 51 кандидата. В июле 2009 года для второго тура было отобрано 14 алгоритмов. Кечак прошел в последний раунд в декабре 2010 года. [19]

Во время конкурса участникам разрешалось «настраивать» свои алгоритмы для решения обнаруженных проблем. В Keccak были внесены следующие изменения: [20] [21]

  • Количество раундов было увеличено с 12 + ℓ до 12 + 2ℓ из соображений безопасности.
  • Заполнение сообщений было изменено с более сложной схемы на простой шаблон 10 * 1, описанный ниже.
  • Скорость r была увеличена до предела безопасности, а не округлялась до ближайшей степени 2.

2 октября 2012 года Кечак был выбран победителем конкурса. [7]

В 2014 году NIST опубликовал проект FIPS 202 «Стандарт SHA-3: хеширование на основе перестановок и функции расширяемого вывода». [22] FIPS 202 был утвержден 5 августа 2015 г. [23]

5 августа 2015 года NIST объявил, что SHA-3 стал стандартом хеширования. [24]

Ослабление противоречий

В начале 2013 года NIST объявил, что выберет разные значения для «емкости», параметра общей силы и скорости для стандарта SHA-3, по сравнению с представленным. [25] [26] Изменения вызвали некоторую суматоху.

Соревнование хэш-функций потребовало, чтобы хеш-функции были не менее безопасными, чем экземпляры SHA-2. Это означает , что д выход -битный должен иметь д / 2-битное сопротивление столкновения атак и д сопротивление битового к прообразу атак , максимально достижимого для д бит выхода. Доказательство безопасности Keccak позволяет настраивать уровень безопасности на основе «емкости» c , обеспечивая c / 2-битную устойчивость как к столкновениям, так и к атакам с использованием прообраза. Чтобы соответствовать первоначальным правилам конкурса, авторы Кеккака предложили c = 2 d . Объявленное изменение заключалось в том, чтобы принять одинаковую d / 2-битную защиту для всех форм атак и стандартизировать c = d . Это ускорило бы Keccak, позволив хешировать дополнительные d битов ввода на каждой итерации. Однако хеш-функции больше не были бы заменой с таким же сопротивлением прообразу, как SHA-2; он был бы сокращен вдвое, что сделало бы его уязвимым для достижений квантовых вычислений, которые фактически сократили бы его вдвое еще раз. [27]

В сентябре 2013 года Дэниел Дж. Бернстайн предложил в списке рассылки хэш-форума NIST [28] усилить безопасность до 576-битной емкости, которая первоначально была предложена в качестве Keccak по умолчанию в дополнение к SHA-3 и не включена в нее. технические характеристики. [29] Это обеспечило бы как минимум SHA3-224 и SHA3-256 такое же сопротивление прообразу, что и их предшественники SHA-2, но SHA3-384 и SHA3-512 имели бы значительно меньшее сопротивление прообразу, чем их предшественники SHA-2. . В конце сентября команда Keccak ответила, заявив, что они предложили 128-битную безопасность, установив c = 256 в качестве опции уже в своем предложении SHA-3. [30] Хотя, по их мнению, уменьшение емкости было оправданным, в свете отрицательного ответа они предложили увеличить емкость до c = 512 бит для всех экземпляров. Он будет таким же, как любой предыдущий стандарт, вплоть до уровня безопасности 256 бит, при этом обеспечивая разумную эффективность [31], но не сопротивление 384/512 битам прообраза, предлагаемое SHA2-384 и SHA2-512. Авторы заявили, что «утверждать или полагаться на уровни безопасности выше 256 бит бессмысленно».

В начале октября 2013 года Брюс Шнайер раскритиковал решение NIST на основании его возможных пагубных последствий для принятия алгоритма, заявив:

В воздухе витает слишком много недоверия. NIST рискует опубликовать алгоритм, которому никто не будет доверять и который никто (кроме тех, кто вынужден) не будет использовать. [32]

Позже он отказался от своего более раннего заявления, сказав:

Я оговорился, когда написал, что NIST внес «внутренние изменения» в алгоритм. Это было неаккуратно с моей стороны. Перестановка Keccak остается неизменной. NIST предложил уменьшить емкость хэш-функции во имя производительности. Одной из приятных особенностей Keccak является то, что он легко настраивается. [32]

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

Да, это немного обидно для конкурентов, что они потребовали определенный уровень безопасности для участников, а затем пошли опубликовать стандарт с другим. Но сейчас ничего нельзя сделать, чтобы исправить это, кроме как возобновить соревнование. Требование, чтобы они придерживались своей ошибки, никому ничего не улучшает. [33]

Была некоторая путаница в том, что в Keccak могли быть внесены внутренние изменения, которые были прояснены исходной командой, заявив, что предложение NIST для SHA-3 является подмножеством семейства Keccak, для которого можно генерировать тестовые векторы, используя их эталонный код. представили на конкурс, и что это предложение было результатом серии обсуждений между ними и хэш-командой NIST. [34] В ответ на разногласия в ноябре 2013 года Джон Келси из NIST предложил вернуться к исходному предложению c = 2 d для всех экземпляров оперативной замены SHA-2. [35] Возврат был подтвержден последующими проектами [36] и окончательной версией. [4]

Конструкция губки для хэш-функций. P i — входные данные, Z i — хешированные выходные данные. Неиспользованная «емкость» c должна быть вдвое больше, чем желаемое сопротивление столкновению или атакам прообраза .

  • заполните вход N с помощью функции заполнения, в результате чего получится заполненная битовая строка P с длиной, кратной р (такой, что п знак равно len ( п ) / р > (P) / r> целое число)
  • разбить P на n последовательных r -битных частей P0 , . Pn −1
  • инициализировать состояние S строкой из b нулевых битов
  • поглощают ввод в состояние: для каждого блока Pi :
    • расширить Pi в конце строкой из c нулевых битов, получив в результате один длиной b
    • XOR, что с S
    • применить к результату блочную перестановку f , получив новое состояние S
    • добавить первые r битов S к Z
    • если длина Z все еще меньше d битов, примените f к S , получив новое состояние S

    Тот факт, что внутреннее состояние S содержит c дополнительных битов информации в дополнение к тому, что выводится в Z, предотвращает атаки на расширение длины, которым подвержены SHA-2, SHA-1, MD5 и другие хэши, основанные на конструкции Меркла – Дамгарда .

    В SHA-3 состояние S состоит из массива 5 × 5 w -битных слов (с w = 64), b = 5 × 5 × w = 5 × 5 × 64 = всего 1600 бит. Keccak также определен для меньших размеров слова w, равного степени 2, вплоть до 1 бита (общее состояние 25 бит). Небольшие размеры состояний могут использоваться для тестирования криптоаналитических атак, а размеры промежуточных состояний (от w = 8 , 200 бит до w = 32 , 800 бит) могут использоваться в практических, легких приложениях. [11] [12]

    Для экземпляров SHA-3-224, SHA-3-256, SHA-3-384 и SHA-3-512 r больше d , поэтому нет необходимости в дополнительных перестановках блоков в фазе сжатия; ведущие d бит состояния — это желаемый хэш. Однако SHAKE-128 и SHAKE-256 допускают произвольную длину вывода, что полезно в таких приложениях, как оптимальное заполнение асимметричного шифрования .

    Чтобы гарантировать, что сообщение может быть равномерно разделено на r- битовые блоки, требуется заполнение. SHA-3 использует шаблон 10 * 1 в своей функции заполнения: 1 бит, за которым следует ноль или более 0 бит (максимум r — 1 ) и последний 1 бит.

    Максимум r — 1 нулевых битов возникает, когда длина последнего блока сообщения составляет r — 1 бит. Затем после начального 1 бита добавляется еще один блок, содержащий r — 1 нулевых битов перед последним 1 битом.

    Два бита 1 будут добавлены, даже если длина сообщения уже делится на r . [5] : 5.1 В этом случае к сообщению добавляется еще один блок, содержащий 1 бит, за которым следует блок из r — 2 нулевых бита и еще 1 бит. Это необходимо для того, чтобы сообщение с длиной, кратной r, заканчивающейся чем-то похожим на заполнение, не создавало такой же хэш, как сообщение с удаленными битами.

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

    Положение последнего бита 1 указывает, какая скорость r была использована (многоскоростное заполнение), что требуется для работы доказательства безопасности для различных вариантов хеширования. Без него разные варианты хеширования одного и того же короткого сообщения были бы одинаковыми до усечения.

    Блок перестановки

    Блочное преобразование f , которое представляет собой Keccak-f [1600] для SHA-3, представляет собой перестановку, которая использует операции XOR , AND и NOT , и предназначена для простой реализации как в программном, так и в аппаратном обеспечении.

    Она определяется для любой мощности из-двух слов размера, W = 2 л битов. В основном представлении SHA-3 используются 64-битные слова, = 6 .

    Состояние можно рассматривать как массив бит 5 × 5 × w . Пусть a [ i ] [ j ] [ k ] будет битом (5 i + j ) × w + k ввода, используя соглашение о нумерации битов с прямым порядком байтов и индексирование по старшим строкам . Т.е. я выбирает строку, j — столбец, а k — бит.

    Индексная арифметика выполняется по модулю 5 для первых двух измерений и по модулю w для третьего.

    Базовая функция перестановки блоков состоит из 12 + 2 раундов по пять шагов:

    θ (тета) Вычислите четность каждого из 5 w (320, когда w = 64 ) 5-битных столбцов, а также четность двух соседних столбцов в обычном шаблоне. Чтобы быть точным, a [ i ] [ j ] [ k ] ← a [ i ] [ j ] [ k ] четность (a [0 . 4] [ j −1] [ k ]] »четность (a [ 0 . 4] [ j +1] [ k −1]) ρ (ро) Побитовое вращение каждого из 25 слов на другое треугольное число 0, 1, 3, 6, 10, 15, . Чтобы быть точным, a [0] [0] не вращается, и для всех 0 ≤ t < 24 , a [ i ] [ j ] [ k ] ← a [ i ] [ j ] [ k — ( t +1) ( t +2) / 2] , где ( я j ) знак равно ( 3 2 1 0 ) т ( 0 1 ) i \\ j \ end > = <\ begin 3 & 2 \\ 1 & 0 \ end > ^ <\ begin 0 \\ 1 \ end >> . π (пи) Переставьте 25 слов по фиксированному шаблону. a [3 i +2 j ] [ i ] ← a [ i ] [ j ] . χ (чи) Побитовое объединение по строкам, используя xx ⊕ (¬ y & z ) . Чтобы быть точным, a [ i ] [ j ] [ k ] ← a [ i ] [ j ] [ k ] ⊕ (¬ a [ i ] [ j + 1 ] [ k ] & a [ i ] [ j + 2 ] » [ k ]) . Это единственная нелинейная операция в SHA-3. ι (йота) Эксклюзивная или округленная константа в одно слово состояния. Чтобы быть точными, в круглом п , для 0 ≤ тл , [0] [0] [2 м -1] является операция XOR с битом м + 7 п градуса 8- LFSR последовательности. Это нарушает симметрию, сохраняемую на других этапах.

    Скорость хеширования длинных сообщений SHA-3 определяется вычислением f = Keccak-f [1600] и XORing S с расширенным P i , операцией над b = 1600 битами. Однако, поскольку последние c бит расширенного P i в любом случае равны 0, а XOR с 0 является NOP, достаточно выполнить операции XOR только для r бит ( r = 1600 — 2 × 224 = 1152 бит для SHA3-224 , 1088 бит для SHA3-256, 832 бит для SHA3-384 и 576 бит для SHA3-512). Чем меньше r (и, наоборот, чем выше c = br = 1600 — r ), тем менее эффективным, но более безопасным становится хеширование, поскольку меньшее количество битов сообщения может быть преобразовано в состояние XOR (быстрая операция) перед каждым применение дорогостоящего в вычислительном отношении f . Авторы сообщают о следующих скоростях программных реализаций Keccak-f [1600] плюс XORing 1024 бит [1], что примерно соответствует SHA3-256:

    • 57,4 ц / бит на IA-32, Intel Pentium 3 [37]
    • 41 cpb на IA-32 + MMX, Intel Pentium 3
    • 20 cpb на IA-32 + SSE, Intel Core 2 Duo или AMD Athlon 64
    • 12,6 cpb на типичной машине на базе x86-64
    • 6–7 cpb на IA-64 [38]

    Для точного SHA3-256 на x86-64 Бернштейн измеряет 11,7–12,25 cpb в зависимости от процессора. [39] : 7 SHA-3 подвергался критике за то, что он медленный на архитектурах с набором команд (ЦП), которые не имеют инструкций, специально предназначенных для более быстрого вычисления функций Keccak — SHA2-512 более чем в два раза быстрее, чем SHA3-512, а SHA -1 более чем в три раза быстрее процессора Intel Skylake с тактовой частотой 3,2 ГГц. [40] Авторы отреагировали на эту критику, предложив использовать SHAKE128 и SHAKE256 вместо SHA3-256 и SHA3-512 за счет сокращения вдвое сопротивления прообраза (но при сохранении сопротивления столкновениям). При этом производительность находится на уровне SHA2-256 и SHA2-512.

    Однако в аппаратных реализациях SHA-3 заметно быстрее, чем все другие финалисты [41], а также быстрее, чем SHA-2 и SHA-1. [40]

    Архитектуры ARMv8 [42] и IBM s390x уже (по состоянию на 2018 год) включают специальные инструкции, которые позволяют алгоритмам Keccak выполняться быстрее.

    Экземпляры

    Стандарт NIST определяет следующие экземпляры для сообщения M и выходной длины d : [5] : 20,23

    Пример Выходной
    размер d
    Скорость r
    = размер блока
    Емкость c Определение Сильные стороны безопасности в битах
    Столкновение Прообраз 2-й прообраз
    SHA3-224 ( M ) 224 1152 448 Кечак [448] ( M || 01, 224) 112 224 224
    SHA3-256 ( M ) 256 1088 512 Кечак [512] ( M || 01, 256) 128 256 256
    SHA3-384 ( M ) 384 832 768 Кечак [768] ( M || 01, 384) 192 384 384
    SHA3-512 ( M ) 512 576 1024 Кечак [1024] ( M || 01, 512) 256 512 512
    SHAKE128 ( M , d ) d 1344 256 Кечак [256] ( M || 1111, d ) мин ( д / 2,128) ≥мин ( д , 128) мин ( д , 128)
    SHAKE256 ( M , d ) d 1088 512 Кечак [512] ( M || 1111, d ) мин ( d / 2,256) ≥мин ( д , 256) мин ( д , 256)

    Со следующими определениями

    • Keccak [ c ] ( N , d ) = губка [Keccak-f [1600], pad10 * 1, r ] ( N , d ) [5] : 20
    • Keccak-f [1600] = Keccak-p [1600, 24] [5] : 17
    • c — емкость
    • r — ставка = 1600 — c
    • N — входная битовая строка

    Экземпляры SHA-3 являются заменой SHA-2 и имеют идентичные свойства безопасности.

    SHAKE будет генерировать столько битов из своей губки, сколько требуется, называемых XOF (расширяемые функции вывода). Например, SHAKE128 (M, 256) может использоваться как хэш-функция с потоком битов 256 символов с уровнем безопасности 128 бит. В качестве генераторов псевдослучайных чисел можно использовать произвольно большие длины. В качестве альтернативы SHAKE256 (M, 128) может использоваться как хэш-функция с длиной 128 бит и сопротивлением 128 бит, но в отличие от усеченного вывода функций семейств MD и SHA, включая SHA-3, сохранит свои свойства безопасности в любой момент. данный размер. Функции SHAKE требуют, чтобы каждый выходной бит был таким же сильным, как и последний, тогда как для других хешей требуется только, чтобы весь хеш был сильным, в то время как подмножество могло быть слабым. [5]

    Все экземпляры добавляют к сообщению некоторые биты, крайний правый из которых представляет суффикс разделения домена. Это делается для того, чтобы гарантировать невозможность создания сообщений, которые производят один и тот же хеш-вывод для разных приложений хеш-функции Keccak. Существуют следующие суффиксы разделения домена: [5] [43]

    Суффикс Имея в виду
    . 0 зарезервировано для использования в будущем
    01 SHA-3
    . 11 RawSHAKE
    1111 Встряхнуть

    Дополнительные экземпляры

    В декабре 2016 года NIST опубликовал новый документ, NIST SP.800-185, [44], описывающий дополнительные производные от SHA-3 функции:

    Пример Описание
    cSHAKE128 ( X , L , N , S ) Версия SHAKE, поддерживающая явное разделение доменов с помощью параметров настройки.
    cSHAKE256 ( X , L , N , S )
    KMAC128 ( K , X , L , S ) Шпонкой хэш — функции на основе Keccak. Также может использоваться без ключа как обычная хеш-функция.
    KMAC256 ( K , X , L , S )
    KMACXOF128 ( K , X , L , S )
    KMACXOF256 ( K , X , L , S )
    TupleHash128 ( X , L , S ) Функция для хеширования кортежей строк. Вывод этой функции зависит как от содержимого, так и от последовательности входных строк.
    TupleHash256 ( X , L , S )
    TupleHashXOF128 ( X , L , S )
    TupleHashXOF256 ( X , L , S )
    ParallelHash128 ( X , B , L , S ) Функция, разработанная для использования параллелизма в современных процессорах для более быстрого хеширования. В отличие от KangarooTwelve, не использует Keccak с уменьшенным количеством раундов.
    ParallelHash256 ( X , B , L , S )
    ParallelHashXOF128 ( X , B , L , S )
    ParallelHashXOF256 ( X , B , L , S )

    • X — основная входная битовая строка. Он может быть любой длины, в том числе нулевой.

    • L — целое число, представляющее запрашиваемую длину вывода в битах.

    • N — битовая строка имени функции, используемая NIST для определения функций на основе cSHAKE. Когда не требуется никакой другой функции, кроме cSHAKE, N устанавливается на пустую строку.

    • S — строка битов настройки. Пользователь выбирает эту строку, чтобы определить вариант функции. Если настройка не требуется, S устанавливается в пустую строку.

    • K — строка ключей любой длины, включая ноль.

    • B — размер блока в байтах для параллельного хеширования. Это может быть любое целое число, такое что 0 2040 .

    Более поздние разработки

    КенгуруДвенадцать

    КенгуруДвенадцать

    Общий
    Дизайнеров Гвидо Бертони, Джоан Дэмен , Микаэль Петерс, Жиль Ван Аше , Ронни Ван Кир, Бенуа Вигье
    Впервые опубликовано 10 августа 2016 г . ; 4 года назад ( 2016-08-10 )
    Полученный из Кечак
    Деталь
    Размеры дайджеста произвольный
    Состав строительство губки и перемешивание деревьев с прыжком кенгуру
    Раундов 12
    Скорость 0.51 CPB на SkylakeX с AVX-512 [45]
    Лучший публичный криптоанализ
    То же, что и у Кечака

    В 2016 году та же команда, которая разработала функции SHA-3 и алгоритм Keccak, представила альтернативы более быстрых сокращенных раундов (уменьшенных до 12 и 14 раундов по сравнению с 24 в SHA-3), которые могут использовать доступность параллельного выполнения из-за использования дерева. хеширование: KangarooTwelve и MarsupilamiFourteen. [46]

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

    Уменьшение количества раундов оправдано огромными криптоаналитическими усилиями, сосредоточенными на Keccak, которые не привели к практическим атакам на что-либо близкое к Keccak с 12 раундами. Эти высокоскоростные алгоритмы не являются частью SHA-3 (поскольку они являются более поздней разработкой) и, следовательно, не совместимы с FIPS; но поскольку они используют ту же перестановку Keccak, они безопасны до тех пор, пока нет атак на SHA-3, сокращенных до 12 раундов. [46]

    KangarooTwelve — это высокопроизводительная версия Keccak с сокращенным циклом (от 24 до 12 раундов), которая утверждает, что имеет 128 бит безопасности [47], а производительность составляет 0,55 цикла на байт на процессоре Skylake . [48] Этот алгоритм является черновиком IETF RFC . [49]

    MarsupilamiFourteen, небольшая вариация на KangarooTwelve, использует 14 раундов перестановки Keccak и требует 256 бит безопасности. Обратите внимание, что 256-битная безопасность не более полезна на практике, чем 128-битная безопасность, но может потребоваться по некоторым стандартам. [47] 128 бит уже достаточно, чтобы отразить атаки грубой силы на текущее оборудование, поэтому наличие 256-битной защиты не добавляет практической ценности, если пользователь не беспокоится о значительном улучшении скорости классических компьютеров. Информацию о сопротивлении квантовым компьютерам см. Ниже.

    KangarooTwelve и MarsupilamiFourteen — это функции расширяемого вывода, аналогичные SHAKE, поэтому они генерируют тесно связанный вывод для общего сообщения с разной длиной вывода (более длинный вывод является расширением более короткого вывода). Такое свойство не проявляется в хэш-функциях, таких как SHA-3 или ParallelHash (кроме вариантов XOF). [5]

    Строительство Фарфалле

    В 2016 году команда Keccak выпустила другую конструкцию, названную конструкцией Farfalle, и Kravatte, экземпляр Farfalle, использующий перестановку Keccak-p [50], а также два аутентифицированных алгоритма шифрования Kravatte-SANE и Kravatte-SANSE [51]

    Хеширование дерева сакуры

    RawSHAKE — это основа кода Sakura для хеширования дерева, которая еще не стандартизирована. Сакура использует суффикс 1111 для отдельных узлов, что эквивалентно SHAKE, и другие сгенерированные суффиксы в зависимости от формы дерева. [43] : 16

    Защита от квантовых атак

    Общий результат ( алгоритм Гровера) заключается в том, что квантовые компьютеры могут выполнять атаку структурированного прообраза в 2 d знак равно 2 d / 2 >> = 2 ^ > , в то время как классическая атака полным перебором требует 2 d . Атака структурированного прообраза подразумевает атаку второго прообраза [27] и, следовательно, атаку столкновения . Квантовый компьютер также может выполнять атаку в честь дня рождения , тем самым нарушая сопротивление столкновениям 2 d 3 знак равно 2 d / 3 ] >> = 2 ^ > [52] (хотя это оспаривается [53] ). Отмечая, что максимальная сила может быть c / 2 , это дает следующие верхние [54] границы квантовой безопасности SHA-3:

    Пример Сильные стороны безопасности в битах
    Столкновение
    (Брассард и др.)
    Столкновение
    (Бернштейн)
    Прообраз 2-й прообраз
    SHA3-224 ( M ) 74⅔ 112 112 112
    SHA3-256 ( M ) 85⅓ 128 128 128
    SHA3-384 ( M ) 128 192 192 192
    SHA3-512 ( M ) 170⅔ 256 256 256
    SHAKE128 ( M , d ) мин ( д / 3,128) мин ( д / 2,128) ≥мин ( d / 2,128) мин ( д / 2,128)
    SHAKE256 ( M , d ) мин ( d / 3,256) мин ( d / 2,256) ≥мин ( d / 2,256) мин ( d / 2,256)

    Было показано, что конструкция Меркла-Дамгарда , используемая в SHA-2, разрушается и, как следствие, устойчива к квантовым столкновениям [55], но для конструкции губки, используемой в SHA-3, авторы предоставляют доказательства только для случай, когда блочная функция f не является эффективно обратимой; Keccak-f [1600], однако, эффективно обратим, и поэтому их доказательство неприменимо. [56]

    Примеры вариантов SHA-3

    Следующие хеш-значения взяты с сайта NIST.gov: [57]

    SHA3-224 ("")6b4e03423667dbb73b6e15454f0eb1abd4597f9a1b078e3f5b5a6bc7SHA3-256 ("")a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434aSHA3-384 ("")0c63a75b845e4f7d01107d852e4c2485c51a50aaaa94fc61995e71bbee983a2ac3713831264adb47fb6bd1e058d5f004SHA3-512 ("")a69f73cca23a9ac5c8b567dc185a756e97c982164fe25859e0d1dcc1475c80a615b2123af1f5f94c11e3e9402c3ac558f500199d95b6d3e301758586281dcd26SHAKE128 ("", 256)7f9c2ba4e88f827d616045507605853ed73b8093f6efbc88eb1a6eacfa66ef26SHAKE256 ("", 512)46b9dd2b0ba88d13233b3feb743eeb243fcd52ea62b81b82b50c27646ed5762fd75dc4ddd8c0f200cb05019d67b592f6fc821c49479ab48640292eacb3b7c4be 

    Изменение одного бита приводит к тому, что каждый бит на выходе изменяется с вероятностью 50%, демонстрируя лавинный эффект :

    SHAKE128 («Быстрая коричневая лисица перепрыгивает через ленивого пса», 256)f4202e3c5852f9182a0430fd8144f0a74b95e7417ecae17db0f8cfeed0e3e66eSHAKE128 ("Быстрая коричневая лиса перепрыгивает через ленивого до ф ", 256)853f4538be0db9621a6cea659a06c1107b1f83f02b13d18297bd39d7411cf10c 

    Сравнение функций SHA

    В таблице ниже внутреннее состояние означает количество битов, которые переносятся в следующий блок.

    Сравнение функций SHA

    • Посмотреть
    • говорить
    • редактировать

    Оптимизированная реализация с использованием AVX-512VL (то есть из OpenSSL , работающего на процессорах Skylake-X ) SHA3-256 действительно достигает примерно 6,4 цикла на байт для больших сообщений [63] и около 7,8 цикла на байт при использовании AVX2 на процессорах Skylake . [64] Производительность на других процессорах x86, Power и ARM в зависимости от используемых инструкций, а точная модель процессора варьируется от 8 до 15 циклов на байт [65] , [66] [67] с некоторыми более старыми процессорами x86 до 25-40 циклов на байт. [68]

    Реализации

    Ниже приведен список библиотек криптографии, поддерживающих SHA-3:

    • Русте SHA-3
    • Ботан
    • Надувной Замок
    • Крипто ++
    • Libgcrypt
    • Крапива
    • OpenSSL
    • wolfSSL
    • MIRACL Cryptographic SDK
    • Golang’s x / crypto / sha3
    • libkeccak

    Аппаратное ускорение

    Шестиядерные процессорные ядра SoC Apple A13 ARMv8 поддерживают [69] ускорение SHA-3 (и SHA-512) с использованием специализированных инструкций (EOR3, RAX1, XAR, BCAX) из набора криптографических расширений ARMv8.2-SHA. [70]

    Некоторые программные библиотеки используют средства векторизации ЦП для ускорения использования SHA-3. Например, Crypto ++ может использовать SSE2 на x86 для ускорения SHA3 [71], а OpenSSL может также использовать MMX , AVX-512 или AVX-512VL на многих системах x86. [72] Также процессоры POWER8 реализуют 2×64-битное вращение вектора, определенное в PowerISA 2.07, что может каким-то образом ускорить реализацию SHA-3. [73] Большинство реализаций для ARM не используют неоновые векторные команды , как это происходит медленнее , чем скалярный код , однако он может быть ускорены с помощью СВА и SVE2 инструкции вектора (например , на Fujitsu A64FX CPU). [74]

    Использование в протоколах

    • Эфириум § Эфир

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

    • Ethash — еще один хеш на основе Keccak

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

    1. ^ a b Обзор реализации Keccak Версия 3.2 , раздел 3.1
    2. ^ Моравецкий, Павел; Пиепшик, Йозеф; Сребрный, Мариан (2013). Мориаи, С. (ред.). «Вращательный криптоанализ округлённо сокращенного Keccak» (PDF) . Конспект лекций по быстрому программному шифрованию в компьютерных науках . Конспект лекций по информатике. 8424 : 241–262. DOI : 10.1007 / 978-3-662-43933-3_13 . ISBN 978-3-662-43932-6 . Архивировано 8 января 2013 года (PDF) . Проверено 8 февраля 2019 года .
    3. ^
    4. Бертони, Гвидо; Дэмен, Джоан; Петерс, Микаэль; ван Аше, Джайлс (14 января 2011 г.). «Представление Keccak SHA-3» (PDF) . keccak.noekeon.org . Архивировано 19 августа 2011 года (PDF) . Проверено 9 февраля 2014 года .
    5. ^ а б
    6. «Хеш-функции» . NIST . 22 июня 2020 . Проверено 17 февраля 2021 года .
    7. ^ Б с д е е г ч I
    8. NIST (август 2015 г.). «Стандарт SHA-3: хеширование на основе перестановок и функции расширяемого вывода» (PDF) . DOI : 10,6028 / NIST.FIPS.202 . Проверено 29 февраля 2020 года . Цитировать журнал требует |journal= ( помощь )
    9. ^
    10. Дворкин, Моррис Дж. (4 августа 2015 г.). «Стандарт SHA-3: хеширование на основе перестановок и функции расширяемого вывода» . Федеральный Инф. Процесс. STDS. (NIST FIPS) — 202 .
    11. ^ а б
    12. «NIST выбирает победителя конкурса алгоритмов безопасного хеширования (SHA-3)» . NIST . 2 октября 2012 . Проверено 2 октября 2012 года .
    13. ^
    14. Круз, Хосе Р.С. (7 мая 2013 г.). «Keccak: новый стандарт шифрования SHA-3» . Доктор Доббс .
    15. ^
    16. Гвидо Бертони; Джоан Дэмен; Михаэль Петерс; Жиль Ван Аше. «Семейство функций губки Keccak: Обзор технических характеристик» . Проверено 11 мая 2011 года .
    17. ^
    18. Чанг, Шу-джен; Перлнер, Рэй; Берр, Уильям Э .; Сонмез Туран, Мельтем; Келси, Джон М .; Пол, Сурадьюти; Бэшем, Лоуренс Э. (ноябрь 2012 г.). «Отчет третьего раунда конкурса алгоритмов хеширования SHA-3» (PDF) . DOI : 10,6028 / NIST.IR.7896 . Проверено 29 февраля 2020 года . Цитировать журнал требует |journal= ( помощь ) Разделы 5.1.2.1 (упоминание «древовидного режима»), 6.2 («другие функции», упоминание аутентифицированного шифрования) и 7 (упоминание «дополнительных функций» может быть стандартизировано в будущем).
    19. ^ а б
    20. Бертони, Гвидо; Дэмен, Джоан; Петерс, Микаэль; Ван Аше, Жиль; Ван Кир, Ронни (13 марта 2014 г.). «Представление CAESAR: Ketje v1» (PDF) . Проверено 29 февраля 2020 года .
    21. ^ а б
    22. Бертони, Гвидо; Дэмен, Джоан; Петерс, Микаэль; Ван Аше, Жиль; Ван Кир, Ронни (13 марта 2014 г.). «Представление CAESAR: Keyak v1» (PDF) . Проверено 29 февраля 2020 года .
    23. ^ а б
    24. Гвидо Бертони, Джоан Дэмен, Микаэль Петерс и Жиль Ван Аше. «Функции губки» . Ecrypt Hash Workshop 2007. CS1 maint: использует параметр авторов ( ссылка )
    25. ^
    26. «Объявление запроса о выдвижении кандидатур алгоритмов для нового семейства криптографических алгоритмов хеширования (SHA-3) [Федеральный регистр США, том 72 № 212]]» (PDF) . 2 ноября 2007 г. Архивировано 31 марта 2011 г. (PDF) из оригинала . Проверено 18 июля 2017 года .
    27. ^
    28. Бертони, Гвидо; Дэмен, Джоан; Петерс, Микаэль; Ван Аше, Жиль. «Дорога из Панамы в Кеччак через RadioGatún» (PDF) . Проверено 29 февраля 2020 года .
    29. ^ KeccakReferenceAndOptimized-3.2.zip mainReference.c «Функция губки Keccak, разработанная Гвидо Бертони, Джоан Дэемен, Микаэль Петерс и Жиль Ван Аше. Для получения дополнительной информации, отзывов или вопросов посетите наш веб-сайт: http: // keccak. noekeon.org/Implementation [ постоянная мертвая ссылка ] , разработанная дизайнерами, далее обозначается как «исполнитель». В той степени, в которой это возможно в соответствии с законом, исполнитель отказался от всех авторских и смежных или смежных прав на исходный код в этом файле. https: //creativecommons.org/publicdomain/zero/1.0/ «
    30. ^
    31. Стивенс, Марк; Бурштейн, Эли; Карпман, Пьер; Альбертини, Анж; Марков, Ярик. «Первая коллизия для полного SHA-1» (PDF) . Проверено 23 февраля 2017 года .
    32. ^
    33. Леурент, Гаэтан; Пейрин, Томас. «SHA-1 — это бойня» . Проверено 8 января 2020 года .
    34. ^
    35. «Отдел компьютерной безопасности NIST — Конкурс криптографических хеш-алгоритмов SHA-3, ноябрь 2007 г. — октябрь 2012 г.» . 4 января 2017 г.
    36. ^
    37. «Параметр Keccak изменяется для 2 раунда» . Команда Keccak . 22 сентября 2009 года. Архивировано 13 ноября 2017 года . Проверено 29 февраля 2020 года .
    38. ^
    39. «Упрощение правила заполнения Keccak для раунда 3» . Команда Keccak . 17 января 2011 . Проверено 29 февраля 2020 года .
    40. ^
    41. «Стандартизация SHA-3» . NIST . Проверено 16 апреля 2015 года .
    42. ^
    43. Национальный институт стандартов и технологий (5 августа 2015 г.). «Федеральные стандарты обработки информации: хеширование на основе перестановок, функции расширяемого вывода и т . Д.» . Проверено 5 августа 2015 года .
    44. ^
    45. «Объявление об утверждении Федерального стандарта обработки информации (FIPS) 202, стандарта SHA-3: хеширование на основе перестановок и функции расширяемого вывода, а также пересмотр пункта о применимости FIPS 180-4, стандарта безопасного хеширования» . 5 августа 2015 года.
    46. ^
    47. Джон Келси. «SHA3, где мы были, куда мы идем» (PDF) . Конференция RSA 2013.
    48. ^
    49. Джон Келси. «SHA3, прошлое, настоящее и будущее» . ЧЕС 2013.
    50. ^ а б
    51. «Аннотация» (PDF) . cr.yp.to .
    52. ^
    53. «Список рассылки хэш-форума NIST» . 4 января 2017 г.
    54. ^
    55. «Представление Keccak SHA-3» (PDF) . 14 января 2011 . Проверено 8 февраля 2014 года .
    56. ^
    57. «О 128-битной безопасности» .
    58. ^
    59. «Конкретное предложение» . 2 октября 2013 г.
    60. ^ а б
    61. «Шнайер о безопасности: будет ли Keccak = SHA-3?» .
    62. ^
    63. «LShift: Почему я поддерживаю правительство США, ослабляющее стандарты криптографии» .
    64. ^
    65. «Да, это Кечак!» .
    66. ^
    67. «Движение вперед с SHA-3» (PDF) .
    68. ^
    69. Отдел компьютерной безопасности NIST (CSD). «Стандарт SHA-3: хеширование на основе перестановок и функции расширяемого вывода» (PDF) . NIST.
    70. ^ «примерно 41 цикл / байт [. ] представляет 40% ускорение по сравнению с реализацией, использующей только 32-битные инструкции». По формуле 1 Икс × 1,40 знак равно 1 41 год > \ times 1.40 = >> мы получаем Икс знак равно 57,4
    71. ^
    72. Бертони, Гвидо (29 мая 2012 г.). Обзор реализации Keccak (PDF) . п. 25 . Проверено 3 ноября 2018 года .
    73. ^
    74. Бернштейн, Дэниел Дж. (4 января 2012 г.). «Ошибки оптимизации в программном обеспечении SHA-3» (PDF) . cr.yp.to . Проверено 29 февраля 2020 года .
    75. ^ а б
    76. «Кечак Тим» . keccak.noekeon.org .
    77. ^
    78. Го, Сюй; Хуанг, Синан; Нажандали, Лейла; Патрик Шаумонт (август 2010 г.), «Справедливая и всесторонняя оценка производительности 14 реализаций ASIC SHA-3 второго раунда» (PDF) , NIST 2nd SHA-3 Candidate Conference : 12 , получено 18 февраля 2011 г. Кечак уступает только Луффе, который не прошел в финальный раунд.
    79. ^ Корпорация ARM, справочное руководство по архитектуре ARM ARMv8, для профиля архитектуры ARMv8-A, документ ARM DDI 0487C.a (ID121917), https://www.arm.com
    80. ^ а б
    81. «Сакура: гибкое кодирование для хеширования деревьев» (PDF) . Команда Keccak . 2014 . Проверено 29 февраля 2020 года .
    82. ^ Производные функции SHA-3: cSHAKE, KMAC, TupleHash и ParallelHash Эта статья включает текст из этого источника, который находится в общественном достоянии .
    83. ^
    84. «Показатели производительности программного обеспечения» .
    85. ^ а б
    86. «Команда Keccak: KangarooTwelve» . Команда Keccak.
    87. ^ а б
    88. «KangarooTwelve: быстрое хеширование на основе Keccak-p» (PDF) . Международная ассоциация криптологических исследований . 2016 г.
    89. ^
    90. «Кенгуру — двенадцать слайдов, представленных на ACNS 2018» (PDF) . Команда Keccak.
    91. ^
    92. «draft-irtf-cfrg-kangarootwelve-00 — KangarooTwelve» . datatracker.ietf.org . IETF . Проверено 17 января 2020 года .
    93. ^
    94. Гвидо Бертони, Джоан Дэмен, Сет Хофферт, Микаэль Петерс, Жиль Ван Аше, Ронни Ван Кир (29 декабря 2016 г.). «Фарфалле: криптография на основе параллельных перестановок» . CS1 maint: использует параметр авторов ( ссылка )
    95. ^
    96. Гвидо Бертони, Джоан Дэмен, Сет Хофферт, Микаэль Петерс, Жиль Ван Аше, Ронни Ван Кир (12 октября 2018 г.). «Аутентифицированные схемы шифрования Kravatte-SANE и Kravatte-SANSE» . CS1 maint: использует параметр авторов ( ссылка )
    97. ^
    98. Брассар, Жиль; Хойер, Питер; Тэпп, Ален (1998). «Квантовый криптоанализ хеш-функций и функций без когтей». Аннотация . Конспект лекций по информатике. 1380 . С. 163–169. arXiv : квант-ph / 9705002 . DOI : 10.1007 / BFb0054319 . ISBN 978-3-540-64275-6 . S2CID 118940551 .
    99. ^
    100. «Анализ затрат» (PDF) . cr.yp.to .
    101. ^
    102. «Проблема столкновения» (PDF) . scottaaronson.com .
    103. ^
    104. «Бумага» (PDF) . eprint.iacr.org . 2016 г.
    105. ^
    106. «Аннотация» (PDF) . eprint.iacr.org . 2017 г.
    107. ^
    108. «NIST.gov — Отдел компьютерной безопасности — Ресурсный центр по компьютерной безопасности» . 29 декабря 2016 г.
    109. ^
    110. «Таблица измерений» . bench.cr.yp.to .
    111. ^
    112. Тао, Се; Лю, Фаньбао; Фэн, Дэнго (2013). Fast Collision Attack на MD5 (PDF) . Cryptology ePrint Archive (Технический отчет). МАКР .
    113. ^
    114. Стивенс, Марк ; Бурштейн, Эли ; Карпман, Пьер; Альбертини, Анж; Марков, Ярик. Первая коллизия для полного SHA-1 (PDF) (Технический отчет). Google Research . Краткое содержание — Блог по безопасности Google (23 февраля 2017 г.).
    115. ^ Без усечения известно полное внутреннее состояние хеш-функции, независимо от сопротивления столкновениям. Если вывод усечен, удаленная часть состояния должна быть отыскана и найдена до того, как хеш-функция может быть возобновлена, что позволит продолжить атаку.
    116. ^
    117. «Семейство функциональных губок Keccak» . Проверено 27 января, 2016 .
    118. ^
    119. «openssl / openssl- kecak1600-avx512vl.pl» . GitHub . Проверено 25 июня 2020 года .
    120. ^
    121. «openssl / openssl — keccak1600-avx2.pl» . GitHub .
    122. ^
    123. «openssl / openssl — keccak1600-x86_64.pl» . GitHub . Проверено 25 июня 2020 года .
    124. ^
    125. «openssl / openssl — keccak1600-armv8.pl» . GitHub .
    126. ^
    127. «openssl / openssl — keccak1600-ppc64.pl» . GitHub . Проверено 25 июня 2020 года .
    128. ^
    129. «openssl / openssl — kccak1600-mmx.pl» . GitHub . Проверено 25 июня 2020 года .
    130. ^
    131. «llvm / llvm-project — AArch64.td» . GitHub . Проверено 24 июня 2020 года .
    132. ^
    133. «ARMv8 — ARM — WikiChip» . en.wikichip.org . Проверено 24 июня 2020 года .
    134. ^
    135. «weidai11 / cryptopp» . GitHub . Проверено 25 июня 2020 года .
    136. ^
    137. «openssl / openssl» . GitHub . Проверено 25 июня 2020 года .
    138. ^
    139. «openssl / openssl» . GitHub .
    140. ^
    141. «Apple / llvm-project — lib / Target / AArch64 / AArch64SVEInstrInfo.td» . GitHub . Проверено 25 июня 2020 года .

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

    • Веб-сайт Keccak

    Обзор и тестирование процессора AMD A6-7480

    Обзор и тестирование процессора AMD A6-7480

    Процессор A6-7480 является процессором фирмы АМD шестого поколения на уже устаревшем сокете FM2+. Начались продажи данного процесора в 2015 году. Обладает простеньким графическим ядром Radeon R5. В данной статье мы сравним процессор A6-7480 с его «старшим братом» — процессором седьмого поколения A8-9600.

    Внешний вид

    Верхняя сторона процессора представляет собой плоскую поверхность с технической информацией, на процессоре так же присутствует маркер «треугольник» для фиксации правильной установки в гнездо для процессора на материнской плате по принципу «треугольник к треугольнику»-на гнезде для процессора так же нарисован треугольник. Подставляем треугольник к треугольнику для правильной установки процессора.

    Нижняя сторона процессора представляет собой контактный интерфейс выполненный в виде множества тонких и хрупких ножек. По информации от производителя — часть ножек может быть потеряна\сломана, так как некоторые ножки выполняют резервную функцию по дублированию других ножек. Но это не повод отламывать ножки у процессора =). Просто стоит поблагодарить AMD за ввод запасных ножек.

    Установка процессора

    Устанавливаем процессор в гнездо на материнской плате так, что бы уголки совпадали как на фотографии

    Фиксируем ножки процессора в гнезде передидвинув металлический «рычаг».

    Характеристики

    Характеристики процессора были получены с помощью бесплатной программе CPU-Z версии 2.44.0

    Характеристики процессора были получены с помощью бесплатной программе CPU-Z версии 2.44.0

    Тестирование в CPU-Z

    Тестирование проводилось в бесплатной программе CPU-Z версии 2.44.0

    Для сравнения тест так же был проведён на AMD А8-9600:

    Данные результаты вы можете сравнить со своим процессором, скачав бесплатную версию программы CPU-Z, только нужно учесть что разные версии программы дают разный результат.

    Тестирование в Geekbench 5

    Общий результат на AMD A6-7480:

    Результат одноядерного тестирования на AMD A6-7480:

    Результат многоядерного тестирования на AMD A6-7480:

    Для сравнения посмотрим общий результат на AMD A8-9600:

    Результат одноядерного тестирования на AMD A8-9600:

    Результат многоядерного тестирования на AMD A8-9600:

    Данные результаты вы можете сравнить со своим процессором, скачав пробную версию программы Geekbench 5, только нужно учесть что разные версии программы дают разный результат.

    Тестирование в AIDA64

    Для тестирование использовалась пробная версия AIDA64 Extreme версии 6.33.5700:

    Тест «CPUQueen» дал следующие результаты на процессоре AMD A6-7480:

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

    Тест «CPU PhotoWorkxx» дал следующие результаты на процессоре AMD A6-7480:

    Этот целочисленный тест тестирует производительность центрального процессора в разных алгоритмах редактирования двухмерных фотографий. Тест состоит из следующих задач:

    1) изображения заполняются пикселями случайной расцветки;
    2) изображения поворачиваются на 90 градусов против часовой стрелки;
    3) изображения поворачиваются на 180 градусов;
    4) изображения дифференцируется-разделяется на разные элементы;
    5) В изображениях меняются местами цвета

    Тест «CPU ZLib» дал следующие результаты на процессоре AMD A6-7480:

    Этот целочисленный тест оценивает комбинированную производительность центрального процессора и подсистемы памяти при помощи свободной библиотеки для сжатия данных ZLib

    Тест «CPU AES» дал следующие результаты на процессоре AMD A6-7480:

    Этот целочисленный тест оценивает производительность центрального процессора при выполнении шифрования по криптоалгоритму AES

    Тест «CPU SHA3» дал следующие результаты на процессоре AMD A6-7480:

    Этот целочисленный тест оценивает производительность центрального процессора при выполнении шифрования по криптоалгоритму SHA3

    Сравнивать будем эти результаты с процессором AMD A8-9600.

    Тест «CPUQueen» дал следующие результаты на процессоре AMD A8-9600:

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

    Тест «CPU PhotoWorkxx» дал следующие результаты на процессоре AMD A8-9600:

    Этот целочисленный тест тестирует производительность центрального процессора в разных алгоритмах редактирования двухмерных фотографий. Тест состоит из следующих задач:

    1) изображения заполняются пикселями случайной расцветки;
    2) изображения поворачиваются на 90 градусов против часовой стрелки;
    3) изображения поворачиваются на 180 градусов;
    4) изображения дифференцируется-разделяется на разные элементы;
    5) В изображениях меняются местами цвета

    Тест «CPU ZLib» дал следующие результаты на процессоре AMD A8-9600:

    Этот целочисленный тест оценивает комбинированную производительность центрального процессора и подсистемы памяти при помощи свободной библиотеки для сжатия данных ZLib

    Тест «CPU AES» дал следующие результаты на процессоре AMD A8-9600:

    Этот целочисленный тест оценивает производительность центрального процессора при выполнении шифрования по криптоалгоритму AES

    Тест «CPU SHA3» дал следующие результаты на процессоре AMD A8-9600:

    Этот целочисленный тест оценивает производительность центрального процессора при выполнении шифрования по криптоалгоритму SHA3

    Данные результаты вы можете сравнить со своим процессором, скачав пробную версию программы AIDA64 Extreme версии 6.33.5700, только нужно учесть что разные версии программы дают разный результат.

    Тестирование в программе 7-zip

    Для тестирование использовалась бесплатная программа 7-Zip версии 21.07

    Результаты для процессора AMD A6-7480 получились следующие:

    Для сравнения, результаты для процессора AMD A8-9600 получились следующие:

    Данные результаты вы можете сравнить со своим процессором, скачав бесплатную версию программы 7-zip версии 21.07, только нужно учесть что разные версии программы дают разный результат.

    Тестирование в программе Winrar64

    Для тестирования использовальзовалась пробная версия Winrar64 версии 6.10:

    Результаты для процессора AMD A6-7480 получились следующие:

    Для сравнения, результаты для процессора AMD A8-9600 получились следующие:

    Данные результаты вы можете сравнить со своим процессором, скачав пробную версию программы Winrar64 версии 6.10, только нужно учесть что разные версии программы дают разный результат.

    Вывод

    Данный процессор отлично подойдёт для офисных работ и интернет сёрфинга. Для игр до 2005 года при хорошей внешней видеокарты тоже принципи подойдёт. Отличный подарок детям в качестве комплектующего в компьютере «для учёбы». =)

    Минусы:

    1) Сокет FM2+. Сложно найти материнскую плату на данный процессор в 2022 году, но всё ещё продаются.

    2) 2 ядра и 2 потока. Производительность данного процессора ниже среднего. Но для офиса и интернет сёрфинга подходит. Для игр уже нет) разве что для очень старых. С другой стороны отлично подходит детям для учебного компьютера =)

    3) Хрупкие ножки. У процессора снизу установленны ножки для подключения к материнской плате. Очень хрупкие и нежные =) Стоит очень аккуратно обращаться. Процессор любит прилипать к радиатору и при демонтаже радиатора может отораваться вместе с радиатором из гнезда, несмотря на зажим. Стоит очень аккуратно снимать радиатор.

    4) Температура в простое. Несмотря на заявленное тепловыделение 65 Вт. В простое выдёт 50 градусов с боксовым кулером, что довольно странно..

    5) Отсувствие поддержки оперативной памяти с поддержкой коррекции ошибок ЕСС. Мелочь вроде, а неприятно.

    Плюсы:

    1) Поддержка DDR3 оперативной памяти с частотой до 1600 МГц. В некоторых случаях можно выехать за счёт объёма оперативной памяти.

    2) Тепловыделение 65 Вт. Низкое энергопотребление и низкое тепловыделение позволяет работать данному процессору комфортно даже с боксовым дешевым кулером.

    3) Встроенное графическое ядро Radeon R5. Ядро не собирает звёзд с неба но лучше чем ничего=). Производительность графического ядра связана с объёмом оперативной памяти (использует до 50% общего установленного объёма оперативной памяти в материнской платы). Так же производительность графического ядра связана с частотой работы оперативной памяти по принципу «чем выше частота оперативной памяти установленной в материнскую плату-тем выше производительность графического ядра».

    4) Поддержка PCI-E версии 3-0, с 8 линиями PCI-Express. Позволяет использовать данный процессор для майнига на одной RTX видеокарте LHR 1.0. Достаточно дешевый вариант для своей мини фермы эфириума.

    5) Низкая цена. На момент покупки цена была 2500. Хорошая цена за процессор с встроенным графическим ядром.

    6) Множитель разблокирован-что в совокупности с тепловыделением 65 Вт открывает новые горизонты на пути к разгону. Впрочем разгоняться особо некуда)

    7) Максимальный объём оперативной памяти. Максимум можно установить 64 гб в материнскую плату. Причём оперативная память должна быть распределенна равномерно. Если у вас два слота памяти в материнской плате, то вы не можете установить в один разъём 64 гб а во второй ничего. Придётся ставить по 32 гб в каждый из двух разъёмов.

    8) Гарантия 12 месяцев. Стандартная гарантия на ОЕМ процессоры.

    9) Работа «из коробки». Не требуется обновление BIOS для вашей материнской платы.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *