Team Orange
![](../../customisations/pictures/andrewnicholson.jpg)
Andrew Nicholson
![](../../customisations/pictures/andrewwong.jpg)
Andrew Wong
![](../../customisations/pictures/arpitrulania.jpg)
Arpit Rulania
![](https://avatars.dicebear.com/api/personas/ziyuelian.svg)
Ziyue Lian
Week 8 Progress Update
Overview
- Project Schedule
- Dot product development
- MCU development
- Approximate multiplier consideration
- Encryption optimisation
Schedule
![](./gantt.jpg)
Blocking - Matrix Multiplication
Dot Product
![](dotproduct.png)
Reworked to have 16 in parallel
Development of the MCU
- Start Main Control Unit created to co-ordinate signals
- Two operating modes
Approximate Multipliers
Speed, Space, Accuracy, Security
![](./8is7a1ixij201.jpg)
- Error corrections are useful (better approx.) but…
- Binned EC values?
- Single average EC value?
![](./correction_visualisation/before.jpg)
Uncorrected
![](./correction_visualisation/after.jpg)
Corrected
Future: Verification of acceptable error
- Consistency with error ratios for invalid keypairs
- Magnitude of importance
e.g. Consistency with error ratios for invalid keypairs
e.g. Magnitude of importance
Optimising the Encryption Stage
Issue: Current row selection is biased
i.e 10% selection chance / 90% not selected
Next item has 10% x 90% = 9% chance of selection
Next item has 10% x 81% = 8.1% chance of selection
Non-uniform = higher chance of set reuse
Not cryptographically secure!
Proposal
Select the sampled rows prior to calling the encryption module, and pass in only the required data
- Possible mitigation of side-channel timing attack?
Team Orange
![](../../customisations/pictures/andrewnicholson.jpg)
Andrew Nicholson
![](../../customisations/pictures/andrewwong.jpg)
Andrew Wong
![](../../customisations/pictures/arpitrulania.jpg)
Arpit Rulania
![](https://avatars.dicebear.com/api/personas/ziyuelian.svg)
Ziyue Lian