Briar.md (2232B)
1 # Briar 2 3 ## High Level 4 5 - Peer to peer over (functionally) any medium 6 - Tor 7 - WiFi 8 - Bluetooth 9 - etc. 10 - Uses delay cryptographic protocols tailored for delay-tolerant p2p communciation 11 - BHP 12 - BQP 13 - BTP 14 - Claimed forward security 15 - Resistant to 16 - eavesdropping 17 - tampering 18 - traffic analysis 19 20 ## Specifics 21 22 - Bramble 23 - Underlying decentralized framework for Briar 24 - Bramble handshake protocol (BHP) 25 - Key agreement protocol that allows two peers to establish a shared key 26 - Bramble QR code protocol (BQP) 27 - Key agreement protocol that allows peers to establish an ephemeral shared key locally 28 - Bramble rendezvous protocol (BRP) 29 - Discovery protocol, allowing two peers having exchanged keys to setup a P2P connection 30 - Bramble synchronisation protocol (BSP) 31 - Application layer data synchronization protocol, allowing group members to sync messages over dealy-tolerant networks 32 - Bramble transport protocol (BTP) 33 - Transport layer security protocol in Briar 34 35 - Account setup (all done locally) 36 - set nickname and password 37 - generates 38 - a signing key pair (spk, ssk) 39 - a handshake key pair (hpk, hsk) 40 - NOTE: There is no way to transfer accounts 41 - I don't really know why tbh, seems possible, just copy state... 42 43 - Adding contacts 44 - QR code 45 - two peers nearby scan each other's QR codes containing an ephemeral public key (epk) 46 - derive a shared key mk 47 - these QR codes are generated uniquely every time 48 - Handshake links 49 - two peers exchange their handshake links out-of-band, which contain their handshake public keys 50 - use BRP to establish a Tor connection protected by a static key 51 - run BHP over the connection to create a shared secret key mk 52 - Introduction 53 - A user may introduce two of their contacts by sending requests to both of them 54 - Both contacts accept the introduction 55 - The introduced can relay protocol messages between the contacts 56 - The contacts cna then derive a shared secret key mk, unknown to the introducer and exchange their contact info 57 58 - Sending messages 59 - Messages are synced between peers using the BSP.