Разница между SHA-256 и Keccak-256
Лучше всего рассматривать SHA-256 как группу криптографических хеш-функций. Хэш-функция, также известная как дайджест или отпечаток пальца, действует как специальная подпись для текстового файла или файла данных. Из-за того, что он поддерживает только односторонние криптографические операции, его невозможно прочитать или расшифровать. Это позволяет использовать хеширование для таких приложений, как проверка файлов, цифровых подписей, защищенных сообщений и других.
Как работает SHA-256?
- Чтобы использовать SHA-256, файл или текст необходимо сначала преобразовать в двоичный файл, после чего должны быть установлены начальные значения хэша и константы округления, должно быть создано расписание сообщений, окончательные значения должны быть сжаты и, наконец, конкатенация строк. должны быть закончены, чтобы объединить все биты.
- Один из самых безопасных и наиболее часто используемых алгоритмов хеширования — SHA-256. Его можно использовать для необратимого скремблирования и изменения данных, что гарантирует, что ввод не может быть выведен из вывода алгоритма SHA-256, длина которого составляет 256 бит.
SHA-256 по-прежнему используется?
- Сегодняшнее использование SHA-256 по-прежнему полезно и включает блокчейн, криптовалюты, сертификаты Secure Sockets Layer (SSL) и многое другое.
- SHA-256 используется в приложениях блокчейна и криптовалюты для майнинга, доказательства работы и создания адресов криптовалюты. Майнер должен пройти через процесс, чтобы генерировать хеш-значения для вновь созданных блоков, и этот процесс включает SHA-256. Аналогично, открытый ключ, необходимый для создания новых биткойн-адресов, должен соответствовать SHA-256.
- Своего рода технология безопасности, называемая сертификатом SSL, используется для создания зашифрованного соединения между клиентом и сервером. Благодаря этому веб-сайты и веб-сервисы могут безопасно обмениваться данными. Некоторые криптографические компоненты сертификации SSL используют SHA-256, текущий отраслевой стандарт.
Кекчак-256
Keccak-256, криптографическая функция, является частью Solidity (семейство SHA-3). Эта функция вычисляет хэш входных данных для выходных данных фиксированной длины, получая единственный 32-байтовый хэш из любого количества входных данных. Эта криптографическая хэш-функция может использоваться только в одном направлении и не может быть обращена вспять.
Как работает Keccak-256?
В качестве входных данных введите строку, например «Намасте Дуния», затем отправьте ее с помощью хеш-функции с помощью keccak256. Это приведет к:
Namaste Duniya -> keccak-256(hashing function) -> 8a0fe4fd16bb35fbecde2e774008fb7f92a8568a680f3fa93d0948bcfbf68dc3
Строка «Намасте Дуния» — это не то же самое, что «Намасте Дуния». Если мы смешаем «намасте дуния», то получим совершенно другой результат.
namaste duniya -> keccak-256(hashing function) -> 544ff8f09d34fdfbfa5a8dcb9d7d57deb6c862026cb8b655cfd7bf9c192e4d21
Даже малейшее изменение или модификация строки оказывает существенное влияние на дайджест хэша. Независимо от того, сколько входных данных предоставлено, результат всегда будет одним и тем же.
Каковы варианты использования Keccak-256?
Вот несколько вариантов его использования:
- Ethereum использует Keccak-256 в механизме консенсуса под названием Ethash.
- Криптографическая подпись небольшого размера (путем подписи хэша вместо ввода большего размера).
- Для извлечения детерминированного уникального идентификатора из набора данных.
SHA-256 против Кеккак-256
Ниже приведены некоторые различия между SHA-256 и Keccak-256.
S № | ША-256 | Кекчак-256 |
---|---|---|
1. | SHA-256 — это реализация стандарта SHA-2 с 256-битным ключом. | Keccak256, криптографическая функция, является частью Solidity (семейство SHA-3). |
2. | SHA-256 слабее, чем Keccak-256. | Keccak-256 намного сильнее по сравнению с SHA-256. |
3. | Вычисляет хеш SHA-256 ввода. | Вычисляет входной хэш Keccak-256. |
4. | sha256 (байты памяти) возвращает (bytes32). | keccak256(байт памяти) возвращает (bytes32). |
5. | Биткойн-блокчейн широко использует SHA-256, в том числе при идентификации хэшей транзакций и когда майнеры выполняют майнинг с доказательством работы. | Ethereum использует Keccak-256 в механизме консенсуса под названием Ethash. |