[math-fun] RSA as secret key (replies to MIke Stay)
MIke, first of all it does not appear you read my RSA message, I mentioned M for this purpose (secret key mode) need not be p*q, could be merely a prime. Second, the way I had in mind to search for M depended on fact that if message (as integer) exceeds M, then modding by M would lose information. So this must be forbidden. Hence by binary search to see what is forbidden an attacker with black box access to crypto box could determine M. Third, even if you do not buy that (for example if crypto box permitted users to lose information and just silently screwed them in such an event), then still just by guessing M, whereupon the other stuff (secret exponents) could be determined by subexponential algorithms, that'd still be a way to break it using only half the guessing normally needed for a key that size, i.e. break time not 2^N but rather 2^(N/2)*subexponential(N). ---- Also, re my important remark at the end about how a 4-round Feistel network using discrete exponentials as frobbing functions could be a secret key cipher which I do not see how to break -- one could also do 6-round for a bit more safety, and here note there is no requirement that the message not exceed the modulus M because in this application losing a little information is OK. So any modulus M slightly smaller than 2^(#bits) could be used, for example if we wanted a 256-bit cryptosystem, use M = largest prime below 2^128, which would be M = 340282366920938463463374607431768211297. Mersenne prime M have the slight advantage that modding is especially easy. My Feistelized discrete exponential scheme would be extremely simply described and apparently also reasonable BUT would be slow compared to rival schemes, especially if "slow arithmetic" used in which case it would be asymptotically uncompetitive.
On Tue, Aug 20, 2013 at 7:43 AM, Warren D Smith <warren.wds@gmail.com> wrote:
MIke, first of all it does not appear you read my RSA message, I mentioned M for this purpose (secret key mode) need not be p*q, could be merely a prime.
You're right, I didn't read the bit about M being prime, sorry. That's not RSA, that's just a strange one-time pad.
Second, the way I had in mind to search for M depended on fact that if message (as integer) exceeds M, then modding by M would lose information. So this must be forbidden. Hence by binary search to see what is forbidden an attacker with black box access to crypto box could determine M.
Because it's a one-time pad, it can't be used twice, so there's no way to search. If you use this system with a prime M more than once, you're screwed.
Third, even if you do not buy that (for example if crypto box permitted users to lose information and just silently screwed them in such an event), then still just by guessing M, whereupon the other stuff (secret exponents) could be determined by subexponential algorithms, that'd still be a way to break it using only half the guessing normally needed for a key that size, i.e. break time not 2^N but rather 2^(N/2)*subexponential(N).
A one-time pad is information-theoretically secure. -- Mike Stay - metaweta@gmail.com http://www.cs.auckland.ac.nz/~mike http://reperiendi.wordpress.com
On 20/08/2013 14:43, Warren D Smith wrote:
Second, the way I had in mind to search for M depended on fact that if message (as integer) exceeds M, then modding by M would lose information. So this must be forbidden. Hence by binary search to see what is forbidden an attacker with black box access to crypto box could determine M.
If this were (1) a problem and (2) the only problem, it would be easy to deal with. Just pick some m smaller than M but not too much smaller, and use that instead of M as the bound. But I find this complaint peculiar. Someone says "why not use RSA?" and you then propose a different scheme *which is not RSA* and complain about a weakness this scheme has that isn't shared by RSA. -- g
participants (3)
-
Gareth McCaughan -
Mike Stay -
Warren D Smith