How does E2E work when its not P2P?

For decades the technology has existed to allow two people to generate an encryption key over public communication channels without any intermediary learning it. This is not new to signal.

Over time, people developed communication protocols with this E2E encryption feature, and other useful features like forward secrecy (each message gets its own key and you can't discern earlier keys from the current one) and being able to verify that the person you're communicating with is the one you initially established the key with. This also isn't exactly new in Signal either.

What Signal's original insight was--which made it so popular among security researchers and led to it being implemented in a number of other chat apps--was how to do all this over phones with all the issues that entails: they aren't necessarily on at the same time or might be offline for long periods, might send multiple messages and have responses delayed while more are sent, or might receive messages out of order. This technology is what's explained in the videos that the other person posted.

/r/signal Thread