Українська

Інструменти розробника · SHA калькулятор хешу

SHA-256 проти SHA-512: Розмір Word, раунди та чому 512 Може бути швидше

· Як працює

Опубліковано ToolAcre · Редакція журналу

шемале256 криптографія продуктивність веб-сайт

Побічні порівняння 32-bit і 64-бітні слова, 64 тюрма 80 турів, 256, 384 і 512 вихідного біта
Головна ToolAcre векторна ілюстрація

SHA-512 виробляє довший дайджест, але часто працює швидше 64-розрядне обладнання. Цей пост пояснює структурні відмінності між двома і якими SHA-384 вписується, тому ви можете вибрати на фактах.

Довгий хеш, швидше забіг? — контрінтутивне спостереження, яке починається порівняння

SHA-512 випускає більш тривалий перетравень, але часто працює швидше, ніж SHA-256 на 64-розрядні апаратні засоби. З'являється контрінтуїтивне спостереження CPU дизайн: процесор оптимізований для 64-розрядні арифметичні виконання 64-розрядні операції швидше 32-розрядні операції з однакових даних. SHA-256 працювати 32-розсилка слів, при цьому SHA-512 працювати 64-розписи Написати 64-розсилка CPU, останнє підходить для обладнання більш природно і витрачає менше часу на перетворення слів і насипання.

Це не робить SHA-512 властиво краще для кожного випадку використання. Довший перетравлювач приймає більше зберігання і пропускної здатності. Вибір між ними слід зробити на підставі вимог та платформи, не на рівні «нових» або «сирних»

32-розрядні versus 64-розрізання основних структурних відмінностей і чому він підходить для сучасних процесорів

SHA-256 робота 32-розміщені слова по всьому алгоритму. Графік повідомлення розширюється 16 32-бітні слова в 64 32-бітні слова. Кожен раунд оновлення вісім 32-bit робочих змінних. Блок повідомлення 512 bits (шемале 32-бітні слова). Вихідний 256 bits (вісім 32-бітні слова). Все арифметичне зроблено на 32-бітні значення, з переповненням при 2^32.

SHA-512 робота 64-бітні слова. Графік повідомлення розширюється 16 64-бітні слова в 80 64-бітні слова (нема 64, як в SHA-256). Кожен круглий оновлення вісім 64-bit робочих змінних. Блок повідомлення 1024 bits (шемале 64-бітні слова). Вихідний 512 bits (вісім 64-бітні слова). Все арифметичне зроблено на 64-бітні значення, з переповненням при 2^64.

64 тури вершків 80, 512-розрядні versus 1024-розрядні блоки — які зміни за блок і за байт

SHA-256 ходьба 64 турів на блок; SHA-512 ходьба 80 турів на блок. Це означає SHA-512 більше перемішування за блок. На перший погляд, це звуки сповільнюють. Але більший розмір слова і розмір блоку SHA-512 обробляє більше біт на круглий. Для 1-megabyte файл, SHA-256 процеси 1048576 / 512 = 2048 блоки, кожен з 64 круглі, для всього 131072 турів. SHA-512 процеси 1048576 / 1024 = 1024 блоки, кожен з 80 круглі, для всього 81920 турів. SHA-512 не менше раундів, але, хоча це робить більше раундів на блок.

Відмінність в часі настінного годинника залежить від CPU«Оптимізація для розміру слів. А.А CPU з 64-розсилка ALU (архівно-логічний блок) буде виконувати 64-розраховані операції. Якщо ж CPU мусити розбити 32-розсилка SHA-256 операції в декілька мікрооперацій або запускати їх на менший блок виконання, вартість роботи вище. Оптимізація сучасних процесорів 64-розрядні операції, виготовлення SHA-512 часто швидше, незважаючи на додаткові раунди за блок.

Розмір блоку та округу пояснюють роботу за допомогою байтів; фактичний пропускний стан потребує еталон платформи

Блок арифметический пояснює, чому більш тривалий вихід не потребує більше роботи за допомогою байтів. SHA-256 виконує шістдесяти заборів для кожного 512-блок, при цьому SHA-512 виконує вісімдесяти раундів для кожного 1,024-блоки. Другий дизайн виконує більше раундів на кожному блокі, але споживає двічі більше вводу, коли він обробляє один.

Що таке порівняння структур не прогнозує конкретний еталон браузера. Веб- Crypto може використовувати рідні інструкції, бібліотеки операційної системи або інші оптимізовані коди, а довжина входу змінюється частка, що витрачається на налаштування. Заміряє фактичне цільове середовище при пов'язанні з ними; репозиторій підтримує тільки якісне претензію, що ширше слів може бути придатним 64-розрядні апаратні засоби.

Випадкові довжини впливають на представництва та захисні властивості без оцінки неджерелаючої атаки

SHA-384 не окремий алгоритм SHA-512 з двома змінами: початкові константи хешу різні, і вихід на нього обрізається 384 bits (48 bytes) замість повного 512 bits. Ця транзакція має перевагу проти нападів тривалості дії: атакуючий не може продовжити перетравлення, застосувавши дані до оригінального повідомлення, оскільки повне 512- невідомий стан (тільки 384 bits з нього були розкриті.

SHA-256 вразлива до тривалих атак: якщо ви знаєте, що перетравлення повідомлення і ви знаєте довжину повідомлення, ви можете застосувати дані до повідомлення і скласти перетравлення розширеного повідомлення без ознайомлення вмісту оригінального повідомлення. Це питання в умовах конкретної безпеки, як HMAC виконання, які використовують слабку конструкцію. SHA-384, незважаючи на те, що на основі SHA-512, не вразливий, оскільки не піддається впливу повної держави. Це робить SHA-384 корисний в контексті, де SHA-256 вважається ризикованою.

Успішний приклад — послухайте один вхід з усіма трьома і порівнюючи довжину трави на стороні

Розмір вихідного коду - це найбільш пряма відмінність. SHA-256 виробництво 32 bytes (64 символи шістнадцятого характеру; SHA-384 виробництво 48 bytes (96 символи шістнадцятого характеру; SHA-512 виробництво 64 bytes (128 символи шістнадцяти). Для зберігання URL або JSON, довший засвоюється більше місця. Для зіткнення, більш тривалий вихід робить зіткнення, які мають можливість знайти. Широкі виходи забезпечують більший простір результатів, а їх безпосередній результат продукту простий для вимірювання: більше байтів у зберіганні, URL-адреси та поля протоколу. Ця стаття не прикріплює оцінку атаки, оскільки жоден не виходить з репозиторійних доказів.

Деякі системи та стандарти вказують SHA-256 явно; інші SHA-512 або дозволити вибір. SSH відбитки пальців за замовчуванням SHA-256; контейнерні зображення трави можуть бути SHA-256 або SHA-512. Менеджери пакетів, як npm SHA-512 для цілісності субресурсів. Вибір часто проводиться для вас, але розуміння відмінностей дозволяє вибрати мудро, коли у вас є скакалка.

Що це не криється — пов'язані фігури, які залежать від CPU, компілятор і розмір вводу; пости залишатися якісним

Мистецтво ToolAcre SHA пропозиція на калькулятор SHA-256, SHA-384 і SHA-512. Затишати те ж саме ввод з усіма трьома і дотримуватися довжини виходу. Засвоюється, що всі перетрави будуть повністю відрізнятися один від одного, який очікується: алгоритми використовують різні круглі константи, різні розклади повідомлень та різні операції з змішування. Під час перетравювання, що відображає лише розмір вхідних даних, а не розмір виходу; всі три алгоритми обробляють однакові вхідні байти, ідентично вгору через відповідні круглі послідовності.

Тестування на власний апаратний апарат показує різницю продуктивності. За допомогою кожного алгоритму та часу результати. На сучасному 64-розрядні системи, SHA-512 часто завершуються менше часу на стіну, хоча кількість байтів може запропонувати іншим чином. Навігація 32-розрядні системи або вбудовані процесори, SHA-256 може бути швидше, тому що CPU, ALU оптимізовано для 32-розрядні операції.

Вигідна робота: вибір за розміром і платформою — ToolAcre SHA пропозиція на калькулятор SHA-256, SHA-384 і SHA-512 так ви можете побачити всі три на одному вводі

Криптографічна міцність відокремлена від продуктивності. Репозиторій не позначається SHA-256 як розбити і вибравши його як універсальний стандарт. Що означає, що продукт не виправдовує, що будь-який примітивний універсальний сейф; придатність все ще залежить від моделі будівництва та загрози. Перемикач від SHA-256 до SHA-512 не є підвищенням безпеки; це зберігання та виконання торгових точок. Якщо система видає SHA-256 і потрібно, щоб його використовувати. Якщо ви хочете отримати більш тривалий час, або ви знаєте, що ваша платформа є 64-розрядний, SHA-512 - це правильний вибір.

Веб-провайдер веб-крипту переходить на три crypto.subtle.digest. Ваш пристрій, версія браузера та фонове навантаження, що впливає на результат, що відповідає вимогам. Але ключова точка залишається: SHA-256 і SHA-512 не змагаються за звання «Краща функція хешу». Вони призначені для різних вимог до виходу, і вибір між ними здійснюється на основі яких ваших системних потреб, не на узагальнених вимог до виконання.