Pages:
Author

Topic: The per message secret and address reuse (Read 1484 times)

member
Activity: 111
Merit: 10
January 22, 2014, 12:04:41 AM
#21
Thanks
sr. member
Activity: 406
Merit: 251
http://altoidnerd.com
January 21, 2014, 11:51:59 PM
#20

Generating random numbers is one problem, one that is solved by using the message hash as a seed, such as with Ed25519--and I believe ECDSA can be modified to support this construct as well.
RFC6979

Quote
It is possible, however, that signatures leak information that can eventually be used to determine the private key, with the added information of multiple signatures potentially leading to speed ups as well.

I am very interested in this topic and would be grateful if anybody could link me to any proper research papers regarding weaknesses caused by multiple signatures. (I don't mean weaknesses caused by bad RNG) I sometimes see this referred to as a potential problem but can't seem to find much proper research.



The paper I linked at the top

https://eprint.iacr.org/2013/734.pdf

is one of my favorite expositions of the subject.  It includes enough background to let you research the buzzwords, and is the summary of an empirical study of the effectiveness of various attacks.

If the per message secret is recycled, an attacker can perform an old method of cryptanalysis that compares two ciphertexts encrypted in the same way.

The technique is quite old in fact http://en.wikipedia.org/wiki/Cryptanalysis_of_the_Enigma#Operating_shortcomings
member
Activity: 111
Merit: 10
January 21, 2014, 10:28:36 PM
#18

Generating random numbers is one problem, one that is solved by using the message hash as a seed, such as with Ed25519--and I believe ECDSA can be modified to support this construct as well.
RFC6979

Quote
It is possible, however, that signatures leak information that can eventually be used to determine the private key, with the added information of multiple signatures potentially leading to speed ups as well.

I am very interested in this topic and would be grateful if anybody could link me to any proper research papers regarding weaknesses caused by multiple signatures. (I don't mean weaknesses caused by bad RNG) I sometimes see this referred to as a potential problem but can't seem to find much proper research.


sr. member
Activity: 406
Merit: 251
http://altoidnerd.com
January 21, 2014, 02:29:39 PM
#17
http://ed25519.cr.yp.to/ed25519-20110926.pdf

It looks like these curves have seven parameters instead of two. Well I can't say much - this is the first I've seen them and need to do some reading, but I'm optimistic they CAN be more secure however positive with more complexity comes more room for engineer error.
Ix
full member
Activity: 218
Merit: 128
January 21, 2014, 01:55:07 AM
#16
http://ed25519.cr.yp.to/

The relevant part:

Quote
Foolproof session keys. Signatures are generated deterministically; key generation consumes new randomness but new signatures do not. This is not only a speed feature but also a security feature, directly relevant to the recent collapse of the Sony PlayStation 3 security system.

The only time you need randomness is when generating new keys. The Android wallet app problem could not have happened with this feature. Introducing biases into the RNG when creating private keys would either 1) have to be so unnoticeable that it could only reduce security by a few bits, or 2) a collision would eventually happen (and could be tested for, much quicker than generating keys), alerting everyone to the compromised hardware.

Now, hardware/software has to be intentionally compromised, and bad programmers would be off the hook. Well, mostly, as really bad RNGs could still produce duplicate keys. I'm not familiar with the exact method that caused the app problems, but at the very least you could import private keys from a trusted source (generated yourself or whatever) onto an untrusted device and trust that it is not leaking information via the signatures it makes.
sr. member
Activity: 406
Merit: 251
http://altoidnerd.com
January 21, 2014, 01:30:09 AM
#15
You are correct - the physics is random but the signal path thereafter is a black box. I am roughly aware of the current state of hardware RNGs...they tend to rely on shot noise and thermal fluctuations which is pretty good, but AFIK always route the signal through proprietary integrated circuits at some point making their usefulness in an open source project dubious.

I am very interested in making provably cheatless quantum random bits, even perhaps in such a way that the user can construct the "antenna" themselves - none of the commercial hardware solutions I am aware of take advantage of NMR which is and has been my hope for some time.

I feel as time goes on, the reliability of deterministic RNGs will only worsen. The code to support them becomes more and more complex to fight off attackers.

NMR on the other hand is described by advanced physics and as such is conceptually prohibitive as of today but I hope to change that...the math is weird BUT the circuits used are actually very simple - shockingly so...anyone would be able to tell there is nothing fishy going on. I have been interested in "Open NMR" for a few years in fact...even before i became involved in bitcoin. I specifically work on a type technique called zero field NMR or NQR which doesn't require expensive magnets so could be done cheaply.

See the outdated but historical title of my website which was originally intended to display an open source NMR spectrometer.

Anyway, I think these solutions would be surprisingly straight forward because this is very simple analog circuitry - but more research is needed and I am having a hard time finding like minded individuals to team up with.

------

Now you seem to like Ed25519...I am not familiar with this curve, can you point me to a resource?
Ix
full member
Activity: 218
Merit: 128
January 20, 2014, 11:28:42 PM
#14
Well fuck intel I can make this thing.

They already exist: https://en.wikipedia.org/wiki/Hardware_random_number_generator

But it is not really practical to outfit every possible device with something like this (yet), but even then the problem will be the layers between the physical generator and the output. If they are compromised, the hardware entropy is useless. If they aren't, software entropy is usually enough, but obviously there are going to be instances of bad coding.

One property of a scheme like Ed25519's is that the same signature is always generated for the same message, there is therefore no room to exploit any of those layers for this particular problem.
sr. member
Activity: 406
Merit: 251
http://altoidnerd.com
January 20, 2014, 03:45:51 AM
#13
Recycling of the secret random number has only been the case in one implementation, as far as I know, that has since been fixed. Mind you however, that the number k does not need to be random, it could just as well be a part of a sequence, as long as it is not reused it's ok.

Even if the sequence is identified?
My mistake, it has to be unknown.

Well fuck intel I can make this thing.

The focus should not be deterministic generation.  That's what quantum mechanics is for.
sr. member
Activity: 430
Merit: 250
January 20, 2014, 03:44:41 AM
#12
Recycling of the secret random number has only been the case in one implementation, as far as I know, that has since been fixed. Mind you however, that the number k does not need to be random, it could just as well be a part of a sequence, as long as it is not reused it's ok.

Even if the sequence is identified?
My mistake, it has to be unknown.
sr. member
Activity: 406
Merit: 251
http://altoidnerd.com
January 20, 2014, 03:43:37 AM
#11
Recycling of the secret random number has only been the case in one implementation, as far as I know, that has since been fixed. Mind you however, that the number k does not need to be random, it could just as well be a part of a sequence, as long as it is not reused it's ok.

Even if the sequence is identified?
sr. member
Activity: 430
Merit: 250
January 20, 2014, 03:42:50 AM
#10
Recycling of the secret random number has only been the case in one implementation, as far as I know, that has since been fixed. Mind you however, that the number k could just as well be a part of a sequence, as long as it is not reused it's ok.
sr. member
Activity: 406
Merit: 251
http://altoidnerd.com
January 20, 2014, 03:42:21 AM
#9
Physical entropy sources already exist, and I think Intel is considering adding a RNG to their processors, but [tinfoil] there is no way to verify that the microcode has not been tampered with.

I think the quadrupole interaction in spin-3/2 nuclei can take care of this.  Chlorine NQR comes to mind, which can be performed on tabletops.  A good example of a high signal to noise obtainable from low power excitations is para-dichlorobenzene single crystals.

No proprietary irreversible silicon required.  Just a coil and a pulse generator.
Ix
full member
Activity: 218
Merit: 128
January 20, 2014, 03:35:48 AM
#8
Physical entropy sources already exist, and I think Intel is considering adding a RNG to their processors, but [tinfoil] there is no way to verify that the microcode has not been tampered with.

Then what are the other problems?  Are you suggesting the degeneracy in secp256k1 due to the 0 coefficient is a considerable weakness?  I'd rather not guess what you mean.  Do tell.

As I said, signatures may leak enough information to perform potential attacks in the future. Public keys might even. Hashing algorithms have much stronger security assumptions than digital signatures.
sr. member
Activity: 406
Merit: 251
http://altoidnerd.com
January 20, 2014, 03:00:31 AM
#7
But suppose you could cheaply generate real entropy with a physical procedure, not only would the secrets be random, but the hashes could potentially be strengthened, or?  Shocked

Having the public key hidden behind a safe hash is definitely the most secure construct. Generating true random numbers is not the only problem. Smiley

Then what are the other problems?  Are you suggesting the degeneracy in secp256k1 due to the 0 coefficient is a considerable weakness?  I'd rather not guess what you mean.  Do tell.
Ix
full member
Activity: 218
Merit: 128
January 19, 2014, 11:27:55 PM
#6
If so, we needn't waste time discussing secp256k1[1] and agree once and for all the problem at hand is the generation of truly random numbers.

Generating random numbers is one problem, one that is solved by using the message hash as a seed, such as with Ed25519--and I believe ECDSA can be modified to support this construct as well. It is possible, however, that signatures leak information that can eventually be used to determine the private key, with the added information of multiple signatures potentially leading to speed ups as well. It is possible that one day there will be a way to crack private keys from only the public keys in polynomial time.

Having the public key hidden behind a safe hash is definitely the most secure construct. Generating true random numbers is not the only problem. Smiley
sr. member
Activity: 406
Merit: 251
http://altoidnerd.com
January 19, 2014, 09:35:48 PM
#5
I suspected this, and my interpretation of the study I linked agrees.

If so, we needn't waste time discussing secp256k1[1] and agree once and for all the problem at hand is the generation of truly random numbers.

[1] in regards to repeated address use.  Discrete log shortcuts on y^2 = x^3 + 7 are a separate issue.
full member
Activity: 285
Merit: 100
January 19, 2014, 09:07:13 PM
#4
Should indeed. The question is what does happen?
It is a well known case of some implementation.
sr. member
Activity: 406
Merit: 251
http://altoidnerd.com
January 19, 2014, 08:49:37 PM
#3
K is a random number. Should be used once.

Should indeed.  The question is what does happen?

I feel you're suggesting the failure is of random number generation, then.
full member
Activity: 285
Merit: 100
January 19, 2014, 08:47:17 PM
#2
K is a random number. Should be used once.
Pages:
Jump to: