daformat
In the dialogs, we first explain to the player that we need to create him a username, a private key and a public one. Now the player gets too chose his username, and right after that we generate a random private key (well not exactly random, in fact we randomize a pre-generated private key so we can be sure of it's properties, otherwise the player could get hard times decrypting).
Once the private key is generated, we get the player to create his public key through scrambling and mixing the private key.
During the normal game, we add an extra check to make sure the private/public keys matches the ideal properties we need for our demonstration: we want the player to play with a simple public key and the AI to play with a strong (kind of) public key, in the game this translates to one column significantly 'bigger' than the others for the private key and more than one 'big' columns for the public key.
We only constrain the public key during the game's story mode, in arcade one can chose to create a 'weaker' public key ("Arcade" > "création des clés"), then let him play the arcade boards with it.
Additionally, we allow the player to chose who plays with what, so both the player and the AI can play with private/public keys.
So I really think all the building blocks are already in the game + arcade mode. But we need to admit that most people just skip dialogs, no matter what.
Oh, well let's just keep on iterating :)
Thanks for the help and comments guys, nice to see Cryptris getting some supporters on HN.
Though, I feel disappointed that the promises of "web app" were not really held so far (just look how you can't even open an external link in the browser from a webapp now), in favor of native apps, and hope that webGL in the browser isn't gonna be just another bittersweet thing.
I guess we can simply wait to see how the tickets you linked to will go to have a good sense about that.