Estimated effort: - 10 hours (estimated by Cornel)
*
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:
PR #195 is merged
Definition of done
This task can be considered done when
[ ] A class is made which can do the encryption and decryption
[ ] The contact we send out when done creating a Rhythm or Visual is encrypted with the tapCombination
[ ] The dataReceived is decrypted with the tapCombination (in the WaitActivity)
[ ] The decrypted data is checked to be valid and added to the database
Notes
This does not include refactoring the Rhythm creation to only create long and short intervals.
Parent issues: -#109 #104 #61
Relevant issues: -
Estimated effort: - 10 hours (estimated by Cornel)
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.