GoldoSat
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.



 
AccueilPortailRechercherDernières imagesConnexionS'enregistrer
-28%
Le deal à ne pas rater :
Précommande : Smartphone Google Pixel 8a 5G Double Sim 128Go ...
389 € 539 €
Voir le deal

 

 Les secrets de Viaccess3

Aller en bas 
AuteurMessage
Caramoko
Admin
Admin
Caramoko


Nombre de messages : 53
Age : 76
Localisation : Oui! Lààà sur ce PC......
Date d'inscription : 08/11/2006

Les secrets de Viaccess3 Empty
MessageSujet: Les secrets de Viaccess3   Les secrets de Viaccess3 Icon_minitimeSam 25 Nov - 18:02

4)Algorithmes Eurocrypt.
L' algorithme de base utilisé en eurocrypt est le DES il a été utilisé sous trois variantes celle présentée ici est l'eurocrypt M considéré souvent comme étant à la base du Viaccess. Le paragraphes qui suivent sont la traduction d'un document rédigé par John Macdonald. Les nombres dans les paragraphes suivant sont exprimés en décimal sauf mention spécifique. Les étapes principales du processus sont: -la préparation de la clef -traitement des données -itération En d'autre termes, nous procéderons à certaines opérations sur la clef, puis sur les mots cryptés et finalement combinerons les deux éléments (Ou exclusif) . Ce processus sera répété 16 fois (on dira qu'il y a 16 passes) pour décrypter un mot.
41 Préparation de la clef
Nous disposons d'une clef sur 7 octets soit 56 bits que nous séparerons en deux bloc de 28 bits sur lesquels nous opéreront une permutation circulaire de 1 ou 2 bits vers la gauche. Le nombre de bits de permutation dépendant du numéro d'ordre de la passe que nous somme entrain de traiter (1 a 16) conformément à la table: passe 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Nb permutations 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 Puis les deux blocs sont à nouveau assemblés pour former un mot de 56 bits dont nous allons extraire 48 bits en les réorganisant en fonction de la table suivante :
14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32
Ceci signifie que bit 1 du nouveau bloc est le bit 14 de l'ancien bloc, le bit 2 du nouveau bloc est le bit 17 de l'ancien bloc et ainsi de suite pour finir par le bit 48 du nouveau bloc est le bit 32 de l'ancien bloc.
On remarquera que les anciens bits 9 18 22 25 38 43 54 ne sont pas utilises Cette opération est nommée Permutated Choice 2 ou PC-2 dans la terminologie DES .
La préparation de la clef est maintenant terminée pour une passe. Le résultat est une nouvelle clef sur 48 bits que nous utiliserons ultérieurement.
42 Traitement des données
Les mots cryptes ont une longueur de 8 octets soit 64 bits. La première opération consiste a séparer ce mot en deux blocs de 32 bits nommés L et R. Puis nous construisons un nouveau bloc R1 d'une longueur de 48 bits en utilisant la table suivante:
32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1
Ceci signifie que le premier bit de R1 est le 32 ème de R, le deuxième de R1 le 1 er de R …… pour finir avec le 48 ème bit de R1 est le premier de R.
On remarquera que certains bits de R sont utilisés plusieurs fois. La table est nommée table d'Expansion ou Table-E Nous effectuons maintenant un OU exclusif entre les 48 bits de R1 et les 48 bits de la clef préparée précédemment. Le résultat est décomposé en 8 blocs de 6 bits; chaque bloc est utilisé pour trouver une valeur dans une des huits tables ci dessous nommées tables de Substitution ou S-Boxes.
Substitution Box 1 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 0 15 7 4 14 2 13 1 12 6 12 11 9 5 3 8 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
Substitution Box 2 15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10 3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5 0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15 13 8 10 1 3 15 4 2 11 7 7 12 0 5 14 9
Substitution Box 3 10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8 13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1 13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7 1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12
Substitution Box 4 7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15 13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9 10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4 3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14
Substitution Box 5 2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9 14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6 4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14 11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3
Substitution Box 6 12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11 10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8 9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6 4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13
Substitution Box 7 4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1 13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6 1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2 6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12
Substitution Box 8 13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7 1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2 7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8 2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11
La ligne de la S-Box est calculée en utilisant le premier et le sixième bit (0 1 2 3 4) pour chaque bloc de six bits la colonne est déterminée avec les 4 bits au milieu de chaque bloc (0 -15). On utilisera le premier bloc de 6 bits avec S1 le second avec S2 et ainsi de suite le huitième utilisant S8. Toutes les valeurs dans les S-Box sont comprises entre 0 et 15 et donc codées sur 4 bits. On substitue donc une valeur sur 4 bits a une valeur sur 6 bits. On construit ainsi une chaîne R2 sur 32 bits (8x4 bits) Pour finir on utilise la table de permutation suivante pour créer la chaîne R3 a partir de R2. 16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25
Le premier bit de R3 sera le 16 ème de R2 le 2 de R3 est 7 ème de R2 et ainsi de suite le 32 ème de R3 est le 25 ème de R2.
43) ITERATION DU PROCESSUS
Résumé nous avons donc séparé le mot crypté en deux parties L et R ; créer un nouveau mot R3 à partir de R et conservé L. L'étape suivante consiste à faire un OU exclusif entre L et R3 ceci terminera la première passe du processus de décodage Pour la prochaine passe nous remplaçons L par R3 et R par le résultat de la fonction OU précédente. Nous répétons alors les opérations de préparation de la clef et de traitement des données. Nous répétons tout ceci 16 fois et in fine sommes en présence de deux mots un gauche L final et un droit R3 final de 32 bits chacun
Il reste a assembler les deux mots pour obtenir le premier mot décrypté sur 64 bits (8 octets) On décrypte ensuite le second mot transmis par CA88 et on renvoie les deux mots décryptés en réponse à CACO ce qui autorisera l'affichage de l'image.
44)EUROCRYPT-S2
Il y a trois différences entre Eurocrypt-M et Eurocrypt-S2. PREPARATION de la clef Comme en Eurocrypt M la clef est divisée en deux moitiés mais aucune permutation à gauche n'est effectuée avant la modification par PC-2. Onréalise une permutation à droite après ces modifications. Traitement des données Avant d'utiliser la table d'expansion on crée un nouveau mot en uilisant la table de permutation:
58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7
Cette permutation est nommée permutation initiale ou IP On procède ensuite au décryptage comme en Eurocrypt M puis le résultat est transformé en utilisant la table inverse de la table précédente
40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31 38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29 36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27 34 2 42 10 50 18 56 26 33 1 41 9 49 17 57 25
Cette table est nommée Permutation Inverse Initiale ou IP**-1.
5)CALCUL DE SIGNATURE
Le système Eurocrypt comporte une fonction permettant a la carte de vérifier que les données cryptées qui lui parviennent lui sont bien destinées et qu'elles ne sont pas altérées. Cette fonction le calcul de signature aussi nommée HASCH Toutes les instructions contenant une donnée cryptée (18 et 88) se terminent par une chaîne de dix caractères :
f0 08 < 8 octets en hexa >
Les 8 octets placés après F008 constituent les données de la signature. Lorsque la carte traite les données cryptée elle effectue un calcul de signature. Le résultat de ce calcul est comparé avec les huit bits qui suivent l'entête F008 si il y a concordance la carte renvoie 90 00 sinon elle retourne la réponse 91 00 L'algorithme est basé sur un tampon de 8 octets initialisé a zéro a la réception du champ de données pour le traitement d'une instruction 88 et à la réception du champ de donnée de l'instruction F0 précédente pour le calcul de signature pour l'instruction 18. On récupère ensuite les huit premiers octets du champ de données en faisant un ou exclusif avec le contenu du tampon de signature. La fonction HASH est ensuite appliquée au contenu du tampon. Le résultat remplace alors les données du tampon. Les huit données suivantes sont récupérées en faisant un ou exclusif avec le contenu du tampon (on commence a l'octet 1). Ce processus se poursuit jusqu'à arriver de l'entête F008 si le résultat du calcul précédent correspond aux données qui suivent cette entête la signature est acceptée En quoi consiste la fonction HASH ? On utilise le même algorithme que pour la fonction DES (M ou S) utilisée pour le décryptage des mots de contrôle excepté que a la fin de chacune des 16 itérations les deux premiers octets du mot R3 sont intervertis avant de faire le OU exclusif avec le mot L .
5)Algorithme Viaccess.
On a vu dans le paragraphe précédent que le passage lors de la définition de l'eurocrypt S2 une grande partie de l'algorithme avait été conservé Il en a été de même lors de l'introduction du 3DES .
Je pense que l'algorithme de base a également été conservé lors du passage au viaccess en particulier toutes les tables S boxes.
6)Terminaisons
90 00 terminaison normale commande acceptée et executée 90 08 fin des données (B8) instruction non implantée (AC) erreur 6B 00 mauvais paramètres (INS P1 ou P2) 6C 00 90 02 instruction AC non implantée
Revenir en haut Aller en bas
 
Les secrets de Viaccess3
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Les secrets de Viaccess1
» Les secrets de Viaccess2

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
GoldoSat :: Tutoriaux et modes d'emploi :: Documentation-
Sauter vers: