{"id":100856,"date":"2021-07-26T22:22:38","date_gmt":"2021-07-26T20:22:38","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-etalonnoj-realizaczii-kriptograficheskoj-hesh-funkczii-blake3-1-0"},"modified":"2021-07-26T22:22:38","modified_gmt":"2021-07-26T20:22:38","slug":"vypusk-etalonnoj-realizaczii-kriptograficheskoj-hesh-funkczii-blake3-1-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/vypusk-etalonnoj-realizaczii-kriptograficheskoj-hesh-funkczii-blake3-1-0","title":{"rendered":"Release of the reference implementation of the cryptographic hash function BLAKE3 1.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>The release of the reference implementation of the cryptographic hash function BLAKE3 1.0 has taken place, noted for its very high hashing performance while ensuring reliability at the SHA-3 level. In the hash generation test for a 16 KB file, BLAKE3 with a 256-bit key outperforms SHA3-256 by 17 times, SHA-256 by 14 times, SHA-512 by 9 times, SHA-1 by 6 times, and BLAKE2b by 5 times. A significant lead is maintained even when processing very large volumes of data; for instance, BLAKE3 was found to be 8 times faster than SHA-256 when calculating the hash for 1GB of random data. The reference implementation code for BLAKE3 is available in C and Rust under a dual license \u2014 public domain (CC0) and Apache 2.0.      <center><img decoding=\"async\" alt=\"Release of the reference implementation of the cryptographic hash function BLAKE3 1.0\" src=\"\/wp-content\/uploads\/2021\/07\/1fcd18de882eafe2ddc0858bb41856d0.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>          <\/p>\n<p>The hash function is intended for applications such as file integrity verification, message authentication, and generating data for cryptographic digital signatures. BLAKE3 is not designed for password hashing, as it is aimed at maximum hash computation speed (for passwords, it is recommended to use slower hash functions like yescrypt, bcrypt, scrypt, or Argon2). This hash function is insensitive to the size of the data being hashed and is protected against collision attacks and preimage attacks.       <\/p>\n<p>The algorithm was developed by renowned cryptography specialists (Jack O\u2019Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O\u2019Hearn) and continues the development of the BLAKE2 algorithm, applying the Bao mechanism for block chain tree encoding. Unlike BLAKE2 (BLAKE2b, BLAKE2s), BLAKE3 offers a unified algorithm for all platforms, independent of bitness and hash size.     <\/p>\n<p>Performance improvements have been achieved by reducing the number of rounds from 10 to 7 and hashing blocks in pieces of 1 KB. According to the creators, they found a convincing mathematical proof that 7 rounds are sufficient instead of 10 while maintaining the same level of reliability (for illustration, one might consider mixing fruits in a blender \u2014 after 7 seconds the fruits are fully blended, and the additional 3 seconds won\u2019t affect the consistency of the mixture). However, some researchers express skepticism, believing that even if 7 rounds are currently adequate to withstand all known hash attacks, the additional 3 rounds could prove beneficial in the event of new attacks arising in the future.     <\/p>\n<p>In BLAKE3, the data stream is divided into chunks of 1 KB, and each chunk is hashed independently. Based on the hashes of these chunks, a single large hash is created using a Merkle tree. This division allows for parallel processing of data when calculating the hash \u2014 for instance, it enables the use of 4-threaded SIMD instructions to simultaneously compute the hashes of 4 blocks. Traditional SHA-* hash functions process data sequentially.         <\/p>\n<p>Features of BLAKE3:  <\/p>\n<ul>\n<li class=\"l\"> High performance, BLAKE3 is significantly faster than MD5, SHA-1, SHA-2, SHA-3, and BLAKE2.  <\/li>\n<li class=\"l\"> Security, including resistance to length extension attacks, which SHA-2 is vulnerable to;\n<li class=\"l\"> Variants are available in Rust optimized for using SSE2, SSE4.1, AVX2, AVX-512, and NEON instructions.    <\/li>\n<li class=\"l\"> Ensuring parallel computation across any number of threads and SIMD lanes.     <\/li>\n<li class=\"l\"> Capability for incremental updating and verified stream processing;  <\/li>\n<li class=\"l\"> Application in modes PRF, MAC, KDF, XOF, and as a standard hash;  <\/li>\n<li class=\"l\"> A single algorithm for all architectures, fast on both x86-64 systems and 32-bit ARM processors.    <\/li>\n<\/ul>\n<p>Key differences between BLAKE3 and BLAKE2:  <\/p>\n<ul>\n<li class=\"l\"> Use of a binary tree structure that enables unlimited parallelism in hash computation.  <\/li>\n<li class=\"l\"> Reduction of the number of rounds from 10 to 7.    <\/li>\n<li class=\"l\"> Three modes of operation: hashing, keyed hashing (HMAC), and key formation (KDF).    <\/li>\n<li class=\"l\"> No additional overhead when hashing with a key due to the use of the area previously occupied by the key parameters block.  <\/li>\n<li class=\"l\"> Built-in mechanism operating as an Extendable Output Function (XOF) allowing for parallelization and seeking.    <\/li>\n<\/ul>\n<p>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=55549\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 \u044d\u0442\u0430\u043b\u043e\u043d\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0445\u0435\u0448-\u0444\u0443\u043d\u043a\u0446\u0438\u0438 BLAKE3 1.0, \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043e\u0447\u0435\u043d\u044c \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0445\u0435\u0448\u0430 \u043f\u0440\u0438 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0438 \u043d\u0430\u0434\u0451\u0436\u043d\u043e\u0441\u0442\u0438 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 SHA-3. \u0412 \u0442\u0435\u0441\u0442\u0435 \u043d\u0430 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044e \u0445\u0435\u0448\u0430 \u0434\u043b\u044f \u0444\u0430\u0439\u043b\u0430, \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c 16 \u041a\u0411, BLAKE3 \u0441 256-\u0431\u0438\u0442\u043d\u044b\u043c \u043a\u043b\u044e\u0447\u043e\u043c \u043e\u043f\u0435\u0440\u0435\u0436\u0430\u0435\u0442 SHA3-256 \u0432 17 \u0440\u0430\u0437, SHA-256 &#8212; \u0432 14 \u0440\u0430\u0437, SHA-512 &#8212; \u0432 9 \u0440\u0430\u0437, SHA-1 &#8212; \u0432 6 \u0440\u0430\u0437, \u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":100857,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-100856","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 \u044d\u0442\u0430\u043b\u043e\u043d\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0445\u0435\u0448-\u0444\u0443\u043d\u043a\u0446\u0438\u0438 BLAKE3 1.0, \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043e\u0447\u0435\u043d\u044c \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0445\u0435\u0448\u0430 \u043f\u0440\u0438 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0438 \u043d\u0430\u0434\u0451\u0436\u043d\u043e\u0441\u0442\u0438 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 SHA-3.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/news\/vypusk-etalonnoj-realizaczii-kriptograficheskoj-hesh-funkczii-blake3-1-0\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a \u044d\u0442\u0430\u043b\u043e\u043d\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0445\u0435\u0448-\u0444\u0443\u043d\u043a\u0446\u0438\u0438 BLAKE3 1.0 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 \u044d\u0442\u0430\u043b\u043e\u043d\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0445\u0435\u0448-\u0444\u0443\u043d\u043a\u0446\u0438\u0438 BLAKE3 1.0, \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043e\u0447\u0435\u043d\u044c \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0445\u0435\u0448\u0430 \u043f\u0440\u0438 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0438 \u043d\u0430\u0434\u0451\u0436\u043d\u043e\u0441\u0442\u0438 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 SHA-3.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/vypusk-etalonnoj-realizaczii-kriptograficheskoj-hesh-funkczii-blake3-1-0\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2021-07-26T20:22:38+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-07-26T20:22:38+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Release of the reference implementation of the cryptographic hash function BLAKE3 1.0 | ProHoster","description":"The reference implementation of the cryptographic hash function BLAKE3 1.0 has been released, notable for its very high hash computation performance while ensuring reliability at the level of SHA-3.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/vypusk-etalonnoj-realizaczii-kriptograficheskoj-hesh-funkczii-blake3-1-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a \u044d\u0442\u0430\u043b\u043e\u043d\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0445\u0435\u0448-\u0444\u0443\u043d\u043a\u0446\u0438\u0438 BLAKE3 1.0 | ProHoster","og:description":"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 \u044d\u0442\u0430\u043b\u043e\u043d\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0445\u0435\u0448-\u0444\u0443\u043d\u043a\u0446\u0438\u0438 BLAKE3 1.0, \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043e\u0447\u0435\u043d\u044c \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0445\u0435\u0448\u0430 \u043f\u0440\u0438 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0438 \u043d\u0430\u0434\u0451\u0436\u043d\u043e\u0441\u0442\u0438 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 SHA-3.","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/vypusk-etalonnoj-realizaczii-kriptograficheskoj-hesh-funkczii-blake3-1-0","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2021-07-26T20:22:38+00:00","article:modified_time":"2021-07-26T20:22:38+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"100856","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-07-26 20:55:16","updated":"2022-10-01 07:08:25","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/100856","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=100856"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/100856\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media\/100857"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=100856"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=100856"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=100856"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}