Hash function: Difference between revisions

From Decimal Wiki
Jump to navigation Jump to search
[checked revision][checked revision]
No edit summary
No edit summary
Line 1: Line 1:
{{#seo:
{{#seo:
                     |title= Хеш-функция
                     |title= Hash function
                     |titlemode= append  
                     |titlemode= append  
                     |keywords= Хеш-функция
                     |keywords= Hash function
                     |description= Хеш-функция
                     |description= Hash function
                     }}
                     }}
<div class="mikio-article-content">
<div class="mikio-article-content">
 
<div class="mikio-tags">
<div class="mikio-tags">




</div>
</div>
<span id="xesh-funkcija"></span>
<span id="xesh-funkcija"></span>
= Хеш-функция =
= Hash function =
 
<div class="level1">
<div class="level1">
 
'''Хеш-функция''' — это математическое преобразование информации в короткую строку определённой длины. [[File:Wiki-images.jpg|1000px|class=mediacenter]]
'''Hash function''' is a mathematical transformation of information into a short string of a certain length.  
 
Логика этого процесса такова: '''вы вводите что-то длинное, а на выходе получается что-то короткое, олицетворяющее то длинное.'''
The logic of this process is as follows: '''you enter something long, and the output turns out to be something short, personifying that long.'''
 
В случае криптографических хеш-функций '''ввод''' не обязательно является длинным. Это может быть что-то очень короткое, например, слово «бит», или очень длинное, например, весь текст Yellow Paper DecimalChain, и на выходе вы получите уникальную строку установленной длины.
In the case of cryptographic hash functions, the 'input' is not necessarily long. It can be something very short, for example, the word "bit", or very long, for example, the entire text of the Yellow Paper DecimalChain, and at the output you will get a unique string of the set length.
 
Кроме того, '''в отличие от простых «сокращателей»''' ссылок, хеш-функции в критовлютах действуют только в одном направлении. Несмотря на то что одни и те же данные всегда дадут один и тот же хеш, воспроизвести изначальную информацию по полученному из них хешу невозможно.
In addition, '''unlike simple "abbreviators" of''' links, hash functions in kritovluts act only in one direction. Despite the fact that the same data will always give the same hash, it is impossible to reproduce the original information from the hash obtained from them.
 
'''Понятие «хэширование»''' означает однозначное и точно известное вычисление набора символов фиксированной длины на основе входных данных произвольной длины. При этом изменение хотя бы одного символа в исходных данных гарантирует, что и полученная фиксированная строка будет иной. Можно сказать, что хеширование — это «снятие отпечатка» с большого набора данных.
'''The concept of hashing''' means an unambiguous and precisely known calculation of a set of fixed-length characters based on input data of arbitrary length. At the same time, changing at least one character in the source data guarantees that the resulting fixed string will be different. We can say that hashing is "fingerprinting" a large set of data.
 
Анализ при помощи хеш-функций часто используют для контроля целостности важных файлов операционной системы, программ и данных. Контроль может производиться как по необходимости, так и на регулярной основе.
Hash function analysis is often used to monitor the integrity of important operating system files, programs, and data. Monitoring can be carried out both as necessary and on a regular basis.
 
Вначале определяют, целостность каких файлов нужно контролировать. Для каждого файла производятся вычисления значения его хеша по специальному алгоритму с сохранением результата. Через необходимое время делают аналогичный расчёт и сравнивают результаты. Если значения отличаются, значит, информация содержащаяся в файле была изменена.
First, they determine the integrity of which files need to be monitored. For each file, its hash value is calculated using a special algorithm with the result saved. After the necessary time, a similar calculation is made and the results are compared. If the values are different, it means that the information contained in the file has been changed.
 
'''Давайте рассмотрим пример''' : вы скачали большой файл (положим, zip-архив) и желаете убедиться, что в нём нет ошибок. Вы можете узнать «хэш-сумму» (тот самый отпечаток) этого файла и сверить его с опубликованным на сайте. Если строки хеш-сумм различаются, то файл однозначно «битый».
'''Let's look at an example''' : you downloaded a large file (let's say a zip archive) and want to make sure that there are no errors in it. You can find out the "hash amount" (the same fingerprint) of this file and compare it with the one published on the site. If the hash sum strings differ, then the file is definitely "broken".
 
 
</div>
</div>
<span id="kak_rabotajut_kriptograficheskie_xesh-funkcii"></span>
<span id="kak_rabotajut_kriptograficheskie_xesh-funkcii"></span>
= Как работают криптографические хеш-функции =
= How Cryptographic Hash Functions work =
 
<div class="level1">
<div class="level1">
 
Существуют разные виды криптографических хеш-функций, и каждая из них работает по-разному.
There are different types of cryptographic hash functions, and each of them works differently.
 
Хеш-функция SHA-256, применяемая в DecimalChain (биткоин и многих других блокчейнах), работает на основе формулы, связанной с отражением света от эллипсов. Вам не стоит слишком переживать, если вы что-то не поняли. Суть в том, что криптографические хеш-функции — это практически магия, и если вы не математик, то никогда их до конца не поймёте.
The SHA-256 hash function used in DecimalChain (bitcoin and many other blockchains) works based on a formula related to the reflection of light from ellipses. You shouldn't worry too much if you don't understand something. The bottom line is that cryptographic hash functions are practically magic, and if you are not a mathematician, you will never fully understand them.
 
 
</div>
</div>
<span id="kak_xesh-funkcii_primenjajutsja_v_decimalchain"></span>
<span id="kak_xesh-funkcii_primenjajutsja_v_decimalchain"></span>
= Как хеш-функции применяются в DecimalChain =
= How hash functions are applied in DecimalChain =
 
<div class="level1">
<div class="level1">
 
Чтобы блокчейн работал, он должен обновляться и вести актуальные записи всех транзакций и монет, имеющихся у каждого участника сети. Именно при обновлении транзакционной информации любая аутентифицирующая система уязвима для атаки. Банк сглаживает этот риск благодаря наличию строгой централизованной иерархии, гарантирующей подлинность на свой собственный риск. Блокчейну DecimalChain удаётся обновляться, оставаясь децентрализованным, так как он использует криптографическую вероятностную хеш-«игру», называемую «делегированным доказательством доли» (Delegated Proof-of-Stake).
In order for the blockchain to work, it must be updated and keep up-to-date records of all transactions and coins available to each participant of the network. It is when updating transactional information that any authenticating system is vulnerable to attack. The Bank mitigates this risk by having a strict centralized hierarchy that guarantees authenticity at its own risk. The DecimalChain blockchain manages to be updated while remaining decentralized, as it uses a cryptographic probabilistic hash "game" called "Delegated Proof-of-Stake".
 
Так обеспечивается консенсус, а также предотвращаются атаки, нацеленные на манипулирование системой. Таким образом, криптография делает блокчейны более безопасными, чем любой банк с человеческой верификацией.
This ensures consensus, and also prevents attacks aimed at manipulating the system. Thus, cryptography makes blockchains more secure than any bank with human verification.
 
 
</div>
</div>
<span id="xehsh-ukazatel"></span>
<span id="xehsh-ukazatel"></span>
= Хэш-указатель =
= Hash pointer =
 
<div class="level1">
<div class="level1">
 
Блокчейн представляет собой связанный список, содержащий данные и указатель хеширования на предыдущий блок, создавая связную цепочку.
The blockchain is a linked list containing data and a hashing pointer to the previous block, creating a connected chain.
 
'''Хэш-указатель''' похож на обычный, но, вместо того чтобы просто содержать адрес предыдущего блока, он включает в себя хеш данных, находящихся внутри предыдущего блока. Именно эта небольшая настройка делает блокчейн настолько надёжным.
The '''hash pointer''' is similar to the usual one, but instead of just containing the address of the previous block, it includes a hash of the data inside the previous block. It is this small setup that makes the blockchain so reliable.
 
Представим, что хакер атакует блок 9 и пытается внести коррективы в данные. Из-за свойств хеш-функций даже небольшое изменение сильно трансформирует хеш. Это означает, что любые незначительные исправления, произведённые в блоке 9, изменят хеш, хранящийся в блоке 8, что, в свою очередь, изменит данные и хеш блока 2, а это приведёт к изменениям в блоке 1 и так далее. Цепочка будет полностью изменена, а это невозможно.
Imagine that a hacker attacks block 9 and tries to make adjustments to the data. Because of the properties of hash functions, even a small change greatly transforms the hash. This means that any minor corrections made in block 9 will change the hash stored in block 8, which in turn will change the data and hash of block 2, and this will lead to changes in block 1 and so on. The chain will be completely changed, and this is impossible.
 




</div>
</div>
<div style="clear:both">
<div style="clear:both">




</div>
</div>
 
</div>
</div>
 
  [[Category:Commoninfo]]
  [[Category:Commoninfo]]

Revision as of 14:28, 29 June 2022


Hash function

Hash function is a mathematical transformation of information into a short string of a certain length.

The logic of this process is as follows: you enter something long, and the output turns out to be something short, personifying that long.

In the case of cryptographic hash functions, the 'input' is not necessarily long. It can be something very short, for example, the word "bit", or very long, for example, the entire text of the Yellow Paper DecimalChain, and at the output you will get a unique string of the set length.

In addition, unlike simple "abbreviators" of links, hash functions in kritovluts act only in one direction. Despite the fact that the same data will always give the same hash, it is impossible to reproduce the original information from the hash obtained from them.

The concept of hashing means an unambiguous and precisely known calculation of a set of fixed-length characters based on input data of arbitrary length. At the same time, changing at least one character in the source data guarantees that the resulting fixed string will be different. We can say that hashing is "fingerprinting" a large set of data.

Hash function analysis is often used to monitor the integrity of important operating system files, programs, and data. Monitoring can be carried out both as necessary and on a regular basis.

First, they determine the integrity of which files need to be monitored. For each file, its hash value is calculated using a special algorithm with the result saved. After the necessary time, a similar calculation is made and the results are compared. If the values are different, it means that the information contained in the file has been changed.

Let's look at an example : you downloaded a large file (let's say a zip archive) and want to make sure that there are no errors in it. You can find out the "hash amount" (the same fingerprint) of this file and compare it with the one published on the site. If the hash sum strings differ, then the file is definitely "broken".

How Cryptographic Hash Functions work

There are different types of cryptographic hash functions, and each of them works differently.

The SHA-256 hash function used in DecimalChain (bitcoin and many other blockchains) works based on a formula related to the reflection of light from ellipses. You shouldn't worry too much if you don't understand something. The bottom line is that cryptographic hash functions are practically magic, and if you are not a mathematician, you will never fully understand them.

How hash functions are applied in DecimalChain

In order for the blockchain to work, it must be updated and keep up-to-date records of all transactions and coins available to each participant of the network. It is when updating transactional information that any authenticating system is vulnerable to attack. The Bank mitigates this risk by having a strict centralized hierarchy that guarantees authenticity at its own risk. The DecimalChain blockchain manages to be updated while remaining decentralized, as it uses a cryptographic probabilistic hash "game" called "Delegated Proof-of-Stake".

This ensures consensus, and also prevents attacks aimed at manipulating the system. Thus, cryptography makes blockchains more secure than any bank with human verification.

Hash pointer

The blockchain is a linked list containing data and a hashing pointer to the previous block, creating a connected chain.

The hash pointer is similar to the usual one, but instead of just containing the address of the previous block, it includes a hash of the data inside the previous block. It is this small setup that makes the blockchain so reliable.

Imagine that a hacker attacks block 9 and tries to make adjustments to the data. Because of the properties of hash functions, even a small change greatly transforms the hash. This means that any minor corrections made in block 9 will change the hash stored in block 8, which in turn will change the data and hash of block 2, and this will lead to changes in block 1 and so on. The chain will be completely changed, and this is impossible.