209 votes
Accepted

What are the differences between .pem, .csr, .key, .crt and other such file extensions?

File extensions can be (very) loosely seen as a type system. .pem stands for PEM, Privacy Enhanced Mail; it simply indicates a base64 encoding with header and ...
107 votes
Accepted

What is the difference between a digest and a hash function?

The digest is the output of the hash function. For example, sha256 has a digest of 256 bits, i.e. its digest has a length of 32 bytes. That's it really.
Awn's user avatar
  • 1,542
75 votes

Layman's explanation of encryption backdoors

There are two somewhat orthogonal concepts in backdooring encryption algorithms: The backdoor can be explicit or implicit. An explicit backdoor is one that everybody knows it is there. An implicit ...
Thomas Pornin's user avatar
53 votes
Accepted

Can I say "I have encrypted something" if I hash something?

Encryption algorithms and hash algorithms both belong to the realm of cryptography but are two different things: Encryption doesn't contain hash functions. As stated on Wikipedia: In cryptography, ...
AleksanderCH's user avatar
  • 6,425
42 votes
Accepted

Are checksums essentially non-secure versions of cryptographic hashes?

Are checksums basically toned-down versions of cryptographic hashes? As in: they are supposed to detect errors that occur naturally/randomly as opposed to being designed to prevent a knowledgeable ...
otus's user avatar
  • 32.1k
39 votes
Accepted

What is a Pedersen commitment?

what Pedersen commitments are In a commitment scheme such as Pedersen: the committer (or sender) decides (or is given) a secret message $m$ taken in some public message space with at least two ...
fgrieu's user avatar
  • 140k
36 votes
Accepted

Is there any difference between cryptography and cryptology?

Today, indeed the the terms "Cryptography" and "Cryptology" can mostly be used interchangeably. Historically things have been more interesting though, where Cryptology was the umbrella term for ...
SEJPM's user avatar
  • 45.9k
35 votes

Boolean Circuits vs Arithmetic Circuits

Boolean circuits and arithmetic circuits are two different ways of representing a computation. The main difference is with respect to their input types and their gate types: boolean circuits work on ...
Geoffroy Couteau's user avatar
34 votes
Accepted

What do the signature security abbreviations like EUF-CMA mean?

Notation. Sets are represented using the calligraphic font and algorithms using the straight font. Throughout, $\Sigma:=(\mathsf{K},\mathsf{S},\mathsf{V})$ denotes a signature scheme on a key-space $\...
ckamath's user avatar
  • 5,188
33 votes
Accepted

What does "birational equivalence" mean in a cryptographic context?

I feel that as it was my comment, I am obliged to answer this :-). First of all, birational equivalence is really a geometric notion. As far as I know, there is no analogue for groups, rings or ...
CurveEnthusiast's user avatar
31 votes
Accepted

How are the names of cryptographic algorithms (like RSA, AES, SHA-256, Curve25519, etc.) pronounced?

However you pronounce them, the important thing is to make sure that your listeners understand you. In general, it's never wrong to pronounce acronyms letter by letter (and digit by digit), as in: ...
Ilmari Karonen's user avatar
26 votes
Accepted

What was NIST’s reason to switch naming from MD… (Message Digest) to SHA… (Secure Hashing Algorithm)?

When NIST introduced SHA-0 in 1993, they – for the first time – switched their naming convention from MD-n to SHA-n Actually, MD-n was not NIST's naming conventions; it was RSA Security's (a private ...
poncho's user avatar
  • 146k
26 votes
Accepted

What is the difference between TRNG and CSPRNG?

A True Random Number Generator uses a physical phenomenon not known to be fully deterministic as origin of the discrete values (bits or integer numbers) that it outputs. That phenomenon can for ...
fgrieu's user avatar
  • 140k
26 votes
Accepted

Why was the term "discrete" used in discrete logarithm?

The word discrete is used as an antonym of 'continuous', that is, it is the normal logarithmic problem, just over a discrete group. The standard logarithmic problem is over the infinite group $\...
poncho's user avatar
  • 146k
23 votes

Encoding vs. Compression vs. Encryption

OK, there seems to be some confusion with regards to terminology, so let's try to clean that up. I'll try and define things myself, but also provide the more formal Wikipedia definitions. Encryption. ...
SEJPM's user avatar
  • 45.9k
23 votes

What is the difference between a digest and a hash function?

The basic difference between a hash function and digest is that digest is the value obtained from a hash function. A hash function is any function that can be used to map data of arbitrary size to ...
Shanif Ansari's user avatar
22 votes

What is the difference between key size and block size (for AES)?

The key size is simply the amount of bits in the key. With AES, like most modern block ciphers, the key size directly relates to the strength of the key / algorithm. The higher the stronger. Since all ...
Maarten Bodewes's user avatar
  • 92.4k
20 votes
Accepted

What is the difference between PBE and symmetric key encryption?

As typically implemented, PBE takes a low-entropy, user-supplied password, adds some entropy to it, and thus strengthens it before turning it into a key. This key can then be used for symmetric ...
vrtjason's user avatar
  • 346
20 votes

Can I say "I have encrypted something" if I hash something?

Encryption implies that with the appropriate key, it is possible to decrypt and recover the original message. Which (in general) is not possible from a hash. Thus “I will encrypt” is not adequate if ...
fgrieu's user avatar
  • 140k
18 votes
Accepted

What is a related key?

Related keys are keys with any mathematical relationship that leads to exploitability in the cipher. This can be a simple relationship, such as having many bits in common. This was the case with RC4 ...
forest's user avatar
  • 15.2k
17 votes
Accepted

Does a hash function necessarily need to allow arbitrary length input?

Is it necessary for a hash function to allow arbitrary length inputs or not? Of course not. SHA-256 is limited to inputs of 18,446,744,073,709,551,615 bits or less; it is not defined for larger ...
poncho's user avatar
  • 146k
17 votes

What do you call a random number that affects the calculation, but not the result?

The technique of using an auxiliary input that affects intermediate values, but not the final result, is called blinding. The auxiliary input can be called a “blinding parameter” or some other variant ...
Gilles 'SO- stop being evil''s user avatar
16 votes

Layman's explanation of encryption backdoors

Both of your formulations for encryption backdoors are valid. However, a more efficient way and harder to detect method consist in biaising the random generators used to generate private and public ...
M'vy's user avatar
  • 376
15 votes
Accepted

Scrypt not "old enough" to be safe?

Actually, it turned out that scrypt was not as good as initially advertised under all conditions. Scrypt was designed to support the specific case of password-based key derivation for full harddisk ...
Thomas Pornin's user avatar
15 votes

What does puncturing in cryptography mean

Other than kodlu's answer, there exists another meaning of the term - potentially more specific to Cryptography rather than coding theory: That of a 'punctured' PRF. This describes a PRF $F : K \times ...
Morrolan's user avatar
  • 1,147
14 votes

What is a “witness” in zero knowledge proof?

A witness for an NP statement is a piece of information that allows you to efficiently verify that the statement is true. For example, if the statement is that there exists a Hamiltonian cycle in some ...
Christian Matt's user avatar
14 votes

Does a hash function necessarily need to allow arbitrary length input?

Is it necessary for a hash function to allow arbitrary length inputs or not? Although one can design a hash function that can hash arbitrary size there is no need since one can not easily pass the $2^...
kelalaka's user avatar
  • 48.3k
13 votes

"Seed" vs "seed key"

"seed" and "seed key" are NIST terminology talking about the X9.31 PRNG. In particular, it has a state that consists of: A 3DES or AES key (the "seed key") A 64 or 128 bit current state (the "seed") ...
poncho's user avatar
  • 146k
13 votes
Accepted

Functional difference between stream cipher, XOF, seed expander, KDF, etc

Before we start answering the subquestions, let's bring up some background knowledge. The sponge construct was first proposed by the Keccak team as a bridging element in a security proof for the ...
DannyNiu's user avatar
  • 9,080
13 votes

Is there any difference between cryptography and cryptology?

Word roots The greek word root "crypto" means "hidden" or "secret". The greek word root "ology" means "study of", "science of", or "theory of". The greek word root "graph" means "to write" or "...
Ella Rose's user avatar
  • 19.6k

Only top scored, non community-wiki answers of a minimum length are eligible