Differences

This shows you the differences between two versions of the page.

Link to this comparison view

ac:laboratoare:07 [2024/11/14 02:24]
dimitrie.valu
ac:laboratoare:07 [2024/11/14 13:05] (current)
dimitrie.valu
Line 1: Line 1:
 ===== Lab 07 - Whatsapp End-to-end Encryption ===== ===== Lab 07 - Whatsapp End-to-end Encryption =====
  
-In this lab you will implement a simplified version of The Signal Protocol, which is the basis for WhatsApp'​s end-to-end encryption.+In this lab you will implement a simplified version of the Signal Protocol, which is the basis for WhatsApp'​s end-to-end encryption.
  
 The first versions of Whatsapp protocol were described [[https://​cryptome.org/​2016/​04/​whatsapp-crypto.pdf|here]]. A more recent document is available [[https://​www.whatsapp.com/​security/​WhatsApp-Security-Whitepaper.pdf|here]]. The first versions of Whatsapp protocol were described [[https://​cryptome.org/​2016/​04/​whatsapp-crypto.pdf|here]]. A more recent document is available [[https://​www.whatsapp.com/​security/​WhatsApp-Security-Whitepaper.pdf|here]].
Line 9: Line 9:
 For the Elliptic Curves, you can use [[https://​github.com/​Muterra/​donna25519|this]] library. For the Elliptic Curves, you can use [[https://​github.com/​Muterra/​donna25519|this]] library.
  
-For installation,​ follow these steps (NOTE: **on ARM machines, ​you will have to resort to using an emulated x86 VM or an x86 instance**):​ +For installation,​ follow these steps (NOTE: **you can use your ''​%%fep%%'' ​instance ​via Python3 environments**): 
-  * Install the necessary tools''​%%sudo apt install build-essential python3-dev%%''​ +  * Install the necessary tools (not necessary on ''​%%fep%%''​):​ 
-  * Install pip: ''​%%sudo apt install python3-pip%%''​ +<​code>​ 
-  * Install donna via pip: ''​%%pip install donna25519%%''​+sudo apt install build-essential python3-dev 
 +sudo apt install python3-pip 
 +</​code>​ 
 +  * Use ''​%%wget%%'' ​to download the required zip (find it below) 
 +  * Create a Python3 environment,​ make sure PyPI is up to date and install the required packages: 
 +<​code>​ 
 +python3 -m venv create env 
 +source ./​env/​bin/​activate 
 +pip install --upgrade pip 
 +pip install cryptography donna25519 
 +</​code>​
  
 +**If local installation does not work, use your ''​%%fep%%''​ instance.**
  
 === Task === === Task ===
 Find the required zip here - {{:​ac:​laboratoare:​lab07.zip|}}. Find the required zip here - {{:​ac:​laboratoare:​lab07.zip|}}.
  
-Create a common master_secret for two clients which communicate through a server. (TODO 1.1 & TODO 1.2)+Create a common ​''​%%master_secret%%'' ​for two clients which communicate through a server. (**TODO 1.1** **TODO 1.2**)
 Print it on both clients and make sure they both have the same secret. Print it on both clients and make sure they both have the same secret.
  
ac/laboratoare/07.1731543890.txt.gz · Last modified: 2024/11/14 02:24 by dimitrie.valu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0