Opened 6 years ago

Closed 6 years ago

#10031 closed enhancement (fixed)

Use fast modular exponentiation for UniformDH

Reported by: phw Owned by: asn
Priority: Medium Milestone:
Component: Archived/Obfsproxy Version:
Severity: Keywords: obfs3, uniformdh
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

obfs3 currently uses Python's built-in pow() for modular exponentiation. The computation can be made less expensive by using GMPY. Apart from making UniformDH computationally less expensive, it creates less of a timing signature. That's relevant for ScrambleSuit as its two authentication methods should be indistinguishable.

I have patches for this improvement in my user repository in the branch use_gmp: https://gitweb.torproject.org/user/phw/obfsproxy.git

Note that the patch requires the module gmpy which is not part of Python's standard library. Debian knows the package as python-gmpy.

Child Tickets

Change History (4)

comment:1 Changed 6 years ago by asn

Status: newneeds_review

Looks good. Check out branch bug10031 in https://git.torproject.org/user/asn/obfsproxy.git for your branch + some trivial additions (changelog and setup.py).

I ran the integration tester and it seemed to work. Will merge soon.

(have you tested this btw?)

comment:2 in reply to:  1 Changed 6 years ago by phw

Replying to asn:

Looks good. Check out branch bug10031 in https://git.torproject.org/user/asn/obfsproxy.git for your branch + some trivial additions (changelog and setup.py).

Looks good to me.

I ran the integration tester and it seemed to work. Will merge soon.

Thanks!

(have you tested this btw?)

Yes, it works. I've been using this code in ScrambleSuit for a while. But we might as well put it into obfsproxy so obfs3 can profit from it too.

comment:3 Changed 6 years ago by asn

Merged. Thanks!

comment:4 Changed 6 years ago by asn

Resolution: fixed
Status: needs_reviewclosed
Note: See TracTickets for help on using tickets.