Welcome to RSA signature benchmark as a service.

We don't trust third-party solutions so we implemented RSA ourselves. It seems our previous service last year was not entirely secure so this time we are using Square and Multiply Always algorithm!

The algorithm works pretty much like this:

We manged to sandbox the environment this time so benchmark data are fully repeatable.

We've got some neat machines and a single multiplication on our machine takes only 10 ticks on the chart.

We also managed to add some high granularity to the charts for better analysis.

We will RSA-sign any messages from you.

If you want to verify the signatures, the RSA public key is:

e = 65537

N = 37423358538793239431368551933093548088750119722297877653329456081542921728561909269286050649373794056495622619874545330159857317245531353479599670075870518057440135604345358039006531636578609178252028224601616245469551365105881820572136459406451688114111603432950659353539719383425167976069825613968171526991

Put message below:

We don't trust third-party solutions so we implemented RSA ourselves. It seems our previous service last year was not entirely secure so this time we are using Square and Multiply Always algorithm!

The algorithm works pretty much like this:

def square_and_multiply_always(base, exponent, modulus): binary_exponent = to_binary_msb_first(exponent) result = 1 for di in binary_exponent: tmp = result * result t = [tmp, tmp * base] result = t[di] % modulus return resultWe like benchmarks so we will provide CPU consumption data after the operation.

We manged to sandbox the environment this time so benchmark data are fully repeatable.

We've got some neat machines and a single multiplication on our machine takes only 10 ticks on the chart.

We also managed to add some high granularity to the charts for better analysis.

We will RSA-sign any messages from you.

If you want to verify the signatures, the RSA public key is:

e = 65537

N = 37423358538793239431368551933093548088750119722297877653329456081542921728561909269286050649373794056495622619874545330159857317245531353479599670075870518057440135604345358039006531636578609178252028224601616245469551365105881820572136459406451688114111603432950659353539719383425167976069825613968171526991

Put message below: