• MangoCats@feddit.it
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 days ago

    I’ve moved to ECC because the software packages fight me less in using it (except Microsoft DevOps ssh keys which insist on using RSA - making them the biggest pain in the process lately.)

    RSA is eroding slowly - as all cryptographic algorithms have done historically. The 3072 bit RSA keys I put into practice 10 years ago are still “secure enough” - but I expect after a century they’ll look pretty quaint and easily broken as well.

    On the other hand: ECC seems great from all kinds of metrics, easy to implement, small keys, etc. - it just feels like the kind of thing that a clever insight is going to demolish all at once some day, unlike RSA that’s sort of gracefully degrading with time.

    • solrize@lemmy.ml
      link
      fedilink
      English
      arrow-up
      3
      ·
      2 days ago

      I would say, there are known sub-exponential algorithms for factoring, while nothing better than (exponential) brute force is known for ECC. So, slightly better algorithms that erode RSA further are incremental improvements, while anything sub-exponential at all for ECC would be a breakthrough. Of course as someone once said, predictions are hard to make, especially about the future.

      • MangoCats@feddit.it
        link
        fedilink
        English
        arrow-up
        1
        ·
        2 days ago

        Just looking at the keys in authorized_keys, that short ECC key feels like any algorithmic breakthrough is going to turn it trivial… RSA already has those easier algorithms, but it also has the brute force bits to make the easier algorithms harder.

        Difficult to see, always moving the future is.

          • MangoCats@feddit.it
            link
            fedilink
            English
            arrow-up
            1
            ·
            2 days ago

            And I do…

            Academically, I trust the more modern algorithms with the shorter keys - not least because all the guidance says to trust them.

            Viscerally, looking at the keys, the short ones just feel more vulnerable.

            • solrize@lemmy.ml
              link
              fedilink
              English
              arrow-up
              1
              ·
              2 days ago

              Most of us don’t have control over the public keys we use. We connect to a web site with a browser, and the server supplies the public key.

              If you want public keys for your own purposes, I guess nothing stops you from generating 4096 bit (or whatever) ECC keys. Of course the arithmetic will be slow.

              If you’re really paranoid about potential math advances affecting ECC and/or RSA, then you may be best off avoiding public key schemes altogether. Just use secret keys, and maybe Merkle tree signatures.

              • MangoCats@feddit.it
                link
                fedilink
                English
                arrow-up
                1
                ·
                2 days ago

                Just use secret keys

                You mean symmetric keys? They’re great, but they aren’t terribly practical in MANY application scenarios.

                • solrize@lemmy.ml
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  2 days ago

                  They can be less convenient, yes, but a situation where you need truly public keys is probably not that secure to begin with. If you’re just trying to talk to your friends from your tree house, symmetric encryption is completely practical, including using something like DUKPT for forward secrecy.

                  • MangoCats@feddit.it
                    link
                    fedilink
                    English
                    arrow-up
                    1
                    ·
                    2 days ago

                    a situation where you need truly public keys is probably not that secure to begin with.

                    A banking website?