Вы не можете помешать мужчинам в середине перехватывать ваши пакеты / сообщения, особенно если им действительно все равно, узнаете ли вы. Что вы можете сделать, так это зашифровать ваши сообщения, чтобы их перехват не позволял им читать то, что вы отправляете и получаете. Теоретически это хорошо, но на практике вы не можете сделать современную криптографию вручную даже с помощью ключей: вам также необходимо перенести некоторое программное обеспечение, и вот тут оно становится гораздо более неловким.
Вы хотите, чтобы клиентская сторона криптографического программного обеспечения была на стороне клиента или, по крайней мере, достаточно для проверки правильности цифровой подписи криптографического программного обеспечения. Цифровые подписи очень трудно подделать. Доставьте подписанный код, проверьте его подпись, и если подпись проверяется на соответствие открытому ключу, которому вы доверяете (увы, вам придется передавать его вне полосы), то вы знаете, что код (плюс любые сертификаты CA - доверенные корни - отправлены наряду с этим) можно доверять для работы по желанию. Пакеты могут затем проходить через обычный HTTP; они либо доберутся до места назначения, либо будут перехвачены, но в любом случае никто, кроме предполагаемого получателя, не сможет их прочитать. Преимущество SSL только в заключается в том, что он создает практически все это для вас и делает его простым.
Я понятия не имею, насколько практично делать все это в Javascript. Очевидно, что он может это сделать - это полный по Тьюрингу язык, он имеет доступ ко всем необходимым системным вызовам - но это может быть глупо дорого. Возможно, было бы проще подумать об использовании GPG ...
(Сокрытие факта от правительства, что вы общаетесь вообще, - это совсем другая проблема.)