IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

[Bouncy Castle] Recherche d'une documentation


Sujet :

API standards et tierces Java

  1. #1
    Membre averti Avatar de thorium90
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juillet 2008
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 120
    Points : 328
    Points
    328
    Par défaut [Bouncy Castle] Recherche d'une documentation
    Bonjour,

    Actuellement dans la rubrique officielle de Bouncy Castle section Documentation : http://www.bouncycastle.org/fr/documentation.html , ils indiquent clairement :
    Vous pourrez trouver des programmes de tests dans les packages :

    org.bouncycastle.crypto.test
    org.bouncycastle.jce.provider.test
    org.bouncycastle.cms.test
    org.bouncycastle.mail.smime.test
    org.bouncycastle.openpgp.test
    org.bouncycastle.tsp.test
    De quels packages parlent-ils ? Où donc se situent-ils ?

    Ici http://www.cs.berkeley.edu/~jonah/bc...w-summary.html il n'y a qu'une liste des méthodes et des classes.
    Quant à leurs exemples qu'on est censé voir sur une page comme celle ci : http://www.cs.berkeley.edu/~jonah/bc...12Example.html mais il n'y a selon moi rien de concret.

    N'ayant pas l'habitude de développer en Java, j'imagine que je suis à côté de la plaque mais j'en viens à imaginer que c'est dans le .jar d'installation de la librairie ou un truc comme ça.
    Quelqu'un saurait-il me guider un peu ?

    Un dernier exemple : http://javadox.com/org.bouncycastle/...nt.KeyGen.html
    Il n'y pas de descriptif de fonction, pas d'indication sur les parametres attendus...

    Pour être vraiment précis (donc ce lien ne me suffit pas : http://nyal.developpez.com/tutoriel/java/bouncycastle/) je cherche une implémentation de l'algorithme de chiffrement Serpent en 256 bits.

    Actuellement j'ai ce bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    import java.security.SecureRandom;
    import java.security.Security;
     
    import javax.crypto.Cipher;
    import javax.crypto.SecretKey;
    import javax.crypto.SecretKeyFactory;
    import javax.crypto.spec.PBEKeySpec;
     
    import org.bouncycastle.jce.provider.BouncyCastleProvider;
     
    public class Cortex 
    {
        private static final String salt = "blabla plein de sel";
        private static final int iterations = 66000;
        private static final int keyLength = 256;
        private static final SecureRandom random = new SecureRandom();
     
        public static void main(String [] args) throws Exception {
            Security.insertProviderAt(new BouncyCastleProvider(), 1);
     
            String passphrase = "blabla la passphrase";
            String plaintext = "hello worldhello worldhello worldhello worldhello worldhello worldhello world";
            byte [] ciphertext = encrypt(passphrase, plaintext);
     
            System.out.print("cipher:  ");
            for (int i=0; i < ciphertext.length; i++)
                System.out.print(new Integer(ciphertext[i])+" ");
            System.out.println("");
     
            String recoveredPlaintext = decrypt(passphrase, ciphertext);
     
            System.out.println(recoveredPlaintext);
        }
     
        private static byte [] encrypt(String passphrase, String plaintext) throws Exception {
            SecretKey key = generateKey(passphrase);
            Cipher cipher = Cipher.getInstance("SERPENT/CTR/NoPadding");
            cipher.init(Cipher.ENCRYPT_MODE, key, random);
            return cipher.doFinal(plaintext.getBytes());
        }
     
        private static String decrypt(String passphrase, byte [] ciphertext) throws Exception {
            SecretKey key = generateKey(passphrase);
     
            Cipher cipher = Cipher.getInstance("SERPENT/CTR/NOPADDING");
            cipher.init(Cipher.DECRYPT_MODE, key, random);
            return new String(cipher.doFinal(ciphertext));
        }
     
        private static SecretKey generateKey(String passphrase) throws Exception 
        {
            PBEKeySpec keySpec = new PBEKeySpec(passphrase.toCharArray(), salt.getBytes(), iterations, keyLength);
            SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("PBEWITHSHA256AND256BITAES-CBC-BC");
            return keyFactory.generateSecret(keySpec);
        }
    }
    Il fonctionne à un détail près : je peux changer la valeur de keyLength de 1 à 256 mais mon cypher reste toujours identique.

    J'en conclus donc que j'ai vraiment besoin de la doc afin de comprendre les mécaniques sous-jacentes de Bouncy Castle.

    Merci d'avance à vous tous.

  2. #2
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3 468
    Points : 17 036
    Points
    17 036
    Par défaut
    Bonjour,

    Je ne connais rien à cette API mais apparemment on peut obtenir le zip des exemples en passant par la version anglaise du site http://www.bouncycastle.org/index.html / https://www.bouncycastle.org/documentation.html
    Responsable FAQ Eclipse | Maintiens et développe un des logiciels destinés aux rédacteurs sur developpez.com
    Gardons toujours à l'esprit que le forum constitue une base documentaire, dont l'utilité et la qualité dépendent du soin apporté à nos questions et nos réponses. Soyons polis, précis (dans le titre et dans le corps des questions), concis, constructifs et faisons de notre mieux pour respecter la langue française et sa grammaire. Merci pour nous (les modérateurs) mais aussi et surtout, merci pour vous.
    Problème solutionné => je vais au bas de la page et je clique sur le bouton (qui suite à mise à jour du forum, a légèrement changé d'aspect).

  3. #3
    Membre averti Avatar de thorium90
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juillet 2008
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 120
    Points : 328
    Points
    328
    Par défaut
    Pour ceux qui cherchent le lien direct http://media.wiley.com/product_ancil...o_examples.zip

    Merci bien Laurent.B

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/03/2015, 19h49
  2. Réponses: 1
    Dernier message: 09/01/2013, 11h45
  3. recherche une documentation approfondie sur animation 2D
    Par Ndugu dans le forum Windows Presentation Foundation
    Réponses: 9
    Dernier message: 29/07/2009, 14h21
  4. A la recherche d'une base de documents pour test
    Par amirad dans le forum Access
    Réponses: 0
    Dernier message: 09/06/2009, 00h21
  5. Recherche d'une documentation
    Par bounnitcharaf dans le forum Développement
    Réponses: 1
    Dernier message: 08/07/2005, 13h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo