криптоалгоритмы
Модератор: Olej
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
криптоалгоритмы
С криптоалгоритмами пользователи зачастую не имеют прямого контакта... Но косвенно, не задумываясь над тем, работают с этим постоянно, вот это всё связанные темы:
сложность паролей в системе
генератор случайных чисел
ручное шифрование файлов
удалённый SSH
Блокчейн. Руководство для начинающих разработчиков.
...
Это ВСЁ завязано на алгоритмы криптографии
сложность паролей в системе
генератор случайных чисел
ручное шифрование файлов
удалённый SSH
Блокчейн. Руководство для начинающих разработчиков.
...
Это ВСЁ завязано на алгоритмы криптографии
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
криптоалгоритмы
Доступна криптографическая хеш-функция BLAKE3, работающая в 10 раз быстрее SHA-2
12.01.2020 09:26
12.01.2020 09:26
Опубликована финальная реализация алгоритма BLAKE3, предлагающего криптографическую хеш-функцию, рассчитанную на такие применения, как проверка целостности файлов, аутентификация сообщений и формирование данных для криптографических цифровых подписей. BLAKE3 не предназначена для хеширования паролей (для паролей рекомендуется использовать медленные хеш-функции yescrypt, bcrypt, scrypt или Argon2), так как нацелена на максимально быстрое вычисление хешей. Рассматриваемая хеш-функция нечувствительна к размеру хешируемых данных и защищена от атак по подбору коллизий и нахождению прообраза. Эталонная реализация BLAKE3 опубликована под двойной лицензией - общественное достояние (CC0) и Apache 2.0.
Ключевым отличием новой хеш-функции является очень высокая производительность вычисления хеша при сохранении надёжности на уровне SHA-3. По умолчанию размер результирующего хеша в BLAKE3 составляет 32 байта (256 бит), но он может быть расширен до произвольных значений. В тесте на генерацию хеша для файла, размером 16 КБ, BLAKE3 опережает SHA3-256 в 15 раз, SHA-256 - в 12 раз, SHA-512 - в 8 раз, SHA-1 - в 6 раз, а BLAKE2b - в 4 раза. Значительный отрыв сохраняется и при обработке очень больших объёмов данных, например, BLAKE3 оказался быстрее SHA-256 в 8 раз при вычислении хеша для 1ГБ случайных данных.
Алгоритм разработан известными специалистами по криптографии (Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn) и продолжает развитие алгоритма BLAKE2 и применяет для кодирования дерева цепочек блоков механизм Bao. В отличие от BLAKE2 (BLAKE2b, BLAKE2s), в BLAKE3 для всех платформ предложен единый алгоритм, не привязанный к разрядности и размеру хеша.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
криптоалгоритмы
Смотрю что там сейчас по распространённым дистрибутивах Linux:
Код: Выделить всё
olej@R420:~$ aptitude search blake | grep golang
p golang-github-dchest-blake2b-dev - Go implementation of BLAKE2 (b) cryptographic hash function
p golang-github-minio-blake2b-simd-dev - Fast hashing using pure Go implementation of BLAKE2b with SIMD instructions
p golang-lukechampine-blake3-dev - Pure-Go implementation of BLAKE3 cryptographic hash
Код: Выделить всё
olej@R420:~$ aptitude search blake | grep rust
v librust-blake2-rfc+bench-dev -
v librust-blake2-rfc+default-dev -
v librust-blake2-rfc+simd-asm-dev -
v librust-blake2-rfc+simd-dev -
v librust-blake2-rfc+simd-opt-dev -
v librust-blake2-rfc+std-dev -
v librust-blake2-rfc-0+bench-dev -
v librust-blake2-rfc-0+default-dev -
v librust-blake2-rfc-0+simd-asm-dev -
v librust-blake2-rfc-0+simd-dev -
v librust-blake2-rfc-0+simd-opt-dev -
v librust-blake2-rfc-0+std-dev -
v librust-blake2-rfc-0-dev -
v librust-blake2-rfc-0.2+bench-dev -
v librust-blake2-rfc-0.2+default-dev -
v librust-blake2-rfc-0.2+simd-asm-dev -
v librust-blake2-rfc-0.2+simd-dev -
v librust-blake2-rfc-0.2+simd-opt-dev -
v librust-blake2-rfc-0.2+std-dev -
v librust-blake2-rfc-0.2-dev -
v librust-blake2-rfc-0.2.18+bench-dev -
v librust-blake2-rfc-0.2.18+default-dev -
v librust-blake2-rfc-0.2.18+simd-asm-dev -
v librust-blake2-rfc-0.2.18+simd-dev -
v librust-blake2-rfc-0.2.18+simd-opt-dev -
v librust-blake2-rfc-0.2.18+std-dev -
v librust-blake2-rfc-0.2.18-dev -
p librust-blake2-rfc-dev - Pure Rust implementation of BLAKE2 based on RFC 7693 - Rust source code
v librust-blake2b-simd+default-dev -
v librust-blake2b-simd+std-dev -
v librust-blake2b-simd+uninline-portable-dev -
v librust-blake2b-simd-1+default-dev -
v librust-blake2b-simd-1+std-dev -
v librust-blake2b-simd-1+uninline-portable-dev -
v librust-blake2b-simd-1-dev -
v librust-blake2b-simd-1.0+default-dev -
v librust-blake2b-simd-1.0+std-dev -
v librust-blake2b-simd-1.0+uninline-portable-dev -
v librust-blake2b-simd-1.0-dev -
v librust-blake2b-simd-1.0.0+default-dev -
v librust-blake2b-simd-1.0.0+std-dev -
v librust-blake2b-simd-1.0.0+uninline-portable-dev -
v librust-blake2b-simd-1.0.0-dev -
p librust-blake2b-simd-dev - Pure Rust BLAKE2b implementation with dynamic SIMD - Rust source code
v librust-blake3+crypto-mac-dev -
v librust-blake3+default-dev -
v librust-blake3+digest-dev -
v librust-blake3+neon-dev -
v librust-blake3+no-avx2-dev -
v librust-blake3+no-avx512-dev -
v librust-blake3+no-neon-dev -
v librust-blake3+no-sse2-dev -
v librust-blake3+no-sse41-dev -
v librust-blake3+prefer-intrinsics-dev -
v librust-blake3+pure-dev -
v librust-blake3+rayon-dev -
v librust-blake3+std-dev -
v librust-blake3+traits-preview-dev -
v librust-blake3-1+crypto-mac-dev -
v librust-blake3-1+default-dev -
v librust-blake3-1+digest-dev -
v librust-blake3-1+neon-dev -
v librust-blake3-1+no-avx2-dev -
v librust-blake3-1+no-avx512-dev -
v librust-blake3-1+no-neon-dev -
v librust-blake3-1+no-sse2-dev -
v librust-blake3-1+no-sse41-dev -
v librust-blake3-1+prefer-intrinsics-dev -
v librust-blake3-1+pure-dev -
v librust-blake3-1+rayon-dev -
v librust-blake3-1+std-dev -
v librust-blake3-1+traits-preview-dev -
v librust-blake3-1-dev -
v librust-blake3-1.2+crypto-mac-dev -
v librust-blake3-1.2+default-dev -
v librust-blake3-1.2+digest-dev -
v librust-blake3-1.2+neon-dev -
v librust-blake3-1.2+no-avx2-dev -
v librust-blake3-1.2+no-avx512-dev -
v librust-blake3-1.2+no-neon-dev -
v librust-blake3-1.2+no-sse2-dev -
v librust-blake3-1.2+no-sse41-dev -
v librust-blake3-1.2+prefer-intrinsics-dev -
v librust-blake3-1.2+pure-dev -
v librust-blake3-1.2+rayon-dev -
v librust-blake3-1.2+std-dev -
v librust-blake3-1.2+traits-preview-dev -
v librust-blake3-1.2-dev -
v librust-blake3-1.2.0+crypto-mac-dev -
v librust-blake3-1.2.0+default-dev -
v librust-blake3-1.2.0+digest-dev -
v librust-blake3-1.2.0+neon-dev -
v librust-blake3-1.2.0+no-avx2-dev -
v librust-blake3-1.2.0+no-avx512-dev -
v librust-blake3-1.2.0+no-neon-dev -
v librust-blake3-1.2.0+no-sse2-dev -
v librust-blake3-1.2.0+no-sse41-dev -
v librust-blake3-1.2.0+prefer-intrinsics-dev -
v librust-blake3-1.2.0+pure-dev -
v librust-blake3-1.2.0+rayon-dev -
v librust-blake3-1.2.0+std-dev -
v librust-blake3-1.2.0+traits-preview-dev -
v librust-blake3-1.2.0-dev -
p librust-blake3-dev - BLAKE3 hash function - Rust source code
Код: Выделить всё
olej@R420:~$ aptitude search blake | grep rust | wc -l
104
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
криптоалгоритмы
По части Go (что меня больше всего интересует) ... вот пакет для импорта crypto в стандартной библиотеке GoLang: https://pkg.go.dev/crypto:
Код: Выделить всё
type Hash
[code]type Hash uint
Код: Выделить всё
const (
MD4 Hash = 1 + iota // import golang.org/x/crypto/md4
MD5 // import crypto/md5
SHA1 // import crypto/sha1
SHA224 // import crypto/sha256
SHA256 // import crypto/sha256
SHA384 // import crypto/sha512
SHA512 // import crypto/sha512
MD5SHA1 // no implementation; MD5+SHA1 used for TLS RSA
RIPEMD160 // import golang.org/x/crypto/ripemd160
SHA3_224 // import golang.org/x/crypto/sha3
SHA3_256 // import golang.org/x/crypto/sha3
SHA3_384 // import golang.org/x/crypto/sha3
SHA3_512 // import golang.org/x/crypto/sha3
SHA512_224 // import crypto/sha512
SHA512_256 // import crypto/sha512
BLAKE2s_256 // import golang.org/x/crypto/blake2s
BLAKE2b_256 // import golang.org/x/crypto/blake2b
BLAKE2b_384 // import golang.org/x/crypto/blake2b
BLAKE2b_512 // import golang.org/x/crypto/blake2b
)
А поиск на Golang по контексту blake3 - https://pkg.go.dev/search?q=blake3&m= - даёт в результате:
Showing 23 modules with matching packages.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей