#2783 closed task (fixed)

remove key-generator

Reported by: warner Owned by: Brian Warner <warner@…>
Priority: normal Milestone: 1.12.0
Component: code-nodeadmin Version: 1.11.0
Keywords: Cc:
Launchpad Bug:


Hey, would anybody object if I ripped out the key-generator?

This is a standalone process that does nothing but create RSA keypairs for people who set key_generator.furl= in their tahoe.cfg . It creates them in the background so mutable-file creation doesn't need to wait. We built this back in the AllMyData days because we were worried about how long clients would block while creating keys.

I argued against removing it in #542 (in 2008), but I've changed my mind since then. I'm no longer really comfortable with users (even AllMyData-style customers) getting their keys from anywhere other than their own computers (I shouldn't have been comfortable with it back then either, really). Also it's one more daemon that needs a --location argument (#2773) that I could avoid spending time updating.

The speed used to bother me too, but on my home workstation (a 2012 Mac, 2.6GHz i7) the 2048-bit RSA key generation takes 80-90 milliseconds per key. Not great, but not a big deal.

OTOH, on the latest Raspberry Pi (v3 model B, 1.2GHz ARMv8), it takes about 1.1 seconds (per key). That's a drag, and I'm still looking forward to super-fast Ed25519-based mutable files, but I don't think there's enough demand for an external key-generator to let the RPi speed influence our decision.

Change History (7)

comment:1 Changed at 2016-04-28T06:05:56Z by warner

Incidentally, one non-security-impacting use of the key-generator would be to run it on the same machine as the client that uses it. Since python is basically single-threaded (and tahoe certainly doesn't attempt to take advantage of multiple cores), this would be a win if you're making a whole lot of mutable files, because the keys could be created on one core in the background, so the main tahoe process would be less likely to ever wait for one.

comment:2 Changed at 2016-04-28T07:03:20Z by warner

BTW, in writing the patch for this, I noticed a comment from April 2008 (when the key-generator was first added) that said "RSA key generation for a 2048 bit key takes between 0.8 and 3.2 secs". Fortunately this is way faster these days.

comment:4 Changed at 2016-05-04T23:54:20Z by warner

It's been a week and nobody's complained, so the key-generator is history. RIP.

comment:5 Changed at 2016-05-04T23:54:33Z by Brian Warner <warner@…>

  • Owner set to Brian Warner <warner@…>
  • Resolution set to fixed
  • Status changed from new to closed

In d1d9884/trunk:

remove "key-generator" node type and client support

closes ticket:2783

comment:6 Changed at 2016-05-04T23:55:37Z by warner

  • Milestone changed from undecided to 1.12.0

comment:7 Changed at 2016-05-09T13:47:35Z by daira

+1. I think hardly anyone used this. We should switch to Ed25519 keypairs if we want mutable file creation to be faster.

Note: See TracTickets for help on using tickets.