STAP hash functions


[vc_row us_bg_overlay_color=”#f5f5f5″ us_shape_show_bottom=”1″ us_shape_color_bottom=”#ffffff” css=”%7B%22default%22%3A%7B%22background-color%22%3A%22_header_middle_text%22%7D%7D”][vc_column width=”5/6″][vc_column_text css=”%7B%22default%22%3A%7B%22color%22%3A%22%23023047%22%7D%7D”]

STAP hash functions

[/vc_column_text][us_separator][/vc_column][vc_column width=”1/6″][/vc_column][/vc_row][vc_row height=”small” us_bg_overlay_color=”#ffffff”][vc_column][vc_column_text css=”%7B%22default%22%3A%7B%22color%22%3A%22%23023047%22%2C%22font-family%22%3A%22Source%20Code%20Pro%22%2C%22background-color%22%3A%22%23ffffff%22%7D%7D”]A hash function H maps an arbitrary-length string to a fixed-length hash value (often called the digest).[/vc_column_text][/vc_column][/vc_row][vc_row height=”small” color_scheme=”alternate” us_bg_overlay_color=”#ffffff” css=”%7B%22default%22%3A%7B%22background-color%22%3A%22%23ffffff%22%7D%7D”][vc_column width=”1/12″][/vc_column][vc_column us_bg_overlay_color=”#ffffff” link=”%7B%22url%22%3A%22%22%7D” width=”11/12″][vc_column_text css=”%7B%22default%22%3A%7B%22color%22%3A%22%231a1a1a%22%7D%7D”]For application purposes, a hash function should satisfy the following properties:

  • Collision resistance: It should be difficult to find a pair of distinct messages x_1 ≠ x_2 such that H(x_1) = H(x_2).
  • Pre-image resistance: Given a hash value y, it should be difficult to find any message x such that H(x) = y.
  • Second pre-image resistance: Given an input x_1, it should be infeasible to find a different input x_2 such that H(x_1) = H(x_2).

On top of that, it is desirable that hash functions behave like random oracles while being deterministic and efficiently computable.[/vc_column_text][/vc_column][/vc_row][vc_row height=”small” color_scheme=”alternate” us_bg_overlay_color=”#ffffff” css=”%7B%22default%22%3A%7B%22background-color%22%3A%22%23ffffff%22%7D%7D”][vc_column us_bg_overlay_color=”#ffffff” link=”%7B%22url%22%3A%22%22%7D”][vc_custom_heading text=”Constructions” font_container=”tag:h2|font_size:42|text_align:left|color:%23219ebc” google_fonts=”font_family:ABeeZee%3Aregular%2Citalic|font_style:400%20regular%3A400%3Anormal”][us_separator size=”small”][vc_row_inner][vc_column_inner width=”1/2″][vc_column_text css=”%7B%22default%22%3A%7B%22color%22%3A%22%23023047%22%2C%22font-size%22%3A%2230px%22%7D%7D”]

Merkle-Damgård

[/vc_column_text][vc_column_text css=”%7B%22default%22%3A%7B%22color%22%3A%22%231a1a1a%22%7D%7D”]The Merkle-Damgård construction relies on a compression function iterated as many times as there are message blocks.[/vc_column_text][us_image image=”1356″ align=”center” size=”us_600_600″ link=”%7B%22url%22%3A%22%22%7D”][us_separator size=”small”][vc_column_text css=”%7B%22default%22%3A%7B%22color%22%3A%22%231a1a1a%22%7D%7D”]The advantage of such a construction is that studying the security of the entire hash function is reduced to studying the security of the compression function.[/vc_column_text][/vc_column_inner][vc_column_inner width=”1/2″][vc_column_text css=”%7B%22default%22%3A%7B%22color%22%3A%22%23023047%22%2C%22font-size%22%3A%2230px%22%7D%7D”]

Sponge

[/vc_column_text][vc_column_text css=”%7B%22default%22%3A%7B%22color%22%3A%22%231a1a1a%22%7D%7D”]The sponge construction is parameterized by two integers: the rate r and the capacity c so that r + c is equal to the width of the permutation.

A sponge is decomposed into two phases: absorption and squeezing. During absorption, the first r bits of the state are XOR-ed to a block of the padded message so that each time a block of message is added, the permutation is applied to the full state. Then, squeezing consists of extracting blocks of messages by applying the permutation each time a block of message is produced.[/vc_column_text][us_image image=”1357″ align=”center” link=”%7B%22url%22%3A%22%22%7D”][us_separator size=”small”][vc_column_text css=”%7B%22default%22%3A%7B%22color%22%3A%22%231a1a1a%22%7D%7D”]For a well-chosen permutation, the capacity must give the security level of the hash function.[/vc_column_text][/vc_column_inner][/vc_row_inner][/vc_column][/vc_row][vc_row height=”small” color_scheme=”alternate” us_bg_overlay_color=”#f5f5f5″ css=”%7B%22default%22%3A%7B%22background-color%22%3A%22_header_middle_bg%22%7D%7D”][vc_column link=”%7B%22url%22%3A%22%22%7D” css=”%7B%22default%22%3A%7B%22background-color%22%3A%22%23f5f5f5%22%7D%7D”][vc_row_inner content_placement=”middle” css=”%7B%22default%22%3A%7B%22background-color%22%3A%22%23f5f5f5%22%2C%22border-style%22%3A%22solid%22%2C%22border-color%22%3A%22%231a1a1a%22%7D%7D”][vc_column_inner width=”1/12″][/vc_column_inner][vc_column_inner us_bg_overlay_color=”#f5f5f5″ link=”%7B%22url%22%3A%22%22%7D” css=”%7B%22default%22%3A%7B%22background-color%22%3A%22%23f5f5f5%22%2C%22border-radius%22%3A%225px%22%2C%22border-style%22%3A%22double%22%2C%22border-left-width%22%3A%2255%22%2C%22border-top-width%22%3A%2244%22%2C%22border-bottom-width%22%3A%2255%22%2C%22border-right-width%22%3A%2255%22%2C%22border-color%22%3A%22%23023047%22%2C%22box-shadow-blur%22%3A%223px%22%2C%22box-shadow-color%22%3A%22%23023047%22%7D%7D” width=”10/12″][vc_custom_heading text=”STAP Lounge” font_container=”tag:h2|font_size:42|text_align:center|color:%23219ebc” google_fonts=”font_family:ABeeZee%3Aregular%2Citalic|font_style:400%20regular%3A400%3Anormal”][vc_column_text css=”%7B%22default%22%3A%7B%22color%22%3A%22%23333333%22%7D%7D”]

The STAP Zoo currently collects information about the following list of STAP hash functions:

Anemoi
Arion
GMiMC
Grendel
Griffin
MARVELlous design (Friday)
Marvellous designs (Rescue-Prime, Rescue-Prime Optimized, Vision Mark-32, XHash8 and XHash12)
MiMC
Monolith
Poseidon variants (HadesMiMC, Neptune, Poseidon and Poseidon 2)
Reinforced Concrete
Tip5 variants (Tip5, Tip4 and Tip4′)

[/vc_column_text][us_separator][us_image image=”1742″ meta=”1″ align=”center” link=”%7B%22url%22%3A%22%22%7D” css=”%7B%22default%22%3A%7B%22color%22%3A%22_header_middle_bg%22%7D%7D”][/vc_column_inner][vc_column_inner width=”1/12″][/vc_column_inner][/vc_row_inner][/vc_column][/vc_row]

Leave a Reply

Your email address will not be published. Required fields are marked *