Автодосматривающие, Бюрократы, Патрулирующие, Администраторы интерфейса, Project members, Управляющие подписками push-уведомлений, Выверяющие, Скрывающие, Администраторы, Редакторы виджетов
5804
правки
[непроверенная версия] | [досмотренная версия] |
Нет описания правки |
Нет описания правки |
||
Строка 1: | Строка 1: | ||
{{#seo: | {{#seo: | ||
|title= Хеш- | |title= Хеш-функция — материал из Decimal Wiki | ||
|titlemode= append | |titlemode= append | ||
|keywords= Хеш-функция | |keywords= Хеш-функция | ||
|description= Хеш-функция | |description= Хеш-функция: как работают криптографические хеш-функции | ||
}} | }} | ||
[[File:Wiki-images.jpg|700px|thumb|right]] | [[File:Wiki-images.jpg|700px|thumb|right]] | ||
'''Хеш-функция''' | '''Хеш-фу́нкция''' или '''хэш-функция''' (англ. ''hash function'' от ''to hash'' — «превращать в фарш, мешанину») — математическое преобразование информации в короткую строку определённой длины. | ||
Логика этого процесса такова: '''вы вводите что-то длинное, а на выходе получается что-то короткое, олицетворяющее то длинное.''' | Логика этого процесса такова: '''вы вводите что-то длинное, а на выходе получается что-то короткое, олицетворяющее то длинное.''' | ||
Строка 12: | Строка 12: | ||
В случае криптографических хеш-функций '''ввод''' не обязательно является длинным. Это может быть что-то очень короткое, например, слово «бит», или очень длинное, например, весь текст [[Yellow Paper]] [[DecimalChain]], и на выходе вы получите уникальную строку установленной длины. | В случае криптографических хеш-функций '''ввод''' не обязательно является длинным. Это может быть что-то очень короткое, например, слово «бит», или очень длинное, например, весь текст [[Yellow Paper]] [[DecimalChain]], и на выходе вы получите уникальную строку установленной длины. | ||
Кроме того, '''в отличие от простых «сокращателей»''' | Кроме того, '''в отличие от простых «сокращателей» ссылок''', хеш-функции в [[криптовалюта]]х действуют только в одном направлении. Несмотря на то что одни и те же данные всегда дадут один и тот же хеш, воспроизвести изначальную информацию по полученному из них хешу невозможно. | ||
'''Понятие | '''Понятие «хеширование»''' означает однозначное и точно известное вычисление набора символов фиксированной длины на основе входных данных произвольной длины. При этом изменение хотя бы одного символа в исходных данных гарантирует, что и полученная фиксированная строка будет иной. Можно сказать, что хеширование — это «снятие отпечатка» с большого набора данных. | ||
Анализ при помощи хеш-функций часто используют для контроля целостности важных файлов операционной системы, программ и данных. Контроль может производиться как по необходимости, так и на регулярной основе. | Анализ при помощи хеш-функций часто используют для контроля целостности важных файлов операционной системы, программ и данных. Контроль может производиться как по необходимости, так и на регулярной основе. | ||
Строка 20: | Строка 20: | ||
Вначале определяют, целостность каких файлов нужно контролировать. Для каждого файла производятся вычисления значения его хеша по специальному алгоритму с сохранением результата. Через необходимое время делают аналогичный расчёт и сравнивают результаты. Если значения отличаются, значит, информация содержащаяся в файле была изменена. | Вначале определяют, целостность каких файлов нужно контролировать. Для каждого файла производятся вычисления значения его хеша по специальному алгоритму с сохранением результата. Через необходимое время делают аналогичный расчёт и сравнивают результаты. Если значения отличаются, значит, информация содержащаяся в файле была изменена. | ||
'''Давайте рассмотрим пример''': вы скачали большой файл (положим, zip-архив) и желаете убедиться, что в нём нет ошибок. Вы можете узнать | {{комментарий|'''Давайте рассмотрим пример''': вы скачали большой файл (положим, zip-архив) и желаете убедиться, что в нём нет ошибок. Вы можете узнать хеш-сумму (тот самый отпечаток) этого файла и сверить его с опубликованным на сайте. Если строки хеш-сумм различаются, то файл однозначно «битый».}} | ||
== Как работают криптографические хеш-функции == | == Как работают криптографические хеш-функции == | ||
Существуют разные виды криптографических хеш-функций, и каждая из них работает по-разному. | Существуют разные виды криптографических хеш-функций, и каждая из них работает по-разному. | ||
Строка 39: | Строка 38: | ||
Представим, что хакер атакует блок 9 и пытается внести коррективы в данные. Из-за свойств хеш-функций даже небольшое изменение сильно трансформирует хеш. Это означает, что любые незначительные исправления, произведённые в блоке 9, изменят хеш, хранящийся в блоке 8, что, в свою очередь, изменит данные и хеш блока 2, а это приведёт к изменениям в блоке 1 и так далее. Цепочка будет полностью изменена, а это невозможно. | Представим, что хакер атакует блок 9 и пытается внести коррективы в данные. Из-за свойств хеш-функций даже небольшое изменение сильно трансформирует хеш. Это означает, что любые незначительные исправления, произведённые в блоке 9, изменят хеш, хранящийся в блоке 8, что, в свою очередь, изменит данные и хеш блока 2, а это приведёт к изменениям в блоке 1 и так далее. Цепочка будет полностью изменена, а это невозможно. | ||
[[Категория: | [[Категория:Терминология]] | ||
[[Категория:Криптобезопасность]] |