A typical one-way hash function takes a variable-length message and
produces a fixed-length hash. Given the hash it is computationally
impossible to find a message with that hash; in fact one can’t
determine any usable information about a message with that hash, not
even a single bit. For some one-way hash functions it’s also
[...]
Home > Cryptology
What is a one-way hash function?
How fast can people factor numbers?
It depends on the size of the numbers, and their form. Numbers
in special forms, such as a^n - b for `small’ b, are more readily
factored through specialized techniques and not necessarily related
to the difficulty of factoring in general. Hence a specific factoring
`breakthrough’ for a special number form may have no practical [...]
What about other public-key cryptosystems?
We’ve talked about RSA because it’s well known and easy to describe.
But there are lots of other public-key systems around, many of which
are faster than RSA or depend on problems more widely believed to be
difficult. This has been just a brief introduction; if you really want
to learn about the many [...]
RSA is a public-key cryptosystem defined by Rivest, Shamir, and
Adleman. Here’s a small example. See also [FTPDQ].
Plaintexts are positive integers up to 2^{512}. Keys are quadruples
(p,q,e,d), with p a 256-bit prime number, q a 258-bit prime number,
and d and e large numbers with (de - 1) divisible by (p-1)(q-1). We
[...]
What is the role of the `session key’ in public key schemes?
In virtually all public key systems, the encryption and decryption
times are very lengthy compared to other block-oriented
algorithms such as DES for equivalent data sizes. Therefore in most
implementations of public-key systems, a temporary, random `session
key’ of much smaller length than the message is generated for each
message and alone encrypted by [...]
What is the role of the `trapdoor function’ in public key schemes?
Intrinsic to public key cryptography is a `trapdoor function’ D_K
with the properties that computation in one direction (encryption,
E_K) is easy and in the other is virtually impossible (attack,
determining P from encryption E_K(P) and public key X). Furthermore,
it has the special property that the reversal of the computation
(decryption, D_K) is again [...]
What are the basic types of cryptanalytic `attacks’?
A standard cryptanalytic attack is to know some plaintext matching a
given piece of ciphertext and try to determine the key which maps one
to the other. This plaintext can be known because it is standard (a
standard greeting, a known header or trailer, …) or because it is
guessed. If text is guessed [...]
What’s the difference between the RSA and Diffie-Hellman schemes?
Diffie and Hellman proposed a system that requires the dynamic
exchange of keys for every sender-receiver pair (and in practice,
usually every communications session, hence the term `session key’).
This two-way key negotiation is useful in further complicating
attacks, but requires additional communications overhead. The RSA
system reduces communications overhead with the ability to [...]
Why are many people still using cryptosystems that are relatively easy to break?
Some don’t know any better. Often amateurs think they can design
secure systems, and are not aware of what an expert cryptanalyst
could do. And sometimes there is insufficient motivation for anybody
to invest the work needed to crack a system.
How does public-key cryptography solve cryptography’s Catch-22?
In a classic cryptosystem, if you want your friends to be able to
send secret messages to you, you have to make sure nobody other than
them sees the key K. In a public-key cryptosystem, you just publish
X, and you don’t have to worry about spies. Hence public key
cryptography `solves’ one of [...]
