Серия криптографии: функция губки

Java задняя часть алгоритм Безопасность
Серия криптографии: функция губки

Введение

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

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

В этой статье объясняется структура функции губки.

Структура функции губки

Давайте сначала посмотрим на структуру функции губки:

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

P представляет входную строку, а Z представляет выходную строку.

Губчатая функция состоит из трех частей, а именно состояния, функции f и функции заполнения.

состояние - это часть r+c на приведенном выше рисунке, а r называетсяBitrate, с называетсяCapacity.

P делится на n частей, и каждая часть будет XOR с битрейтом.Если длина P не является целым числом, кратным битрейту, его необходимо заполнить с помощью функции Pad.

В каждом раунде результат операции XOR между битрейтом и P используется как последний битрейт, а затем генерируется новое состояние, а затем это состояние заменяется на f (состояние).

где функция f является отображением от n {0,1} до n {0,1}.

Это продолжается раунд за раундом, пока все P не примут участие в операции.

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

Применение функции губки

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

Заменяя f и несколько раундов перестановки, функция губки может генерировать очень безопасные криптографические алгоритмы, поэтому она широко используется.

Эта статья была включена вwoohoo. Флойд press.com/36-sponge-send…

Самая популярная интерпретация, самая глубокая галантерея, самые краткие уроки и множество трюков, о которых вы не знаете, ждут вас!

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