Popcorn!
Schick dem Nutzer eine E-Mail mit einem "Private Key".
Jetzt kommen wir schon zu asynchronen Verfahren wo ein Key an den Benutzer per Mail verschickt wird. Warum glaubst du wohl, darf man im elektronischen Zahlungsverkehr Kreditkartennummern nur über HTTPS übermitteln und auf keinen Fall auch nur in irgend einer Weise per Mail verschicken?
Der Server liefert nach einem erfolgreichen Login eines Nutzers die Daten immer mit dem entsprechenden "Public Key" verschlüsselt aus. Nur der Nutzer mit dem "Private Key", der in einem Cookie gespeichert ist, kann die Daten Clientseitig entschlüsseln.
Und jeder andere der den Key zuvor mitgeschnitten hat, das E-Mail findet oder einfach das Cookie klaut. Ein Cookie - gehts noch? Da wird der Key ja wild und unverschlüsselt bei jedem Request mitgeschickt - super Plan ;) Local Storage würde ich mir noch eingehen lassen, aber auch das wäre in anbetracht der Sicherheit absolutes Gehirnbluten.
Das ganze dann noch mit einem Schlüsselpaar für den Server.
Wozu braucht der Server ein Schlüsselpaar? Ein Schlüsselpaar ist für Client und Server (oder umgekehrt gedacht) wenn einer allein ein Paar hat bringt das nichts.
Müsste doch gehen und eigentlich auch recht zuverlässig sicher sein. So sicher wie eben der "Private Key" im Cookie ist.
Also garnicht, den jeder kann Cookies beliebig von der Platte lesen. Da die dort im Klartext vorliegen.
Auf welche PHP- und JavaScript-Funktionien Du dabei zurückgreifen kannst weiß ich leider nicht.
Hoffentlich auf gar keine - und wenn, würde ich auf ROT13 setzen - da kann man die Schuld danach auf den zu schwachen Algorithmus schieben ;)