Questions tagged [key-generation]

Key generation is the process of generating keys for cryptographic purposes.

Filter by
Sorted by
Tagged with
56 votes
3 answers
2k views

Do these new insights into prime numbers affect encryption security?

Quanta Magazine reports: Two mathematicians have uncovered a simple, previously unnoticed property of prime numbers [...]. Prime numbers, it seems, have decided preferences about the final digits of ...
  • 503
40 votes
1 answer
5k views

What is “Fast Prime”?

In this note, the manufacturer of a RSA key generation gizmo vulnerable to the new ROCA attack (see second section) explains that it is common practice to employ acceleration algorithms in order to ...
  • 126k
12 votes
3 answers
8k views

Are all possible EC private keys valid?

I usually generate a key pair using OpenSSL or Bouncy Castle. I'm using curve secp256k1. The 256bit private keys look fairly random. Do all values of "private ...
12 votes
2 answers
4k views

Should RSA primes p and q differ in length by "a few digits"?

When generating RSA keys in the original RSA paper it is stated: to gain additional protection against sophisticated factoring algorithms, p and q should differ in length by a few digits Why is ...
user avatar
9 votes
2 answers
2k views

State of the art RSA key generation

I would like to know if there is an algorithm to generate a RSA key at the state of the art of the present cryptanalysis. Beside the key lenght I know there are some weakness in the choice of prime ...
  • 3,225
7 votes
4 answers
3k views

Can we pick which key is private or public in asymmetric encryption? Do the keys actually encrypt and decrypt a cipher text?

Could you help me better understand how the key-pair works in Asymmetric encryption? I'm studying cryptography at the surface level first. While reading multiple texts and talking with colleagues I'm ...
6 votes
1 answer
5k views

Generating a NIST P-256 private key

From the Curve25519 spec I learned that it possible to take a random 32 bytes and with a few operations make it on the curve: To generate a 32-byte Curve25519 secret key, start by generating 32 ...
6 votes
1 answer
991 views

Is forward secrecy overhyped or necessary?

Forward Secrecy, also perfect forward secrecy, gives assurance about session keys even the private key is compromised. This is achieved by generating a random key per session without using a ...
  • 44.3k
6 votes
2 answers
9k views

Why are ephemeral/session/temporary keys useful?

One reason that communication protocols use ephemeral keys is to help with implementing Perfect Forward Security. They're also used in SSL to go from using RSA to using a faster symmetric encryption. ...
  • 161
6 votes
1 answer
15k views

Is there a correct way to generate a symmetric key?

Looking in some cryptographic algorithms, I've realized that: The way the plain text is encrypted/decrypted is always specified, but what about the key? Every paper I've seen describing the algorithm ...
  • 163
6 votes
1 answer
150 views

Schnorr groups allowing fast modular reduction, vs GNFS

I'm looking for Schnorr groups allowing fast modular reduction. Say, using the notation in DSA, with 256-bit prime $q$ and 3072-bit prime $p$, and $p\equiv1\pmod q$. Are there standards, RFC, or other ...
  • 126k
5 votes
5 answers
11k views

Why is the private key generated first in public key crypto?

I'm still new to public key crypto. I'm trying to understand how it is that the private key is generated first in public key crypto? I would have expected the private and public key to be generated at ...
5 votes
1 answer
7k views

curve25519 by openSSL

How can i generate ec curve25519 keys using openSSL? When I run openssl ecparam -name curve25519 -genkey -noout -out private.ec.key I have this message ...
5 votes
1 answer
3k views

What are the differences between X9.31 RSA operation and PKCS#1 RSA operation?

NIST and other - mainly older - standards often don't just mention PKCS#1 RSA algorithms but also X9.31 RSA algorithms. What are the differences between X9.31 and PKCS#1 (v2.1) with regards to key ...
  • 86.6k
5 votes
2 answers
2k views

Where do key generation algorithms take the randomness from?

I was just wondering, because in many encryption tools like Veracrypt or GnuPG you have to generate pseudo randomness with your mouse movement. So, where do automatically generated keys take that ...
5 votes
1 answer
216 views

Parameter choice Supersingular Isogeny DH

In “Towards quantum-resistant cryptosystems from supersingular elliptic curve isogenies” by DeFeo, Jao and Plut (PDF), the public parameters are defined as: Supersingular curve $E$, and bases $P, Q$ ...
  • 482
4 votes
3 answers
867 views

What is proper use of a True Random Number Generator?

Let's say I have a true random number generator TRNG. Random numbers are generated on demand from a HW-entropy source, resulting in a 32-bit random value each time it is called. I have to fill an ...
  • 1,447
4 votes
1 answer
1k views

Can I use an ECDH Shared Secret from the same Private / Public Key Pair?

I'd like to know if using the ECDH shared secret of a static EC Private Key with it's own corresponding static EC Public Key causes a problem / weakness. (edit) not asking if it's ok to re-use the ...
  • 53
4 votes
1 answer
180 views

Consequence of $p\bmod e=2$ in RSA prime generation

When generating a prime $p$ for use in an RSA modulus with public exponent $e$, it is necessary that $\gcd(p-1,e)=1$. When $e=3$, and since $p$ is a large prime, that implies $p\bmod e=2$. Assume an ...
  • 126k
4 votes
1 answer
644 views

How to generate a distributed private key?

Shamir's Secret Sharing scheme is really interesting but the pain point is that the secret is generated by one trusted party, then the shares are distributed to other peoples. Is there any scheme ...
  • 41
4 votes
1 answer
636 views

How to generate a bilinear group of prime order p for key generation

I am trying to implement an IEEE Paper In Cryptography. I read many reference regarding an RSA key generation. But i am confused with above statement. Please someone explain me What it says with ...
3 votes
1 answer
413 views

Why isn't ElGamal a symmetric-key scheme?

I was asked about this question by a friend. He considers that Alice and Bob share a secret key s=g^(xy). So why isn't it considered a symmentric-key scheme? ...
3 votes
3 answers
16k views

RSA Key generation: How is multiplicative inverse computed?

As per Wikipedia, RSA keygen goes like this: Choose two distinct prime numbers p and q. Compute $n = pq$. Compute $\varphi(n) = (p − 1)(q − 1)$. Choose an integer e such that $1 < e < \varphi(n)...
  • 143
3 votes
2 answers
572 views

Formula for bits of entropy per bit, when combining bits with XOR

Assume that bits $A$ and $B$ each have .5 bits of entropy per bit. The two-bit result of the concatenation $A‖B$ has 1 bit of entropy total, and it retains the entropy density of .5 bits of entropy ...
3 votes
2 answers
508 views

Can the key-generation algorithm always be uniform?

Assume that the encryption uses $n$-bit keys to encrypt $l(n)$-length messages. If a symmetric key encryption scheme is defined as $\Pi_{1} = ( \mathrm{Enc}, \mathrm{Dec} )$, then for every $x_{0}, ...
  • 1,532
3 votes
1 answer
563 views

Number generation for Fujisaki-Okamoto commitment scheme parameters

I need to implement the Fujisaki-Okamoto commitment scheme for a project such that I can demonstrate performance of various zero-knowledge proofs in relation to one another, for example Boudot's "...
3 votes
1 answer
884 views

How to find the inverse of a polynomial in NTRU-PKCS

I am coding a java based implementation of the NTRU public-key cryptosystem. I can comprehend the majority of the algorithms involved in the encryption and decryption process well enough, but the key ...
3 votes
1 answer
307 views

Safety of encrypting a plaintext with its hash as the key

What are the safety issues of using the the hash of plaintext as the key to encrypt it? The first that comes to mind is that if I can guess an approximation or part of the plain text, brute force ...
3 votes
1 answer
3k views

RSA public key exponent generation confusion

Quote from Wiki: $e$ having a short bit-length and small Hamming weight results in more efficient encryption — most commonly $2^{16} + 1 = 65537$. However, much smaller values of $e$ (such as $3$) ...
  • 246
3 votes
1 answer
120 views

Is there an asymmetric scheme where keys form a graph and a message can only be decrypted across a certain degree of separation?

Consider a network of trust, where each user u specifies some other set of users whom u "trusts". This forms a graph with users ...
  • 131
3 votes
1 answer
4k views

RSA key pair generation and FIPS 140-2, 186-4

I need to securely generate RSA key pair and I need to have access to private exponent in order to process it further. What's the difference in FIPS 140-2 and FIPS 186-4 in connection with RSA key ...
3 votes
0 answers
163 views

Criteria for public modulus of RSA accumulator

What are criteria for generation of an RSA public modulus used in an RSA accumulator, and their rationale? Are there special requirements in some sub-cases, like for «one-way» accumulators? Josh ...
  • 126k
2 votes
1 answer
511 views

Offline session key agreement protocol

Is there any implemented solution to agree on a session key in offline way. I can exchange some keys before being offline but I need both sides to create the session key offline. I need implemented ...
2 votes
4 answers
729 views

How is an epsilon of 1/1000 non-negligible?

Lately I've been studying cryptography and in the current course I'm taking we're reviewing statistical tests and how they can be used to determine if a pseudo-random generator is secure or not. ...
2 votes
2 answers
1k views

Can I use the output from a DRBG directly as K for AES, or do I need to use a key generator algorithm?

NIST has 3 validated "Recommendation for Random Number Generation Using Deterministic Random Bit Generators" (DRBG's) that are based on NIST SP 800-90A: Hash_DRBG (based on hash functions) ...
  • 123
2 votes
2 answers
224 views

When is a cryptosystem or its algorithm (like RSA) considered efficient?

When is a cryptosystem (like RSA) or its algorithm for keygeneration, encryption and decryption of messages considered efficient? Is there some bound in complexity which splits both efficient and not ...
2 votes
2 answers
391 views

Generating DH key with specific bit-length

In PKCS#3 the generation for DH secrets mandates to generate them with a minimum size if length is specified: The central authority may optionally select an integer $\ell$, the private-value length ...
  • 636
2 votes
2 answers
406 views

Why do most authenticated encryption primitives expect an unpredictable and uniformly random key in order to be secure?

I've noticed that keys for authenticated encryption primitives like AES must be unpredictable and uniformly random in order to be secure. IV values and seeds for PRNGs also have to be unpredictable ...
  • 23
2 votes
2 answers
147 views

How do I pick variable length passwords uniformly at random?

How do I pick passwords uniformly at random when given a min and max length? It seems that if I first pick a random length, then choose random characters, this procedure will choose shorter length ...
user avatar
2 votes
1 answer
102 views

If the symmetric key is stolen; can I key revoke without reencrypted data?

I have a question about database security. This is a scenario I have. The data is encrypted using symmetric (i.e., AES) and stored in a database, while the secret key is stored on the client side, so ...
  • 21
2 votes
2 answers
124 views

Why is there a slight mismatch most of the time in X25519 private keys depending on functions used, but public keys always match (same seed for both)?

I'm trying to wrap my head around going from a seed to a SigningKey, and also obtaining a ...
  • 97
2 votes
2 answers
579 views

How is Argon2 used for key derivation? [duplicate]

By my understanding, a key derivation is when you take some data, say a password, and use a function to convert it into a number that can be used as a secret key in say elliptic curve cryptography. ...
2 votes
1 answer
938 views

How is it possible to derive the public exponent from an RSA private key?

I am gonna write down formulas that I know and use to generate RSA keys. we choose $p$, $q$ $N = p\cdot q$ $\varphi(n) = (p-1)\cdot(q-1)$ choose $e$ such as $1 < e < \varphi(N)$ $e$ is coprime ...
2 votes
2 answers
112 views

Multiparty secret generation protocol

The goal is to create a secret S on a trusted server by having users A, B and C each send a private seed to the server, in such a way that any 2 of them can later recover S by resubmitting their ...
2 votes
2 answers
223 views

How many low-order bits of an RSA modulus can we safely fix to 1?

It's easy to generate an RSA modulus $n=p\,q$ of $k$ bits with $n\equiv-1\pmod{2^\ell}$, for $\ell$ up to about $k/2$: we can choose $p$ as usual, fix the $\ell$ low-order bits of $q$ to $-p^{-1}\...
  • 126k
2 votes
1 answer
417 views

Generating a key pair using a signature generated by an existing key

I’ve built an app in which each user has a private/public key pair and I want to generate a second one for them, however I cannot store the second private key anywhere. What would be the drawbacks ...
2 votes
1 answer
124 views

Key derivation design to avoid key leaks

I have the first function that generates keys from AES decryption (128-bit key). It takes seed as input: ...
  • 339
2 votes
1 answer
625 views

How exactly is the output of the XOR step in PBKDF2 used?

I'm attempting to diagram PBKDF2 for a school project and I'm not 100% sure how to represent the XOR step. Specifically, I'm confused as to whether the output of the XOR step is used in subsequent ...
user avatar
2 votes
1 answer
216 views

What is a randomly derived key?

It is a well-known fact that using the same key + nonce combination with a stream cipher twice breaks security. The NaCl library has different primitives for authenticated encryption (i.e., ...
  • 45
2 votes
1 answer
175 views

Finding $f^{-1}$ in the YASHE keygen algorithm

In the YASHE (Yet Another Somewhat Homomorphic Encryption) algorithm, the beggining of the key generation step specifies: Sample $\ f',g ← χ_{key}$ and let $\ f = [tf' + 1]_q$. If $\ f$ is not ...