Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-5100935

No way to access the 64-bit integer multiplication of 64-bit CPUs efficiently

    XMLWordPrintable

    Details

    • Type: Enhancement
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 5.0
    • Fix Version/s: 9
    • Component/s: core-libs
    • Subcomponent:
    • Resolved In Build:
      b120
    • CPU:
      x86
    • OS:
      windows_2000

      Description



      Name: js151677 Date: 09/13/2004


      A DESCRIPTION OF THE REQUEST :
      64-bit CPUs like AMD Opteron can multiply two 64-bit integers and produce a 128-bit result. in Java there is currently no way to access this feature. VMs even have no way to offer this capability to an application, because there is no 128-bit type for returning the result.

      JUSTIFICATION :
      in the security area, asymmetric cryptography plays an important role. algorithms like RSA use long integer arithmentic extensively. for instance, certain baisc long integer operations like multiplication have quadratic running time. in this case, using a 64-bit multiplication as a basis instead of a 32-bit muliplication can decrease the number of required steps to a fourth. thus, time consuming RSA operations could be much faster just by exploiting 64-bit muliplication.
      this feature could speed up the java.math.BigInteger class significantly.

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      the most natural thing would be to introduce a 128-bit type; e.g. long128.

      CUSTOMER SUBMITTED WORKAROUND :
      use 32-bit multiplication with 64-bit results. however, using this takes four times longer in an algorithm with quadratic running time.
      (Incident Review ID: 310503)
      ======================================================================

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              bpb Brian Burkhalter
              Reporter:
              jssunw Jitender S (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: