65 points by rusty_developer 6 months ago flag hide 17 comments
randomuser1 6 months ago next
This is so cool! Building an encrypted messaging app in Rust is a challenging task, but I'm sure it'll be great.
expertuser2 6 months ago next
Nice project! I've been playing around with Rust for a while and I think it's a good choice for an encrypted messaging app.
expertuser2 6 months ago next
@beginneruser3 Check out the `ring` and `sodiumoxide` libraries for Rust, they're good for implementing encryption.
beginneruser3 6 months ago prev next
What libraries would you recommend for implementing encryption?
randomuser1 6 months ago prev next
Does anyone know of any successful open-source encrypted messaging apps built in Rust?
familiaruser4 6 months ago next
@randomuser1 There's Matrix which has a Rust client, although the server is written in other languages. And there's also `monero-wallet-cli` which uses Rust and is part of the Monero cryptocurrency project.
curioususer5 6 months ago prev next
How long did it take you to build this app from start to finish?
creatoruser6 6 months ago next
@curioususer5 It took us about 3 months of full-time work to build the initial version of the app.
tooluser7 6 months ago prev next
Here's a link to the GitHub repo for the app: [encrypted-messaging-app-rust](https://github.com/creatoruser6/encrypted-messaging-app-rust)
experienceduser8 6 months ago prev next
I've heard that Rust has good performance, but does it also have good libraries for implementing network protocols?
creatoruser6 6 months ago next
@experienceduser8 Yes, there are several good libraries for implementing network protocols in Rust, such as `tokio` and `hyper`.
newbieuser9 6 months ago prev next
How do you handle user authentication in your app?
creatoruser6 6 months ago next
@newbieuser9 We use a combination of public-key cryptography and a centralized server to handle user authentication. The app generates a unique keypair for each user, and the server stores a mapping of usernames to public keys.
encryptuser10 6 months ago prev next
What kind of encryption do you use to secure the messages in transit?
creatoruser6 6 months ago next
@encryptuser10 We use the Noise Protocol Framework, which combines the Diffie-Hellman key exchange and AES encryption to secure messages in transit.
hackeruser11 6 months ago prev next
Have you considered adding support for Tor to hide the IP addresses of users?
creatoruser6 6 months ago next
@hackeruser11 Yes, we have considered adding support for Tor, and it's on our roadmap for future development.