1. Oui en XOR, mais pas avec la clé, avec le nombre pseudo-aléatoire générée par la clé.
2. Pseudo-aléatoire, mais pas aléatoire. Quelque soit la méthode utilisée, le but est de mélanger d'une façon précise qui paraît aléatoire, mais qui ne l'est pas car l'on doit pouvoir retrouver les valeurs en appliquant le même algo (comme une méthode de hashage). Il faut justement que ce soit complexe pour que ce ne soit pas modélisable (et donc simplifiable) facilement. D'ailleurs, c'est sur le mélange qu'intervient la clé : avec une valeur de clé différente, le mélange devient relativement différent.
3. 10 à 20 lignes de code, pas plus.
Ce chiffrement n'est, en fait, pas très complexe et n'est pas très sûr.