ericcornelissen / NervousFish

An app for your :iphone: to exchange public-keys in a secure manner.
GNU Lesser General Public License v3.0
2 stars 4 forks source link

Send the contact encrypted with the tap data #211

Closed clenrock closed 7 years ago

clenrock commented 7 years ago

User story

As a user I want to be sure that a contact send to me via Bluetooth is not changed by a MITM and that the verification makes sure that I'm communicating with the right person so that I'm sure I receive the right public key.

What

This issue demands to add a library to do encryption and decryption and add that in the code to use while sending a contact.

Why

This issue is needed for the project because this makes the extra verification layer really working.

How

This feature can be added by searching on the internet for a library to encrypt and decrypt data with, and which also can make use of symmetrical keys. It could be that this is already implemented in a standard Java library. Then, in the WaitActivity we have a method "evaluateData" and the attributes "tapCombination" and "dataReceived". The dataReceived should be decrypted with tapCombination and it has to be checked that this is a valid contact.

Definition of ready

This features is not ready until the following issues are finished:

Definition of done

This task can be considered done when

Notes

This does not include refactoring the Rhythm creation to only create long and short intervals.