Teslavod
Опытный user
- Регистрация
- 9 Окт 2021
- Сообщения
- 294
- Реакции
- 21
Для начало скажу что я в этом не мастер, и буду писать со своего любительского взгляда
так что строго не судите
будет очень просто что бы все поняли
Начало
хэш - все что вам нужно знать ,это преобразование любого объема информации в уникальный
набор символов ,который присущ только этому массиву
бит - единица измерение
криптография - это шифрование информации
Алгоритмы
SHA-1 - это древний алгоритм, суть которого хэш-функция, которая принимает входные данные
и выдает 160 – битное хэш-значение, cейчас все переходят на SHA-2 SHA-3 , все что вам нужно знать
они более эффективные , используется для шифрование электронной подписи ,так и не получилось не
у кого его взломать
AES - а тут более интересно ,этот алгоритм преобразует один 128-битный блок в другой, используя
секретный ключ который нужен для такого преобразования. Для расшифровки полученного
128-битного блока используют второе преобразование с тем же секретным ключом ,используется в паролях WIFI ,WINRAR
почти везде ,даже в вашем браузере
MD5 - а тут мы разберем по подробнее
Алгоритм состоит из пяти шагов:
1)Append Padding Bits
В исходную строку дописывают единичный байт 0х80, а затем дописывают нулевые биты, до тех пор, пока длина сообщения не будет сравнима с 448 по модулю 512. То есть дописываем нули до тех пор, пока длина нового сообщения не будет равна [длина] = (512*N+448),
где N — любое натуральное число, такое, что это выражение будет наиболее близко к длине блока.
2)Append Length
Далее в сообщение дописывается 64-битное представление длины исходного сообщения.
3)Initialize MD Buffer
На этом шаге инициализируется буффер
word A: 01 23 45 67
word B: 89 ab cd ef
word C: fe dc ba 98
word D: 76 54 32 10
Как можно заметить буффер состоит из четырех констант, предназначенный для сбора хэша.
4)Process Message in 16-Word Blocks
На четвертом шаге в первую очередь определяется 4 вспомогательные логические функции, которые преобразуют входные 32-битные слова, в, как ни странно, в 32-битные выходные.
F(X,Y,Z) = XY v not(X) Z
G(X,Y,Z) = XZ v Y not(Z)
H(X,Y,Z) = X xor Y xor Z
I(X,Y,Z) = Y xor (X v not(Z))
Также на этом шаге реализуется так называемый «белый шум» — усиление алгоритма, состоящее 64 элементного массива, содержащего псевдослучайные числа, зависимые от синуса числа i:
T=4,294,967,296*abs(sin(i))
Далее начинается «магия». Копируем каждый 16-битный блок в массив X[16] и производим манипуляции:
AA = A
BB = B
CC = C
DD = D
Затем происходят «чудесные» преобразования-раунды, которых всего будет 4. Каждый раунд состоит из 16 элементарных преобразований, которые в общем виде можно представить в виде [abcd k s i], которое, в свою очередь, можно представить как A = B + ((A + F(B,C,D) + X[k] + T) <<< s), где
A, B, C, D — регистры
F(B,C,D) — одна из логических функций
X[k] — k-тый элемент 16-битного блока.
T — i-тый элемент таблицы «белого шума»
<<< s — операция циклического сдвига на s позиций влево.
Приводить все раунды не имеет смысла, все их можно посмотреть тут
Ну и в конце суммируем результаты вычислений:
A = A + AA
B = B + BB
C = C + CC
D = D + DD
5) Output
Выводя побайтово буффер ABCD начиная с A и заканчивая D получим наш хэш.
Используется для шифрование паролей ,вы можете встретить этот вид шифрование в бд
можно взломать с помощью специальных программ и сайтов
На этом всё, спасибо)
так что строго не судите
будет очень просто что бы все поняли
Начало
хэш - все что вам нужно знать ,это преобразование любого объема информации в уникальный
набор символов ,который присущ только этому массиву
бит - единица измерение
криптография - это шифрование информации
Алгоритмы
SHA-1 - это древний алгоритм, суть которого хэш-функция, которая принимает входные данные
и выдает 160 – битное хэш-значение, cейчас все переходят на SHA-2 SHA-3 , все что вам нужно знать
они более эффективные , используется для шифрование электронной подписи ,так и не получилось не
у кого его взломать
AES - а тут более интересно ,этот алгоритм преобразует один 128-битный блок в другой, используя
секретный ключ который нужен для такого преобразования. Для расшифровки полученного
128-битного блока используют второе преобразование с тем же секретным ключом ,используется в паролях WIFI ,WINRAR
почти везде ,даже в вашем браузере
MD5 - а тут мы разберем по подробнее
Алгоритм состоит из пяти шагов:
1)Append Padding Bits
В исходную строку дописывают единичный байт 0х80, а затем дописывают нулевые биты, до тех пор, пока длина сообщения не будет сравнима с 448 по модулю 512. То есть дописываем нули до тех пор, пока длина нового сообщения не будет равна [длина] = (512*N+448),
где N — любое натуральное число, такое, что это выражение будет наиболее близко к длине блока.
2)Append Length
Далее в сообщение дописывается 64-битное представление длины исходного сообщения.
3)Initialize MD Buffer
На этом шаге инициализируется буффер
word A: 01 23 45 67
word B: 89 ab cd ef
word C: fe dc ba 98
word D: 76 54 32 10
Как можно заметить буффер состоит из четырех констант, предназначенный для сбора хэша.
4)Process Message in 16-Word Blocks
На четвертом шаге в первую очередь определяется 4 вспомогательные логические функции, которые преобразуют входные 32-битные слова, в, как ни странно, в 32-битные выходные.
F(X,Y,Z) = XY v not(X) Z
G(X,Y,Z) = XZ v Y not(Z)
H(X,Y,Z) = X xor Y xor Z
I(X,Y,Z) = Y xor (X v not(Z))
Также на этом шаге реализуется так называемый «белый шум» — усиление алгоритма, состоящее 64 элементного массива, содержащего псевдослучайные числа, зависимые от синуса числа i:
T=4,294,967,296*abs(sin(i))
Далее начинается «магия». Копируем каждый 16-битный блок в массив X[16] и производим манипуляции:
AA = A
BB = B
CC = C
DD = D
Затем происходят «чудесные» преобразования-раунды, которых всего будет 4. Каждый раунд состоит из 16 элементарных преобразований, которые в общем виде можно представить в виде [abcd k s i], которое, в свою очередь, можно представить как A = B + ((A + F(B,C,D) + X[k] + T) <<< s), где
A, B, C, D — регистры
F(B,C,D) — одна из логических функций
X[k] — k-тый элемент 16-битного блока.
T — i-тый элемент таблицы «белого шума»
<<< s — операция циклического сдвига на s позиций влево.
Приводить все раунды не имеет смысла, все их можно посмотреть тут
Ну и в конце суммируем результаты вычислений:
A = A + AA
B = B + BB
C = C + CC
D = D + DD
5) Output
Выводя побайтово буффер ABCD начиная с A и заканчивая D получим наш хэш.
Используется для шифрование паролей ,вы можете встретить этот вид шифрование в бд
можно взломать с помощью специальных программ и сайтов
На этом всё, спасибо)