19

The RFC specifies things in terms of bits. Each call to HMAC outputs hlen bits. tlen is the count of bits obtained so far; when at least qlen bits have been obtained, this step is finished. The sample code is written in Java in which the elementary unit of information is the octet ("byte" in usual terminology). The supported hash functions always output a ...


15

There's a good reason many democracies reserve mail voting to rare cases where that's the only option: it allows one's vote to be influenced by duress or bribery, because one can prove how one voted. No remote voting technology that I know has solved that issue. Ergo, physically going to a polling station with isoloirs should remain the normal voting ...


4

As a society we have decided that "secret ballots" are better than "open ballots". When you use a blockchain you will issue public keys to individuals who can then verify their votes were counted. I'm aware that the voter's name is not on these keys (I could not look at the chain and determine how you voted), but regardless it is a way to prove how you voted ...


3

Can anyone explain or push me in the right direction on how to show/answer this? The first obvious thing to ponder is "what does it mean that a 'group is cyclic'? What properties does a cyclic group have, that noncyclic groups do not?" (Broader hint: a cyclic group has a generator; noncyclic (finite) groups do not) I understand that points of order two ...


3

How much Unsafe is using secp256k1 for ECIES and what dangers/weakness it exposes /what attack it makes possible? Let's have a look through the "failures" that secp256k1 achieves according to SafeCurves. ECDLP: "disc": This means that the curve has a specific value to be small. As the website indicates this is not inherently bad or exploitable, it just ...


3

Is there a reason for these differences You do realize that ECDSA is randomized [1], that is, signing the same message twice with the same private key will generate two different signatures. This is normal, and not due to you using three different ECDSA implementations. All three signatures are DER-encodings of 'a list of two integers, both of which are ...


3

TL;DR: The public key is not a point, it is the $x$-coordinate of the point. The base point of the curve has been chosen to be the point $G = (9,y_0)$ with $y_0>0$, and the curve Curve25519 is used in its Montgomery form given by the equation $$ y^2 = x^3 + 486662x^2 + x. $$ The main operation on elliptic curves is the scalar multiplication, and in this ...


2

But my problem is that we usually have long messages, so we have to partition it into several blocks and then encrypt it. Therefore, when we have a 2048 bits long messages we make around 12 blocks and then encrypt them. No, that's not what we do in practice. Instead, when we need to public key encrypt a large message, we pick a random symmetric key, ...


1

In general, asymmetric cryptography (which includes elliptic curve crypto, RSA, Diffie-Hellman, etc) is orders of magnitude slower than symmetric cryptography (e.g., AES). Curve 25519 is fast compared to other asymmetric cryptography, but still very slow compared to symmetric encryption. Because of this, asymmetric cryptography is mostly used to set up ...


1

A number of reasons contribute to this. Curve25519 has a non-governmental origin. It's a curve that's very safe by design, and impregnable to many side-channel and other weaknesses that other curves suffer from. Also, it's a curve with 'nothing up my sleeve' coefficients. Unlike the NSA curves, which NIST endorse. Although not directly related, after ...


1

called asymmetric self encryption No, not really, you just made up that term. might seem an unusual choice in situations where a key exchange is not required No it doesn't, although commonly a hybrid cryptography is used, especially for EC based cryptography. an attacker apparently needs both to have the public key and brute-force the passphrase to ...


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