A cryptographic hash algorithm is a function which takes a variable size input and produces a fixed size output. The algorithm makes it difficult to predict the output for a given input, find two inputs with the same output, or reconstruct the input from the output.

learn more… | top users | synonyms (1)

4
votes
1answer
155 views

Understanding hash entropy

I have been told that one advantage of using a hash function is that it spreads entropy over all input bits. But it also seems to be true that a bad hash algorithm can make things less random. But how ...
1
vote
0answers
68 views

Accelerated hashing on consumer-grade CPU?

Question is a follow-up to this one. The question was about accelerating SHA1. I am writing an application, where I do have a choice of hash algorithm, as long as it's a strong one. I want to be able ...
2
votes
1answer
73 views

Simplified Key Wrapping to Achieve Only Confidentiality?

I'm looking for help in understanding why the algorithm described here would not deliver adequate protection of confidentiality. We don't care about other criteria such as authenticity or integrity. ...
0
votes
2answers
63 views

reverse an identicon to its source string

Identicons are used to create unique images based on IP address or strings. Lots of programs are available to generate identicons based on an input string. My ...
0
votes
0answers
47 views

Tiger Tree Hash vs generic Merkle Tree

Is there any advantage of using Tiger Tree Hash over any other hash function organized as the Merkle tree? Are there maybe any properties of TIGER that, say, SHA2 or BLAKE in Merkle tree do not have? ...
6
votes
1answer
130 views

Can Skein be used as a secure MAC in format H(k || m)?

Can Skein be used as a secure MAC in format H(k || m)? I understand it can work with HMAC, but it is fine as a one-pass MAC in the format above and resists length extension attacks. Is this ...
1
vote
1answer
77 views

Timestamping using a hashed linked list and public known events

Let's say we have a timestamping scheme of the following characteristics, The hashes of the documents we are trying to timestamp are XOR'ed with "events" whose time of occurrence are very publicly ...
1
vote
1answer
91 views

What's the entropy of the output for Tiger Encryption?

I'm tasked to apply tiger encryption to my string(key). Does anyone have any idea how to find the entropy of the hex output by tiger encryption?
1
vote
0answers
95 views

Generalize the Merkle-Damgard construction for any compression function

I am trying to figure out this question: Generalize the Merkle-Damgard construction for any compression func­tion that compresses by at least one bit . You should refer to a general input length ...
3
votes
0answers
85 views

Will hashing over and over eventually give the same hash?

There are many cases in maths where doing the same thing over and over again will bring you closer to a value. Derivation of polynomials is the striking example: no matter what you start with, you end ...
1
vote
1answer
119 views

Should HMAC or NMAC or plain Keccak be used for a secure MAC?

After some digging around in the HMAC spec I found this (paraphrased): Step 1: If the length of Key equals the block size of the hash function (512 bits/64 Bytes for SHA-256), set the key equal ...
0
votes
0answers
28 views

What can I change in Lane to

What can I change in Lane to increase memory (and compute) consumption. My first idea would be to change n, but with Lane hash function is there a way I can up the n to a level higher than 512. If I ...
3
votes
0answers
66 views

HMAC definition by using only one key

Suppose $H$ is a hash function; why is $H(k||H(k||m))$ not secure? See this HMAC definition. In there, indeed two keys are used and the mac algorithm is $H(k_1 ||H(k_2 ||m))$ . Why don't we use ...
1
vote
1answer
163 views

Are the MD5 constants an S-Box?

I noticed that several hash algorithms, in this case MD5, defines some constants. MD5 defines 64 constant values (the shift count per round) which also gets expand (via sine) to a summand for a ...
1
vote
0answers
81 views

Cryptography Implementation in software

I am trying to implement a password manager in C and I had a question about the proper steps in implementing the crypto. I looked at some implementations, google talks on crypto and what the standards ...
1
vote
1answer
108 views

XORing a header with SHA512-hash - secure?

I am writing a application that encrypts text several times and stores the result. The result looks like complete random bytes, therefore I add some random bytes at the end. To let the program know ...
4
votes
1answer
120 views

Is there a reason that the N value in scrypt is limited to powers of two?

I have been looking at the scrypt hashing algorithm and am confused as to why the N value, which determines the overall cost, is limited to powers of two. There are ...
6
votes
1answer
235 views

Security of KDF1 and KDF2 (hash based KDF's)

It's still common to come across implementations of KDF1 and KDF2. Basically these are KDF's that simply derive multiple keys from the key seed and a counter: $K_i = KDF(K_{master}, i) = H(K_{master} ...
2
votes
1answer
120 views

Constants Differ in SHA1 implementation

I am trying to understand why the constants differ in this SHA1 implementation: https://code.google.com/p/crypto-js/source/browse/tags/3.1.2/src/sha1.js ...
0
votes
1answer
63 views

Composing hashes and/or MACs

Suppose I have n hash/MAC functions, of which n-1 are extremely insecure, leaving only one that is in fact cryptographically secure. If I use all of them on a message and the XOR them together the ...
14
votes
2answers
751 views

Are AES-256's related-key weaknesses exploitable if it is used to build a hash?

Assume it is made a hash based on AES-256 encryption (perhaps because this is hardware-accelerated, but no standard hash is); and it is used the Merkle–Damgård structure, that is padding of the ...
2
votes
0answers
179 views

implementing a cryptographic hash with a block cipher [duplicate]

How can a cryptographic hash function be implemented/created using the block cipher? I was wondering if we can use AES in cipher block chaining mode to implement it.
1
vote
0answers
71 views

Is this a correct understanding of Universal Hash Functions?

I'm studying universal hash functions and have been reading several papers but now i'm focusing on Wegman and Carters original paper from 1979 (Universal classes of hash functions) and the H1 class. ...
6
votes
2answers
710 views

Will repeated rounds of SHA-512 provide random numbers?

If I hash a keyword with SHA-512 and then feed the output as the key for the next round ....and keep repeating this process, will I gather a stream of random numbers?
0
votes
2answers
108 views

Convert SpookyHash to semi-secure 192bit hash [closed]

What do you think of converting SpookyHash into semi-secure 192bit hash function by this way: increase security by using 8 * 8byte = 512bit blocks instead of 8 * 12byte blocks, but remaining 8 * ...
4
votes
4answers
207 views

What is the difference between authenticating and signing a document?

Authenticating a document means to verify it is from the sender. But it seems like signing a document also verifies it’s from the sender. What exactly is the relationship or difference between ...
0
votes
1answer
115 views

Thoughts on secure hashing and the “mds” algorithm

Almost a decade ago Raymond Chen blogged [1] about the "hash reset attack" cautioning developers to record the content length in addition to the message digest. Recently I came up with a variation on ...
2
votes
1answer
850 views

HMAC-SHA1 vs HMAC-SHA256

I have three questions: Would you use HMAC-SHA1 or HMAC-SHA256 for message authentication? How much HMAC-SHA256 is slower than HMAC-SHA1? Are the security improvements of SHA256 (over SHA1) enough ...
3
votes
1answer
86 views

Key-dependent encryption in TAHOE-LAFS

TAHOE-LAFS uses a form of "key-dependent encryption", in that a private key SK is encrypted with the truncated hash of the private key: ...
1
vote
2answers
252 views

How do I create a short signature? (e.g. less than 100 bytes)

I want to put information into a QR code and have it signed so that the authenticity of the information can be verified. But QR codes have limited storage capacity and when I used e.g. gpg I get ...
0
votes
3answers
211 views

Generating a number using SHA512 that users can later verify (once I publish secret seed)

I've wrote following C# method that basically takes 3 seeds and gives you number in 0-100 range. I then use that number for variety of purposes but for this question the most important one is the ...
2
votes
1answer
170 views

Why the need to hash before signing small data?

I’ve got two questions: I’m doing the following: Data : uuid + int + nonce Signature: ECDSA(sha256(Data) ) To verify the signature: ...
0
votes
0answers
63 views

How to make a crypto-currency robust to 51% attacks?

For Example: In Bitcoin it is theoretically possible to double spend if you control > 50% of the computational power in the network. Also it is possible to apply "selfish mining" with far less than ...
1
vote
1answer
101 views

Why does Fortuna RNG use double SHA-256?

In the paper for Fortuna the authors say that you can use any good digest algorithm (obviously as long as its output is 256 bit) and then they recommend double SHA-256. Why? What's the benefit? What ...
2
votes
4answers
156 views

Construct an encryption algorithm using hash function [duplicate]

We know that Cryptographic hash function is generally a one-way function where we can't retrieve the original message. On the other hand, encryption is a two-way-function where we get the original ...
1
vote
0answers
44 views

Client puzzle using hash

When a server is under attack, it send the client the following data: Nonce - a byte array of Y length Hash - the hash digest of the puzzle solution The client has to find X such as ...
2
votes
1answer
121 views

Questions about hash functions

Let $H$ be a secure hash function (e.g. SHA256), is it possibile to find $H(M1)$ given $H(M1||M2)$ if the length of $M1$ and/or $M2$ is exact the block size of the hash (that is, 64 bytes for SHA ...
1
vote
1answer
153 views

Hash function and outputs of arbitrary length

I know that Skein can output a digest of arbitrary size, with a kind of counter mode. Blocks of the resulting digest can be computed in parallel. What about Keccak ? I know that a sponge function can ...
2
votes
1answer
120 views

Explanations for the complexity values for second preimage attack on GOST?

I've been reading the article "A (second) preimage attack on the GOST hash function" by F. Mendel et al (link) and I'm having some difficulty to grasp some of the values of complexities/probabilities ...
0
votes
1answer
44 views

Ensuring that an operation takes a relatively specific amount of time, but easily verify the result

I want an algorithm of some sort that can ensure that an operation takes a fairly specific amount of time, but proof that this operation was done can be completed relatively inexpensively. For ...
2
votes
2answers
80 views

Proving a decision was randomly made [duplicate]

Alice and Bob want to agree on a bit $0$ or $1$. Both know it would be fair to pick that at random, but there's no way they could meet to throw a dice and no third party they could trust. Are there ...
0
votes
0answers
64 views

Current standard security level for a hash function?

What is the current level of security needed for a hash function? Until not long ago this was 80 bits. What about now?
1
vote
0answers
65 views

How is HMAC(message,key) more secure than Hash(key1+message+key2)

I understand how for hash functions which are vulnerable to length extension attacks (such as SHA1 and SHA2) it is safer to use a HMAC construction. What I don't understand is, how or why is ...
0
votes
1answer
87 views

Hash Function to get same value for different messages [duplicate]

I am studying a function where I found the some hash properties. Hash functions: Given a code c is computationally infeasible to find m such that ...
1
vote
1answer
85 views

how to use salt to sign a message and how is it effective? [duplicate]

I've had an assignment to sign a file using hash and salt, so I read about salt and I got why it's important when it comes to password, but not to sign messages. How do I sign something using salt? ...
1
vote
1answer
48 views

What is the idea behind hashing the QueryString in OAuth?

In OAuth 1.0a and 2.0 using MAC Authorization, I need to generate a hash of all the QueryString Parameters, which requires normalization (alphabetical ordering) of them. I'm trying to understand what ...
0
votes
2answers
175 views

Should an AES byte key generated with OpenSSL be converted to hex?

I am generating a key & iv with Ruby's OpenSSL wrapper for an AES CBC 256 setup: ...
1
vote
1answer
101 views

Why concatenate the key a second time in HMAC? [duplicate]

On Wikipedia it is said that HMAC is basically (without taking into account padding): $H(key\ \Vert\ H(key\ \Vert\ message))$ where $\Vert$ denotes concatenation. I understand the need to hash ...
4
votes
1answer
151 views

Entropy when iterating cryptographic hash functions

Consider a cryptographic hash function that maps $n$-bit strings to $n$-bit strings: $$ \DeclareMathOperator{\H}{H} \DeclareMathOperator{\SHA}{SHA-256} \H(x) : \left\{0,1\right\}^{n} \mapsto ...
0
votes
0answers
63 views

Problem implementing MixBytes functionality in Groestl

Disclaimer: School work. I am trying to implement Groestl through Java, and have got stuck on the MixBytes section which can be found here section 3.4.5 page 11. As per the description of matrix ...