Une fois pad, le chiffrement et le déchiffrement

Je suis en train de ramasser de la cryptographie et avait essayé cet exercice

Écrire un programme (de préférence Java) pour générer un pad, ce qui est relativement grand fichier de tous les
données aléatoires (disons 1 MO). Le programme devrait également être en mesure de crypter/décrypter des fichiers basé sur le
généré une fois le pad.

Astuce: utilisez la suite de vecteur de test pour vérifier si votre programme ne chiffrement correctement.

Texte brut (ASCII): Chaque nuage a une doublure argentée
OTP (HEX): 6dc72fc595e35dcd38c05dca2a0d2dbd8e2df20b129b2cfa29ad17972922a2
cryptogramme (HEX): 28b14ab7ecc33ea157b539ea426c5e9def0d81627eed498809c17ef9404cc5

J'ai essayé de générer un pad à l'aide du générateur de nombres aléatoires que j'ai besoin de les convertir au format hexadecimal. et je suis assez sûr que je suis confus ou de ne pas aborder de la bonne façon

public static void oneTimePad()
{
    Random ran = new Random();
    String s = "0123456789ABCDEF";
    for(int i = 0; i < 100; i++)
    {   
        System.out.print(s.charAt(ran.nextInt(s.length())));
    }
}

Ci-dessus serait mon one time pad, et je me demandais comment une idée de comment je pourrais mettre en œuvre le chiffrement à l'aide de la ventouse et le décrypter.

..quelle est votre question?
Hex est 0123456789ABCDEF.
Pour mettre en œuvre la description vous pouvez choisir n'importe quelle transformation est réversible si vous connaissez la tablette. octet-sage XORing est la première opération de ce type qui vient à l'esprit, mais il ne fonctionne pas pour votre exemple de texte en clair+pad+cryptogramme
serait travailler pour mon exemple alors? 🙂
Eh bien, si c'était dans un cours de niveau collégial, "envoyant un courriel à l'instructeur". C'est vraiment pas très facile de globe oculaire comment un groupe de bits a été transformé en un tas de bits.

OriginalL'auteur user1792962 | 2012-11-02