Bonjour, j'ai qq petites questions sur l'utilisation de l'objet Cipher.
Lorsque j'instancie mon objet Cipher :
Que faut-il mettre en premier paramètre ("AES/CTR/NoPadding") ? J'ai trouvé sur le net les valeurs possibles mais je n'ai pas bien compris les différences.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 final Cipher cipher = Cipher.getInstance("AES/CTR/NoPadding", "BC");
Si qq'un m'envoie une donnée chiffrée et que de son coté il a utilisé "AES/CTR/NoPadding" (par exemple) pour chiffrer, est-ce que je dois utiliser la même chose pour mon objet Cipher pour déchiffrer ? Si oui, comment je connais cette valeur ?
J'ai une autre question, lors du chiffrement :
ou du déchiffrement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 cipher.init(Cipher.ENCRYPT_MODE, key, IvParameter, random);
A quoi correspond IvParameter ? J'ai bien trouvé une façon de le générer un utilisation un tableau de bytes aléatoire, basé sur cipher.getBlockSize():
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 cipher.init(Cipher.DECRYPT_MODE, key, IvParameter, random);
mais j'aimerais comprendre à quoi ça cert et comment être sûr d'avoir un paramètre correct ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 byte[] ivBytes = new byte[cipher.getBlockSize()]; random.nextBytes(ivBytes); IvParameterSpec param = new IvParameterSpec(ivBytes);
Merci d'avance
Le marlou
Partager