Project

General

Profile

Feature #16905

Speed up the checksum computation in the verification extension

Added by sajolida 4 months ago. Updated about 1 month ago.

Status:
Confirmed
Priority:
Normal
Assignee:
-
Category:
Installation
Target version:
-
Start date:
Due date:
% Done:

0%

Feature Branch:
Type of work:
Code
Blueprint:
Starter:
Yes
Affected tool:
Verification Extension

Description

  • Back in 2015, DAVE used to rely on a native call (`nsICryptoHash`) which is not
    available anymore to WebExtensions. It was so fast that we never felt
    the need to measure how many seconds it took; probably less than 5.
  • The WebExtension relies on the Forge library and takes 45
    seconds on a Core i5 M520, around 10 times more.

Asking upstream a new API for checksum calculation sounds hard as it
would require lobbying both Mozilla and Chrome. An alternative could be
to rewrite the checksum calculation in
[WebAssembly](https://developer.mozilla.org/en-US/docs/WebAssembly).

This could be a good starter task for someone who knows JavaScript and WebAssembly as the README of the verification extension has detailed instructions for how to test it locally:

https://git.tails.boum.org/verification-extension/tree/README


Related issues

Related to Tails - Feature #14544: Spend software developer time on smallish UX improvements In Progress 08/31/2018

History

#1 Updated by sajolida 4 months ago

  • Related to Feature #14544: Spend software developer time on smallish UX improvements added

#2 Updated by intrigeri 3 months ago

An alternative could be to rewrite the checksum calculation in [WebAssembly](https://developer.mozilla.org/en-US/docs/WebAssembly).

Note that WebAssembly is currently disabled in Tor Browser, until it has been properly audited: https://trac.torproject.org/projects/tor/ticket/19417.

#3 Updated by u about 1 month ago

I would suggest to ask Enrico whenever he starts working on #16128 and feels he has leftover time.

#4 Updated by sajolida about 1 month ago

Yes, it would be good to have some rough assessment on the feasibility of this while Enrico will be working on the iteration #1 of #16128.

We'll be 3 people working on this budget, so to think iteratively, I want to see how much iteration #1 of #16128 cost to the team before deciding if we prioritize iteration #2 of 16128 or this ticket for the next iteration.

Also available in: Atom PDF