IDsat


 
AccueilPortailCalendrierFAQRechercherS'enregistrerMembresGroupesConnexion

Partagez | 
 

 Mediaguard -> Algorithme de décodage

Aller en bas 
AuteurMessage
Fondateur

avatar

Nombre de messages : 670
Date d'inscription : 05/10/2006

MessageSujet: Mediaguard -> Algorithme de décodage   Sam 21 Avr - 8:38

Pas premier - Obtenir nouveau byte de clé pour le cycle suivant

Exécuter les opérations suivantes:



k(i, = k(i, XOR T1[k(i+1, XOR k(i-1, XOR C]

k(i+1, = k(i+1, XOR T1[K(i+2, XOR k(i, XOR C]

k(i+2, = k(i+2, XOR T1[k(i+3, XOR k(i+1, XOR C]

k(i+3, = k(i+3, XOR T1[k(i+4, XOR k(i+2, XOR C]



où les = 1 pour les cycles 1, 5, 9, 13

5 pour les cycles 2, 6, 10, 14

9 pour les cycles 3, 7, 11, 15

13 pour les cycles 4, 8, 12, 16.



Dans les cas dans lequel la formule susdite donne suffixes dehors k de l'entracte 1-16, on doit considérer la valeur obtenue par k en faisant le formulaire 16. Es. Si k = 17, alors k = k mod 16 = 1, si k=16, alors k = k mod 16 = 0.

La valeur du constant C dépend du numéro de cycle. Pour les cycles 1, 2,…, 15, 16 telle constante a valeurs mêmes respectivement au 0x00, 0x01,…, 0x0E, 0x0F.

Cela annule (unwinding) l'effet de la manipulation du circulaire clé dans l'algorithme de decriptaggio.



Second pas - XOR du byte de clé avec ceux de données

Celui-ci est simple:



d5 = K(i, XOR d5

d6 = K(i+1, XOR d6

d7 = K(i+2, XOR d7

d8 = K(i+3, XOR d8



où les = 1 pour les cycles 1, 5, 9, 13

5 pour les cycles 2, 6, 10, 14

9 pour les cycles 3, 7, 11, 15

13 pour les cycles 4, 8, 12, 16.



L'inversion des suffixes annule (unwinds) l'interaction du byte de clé avec ceux de données comparée dans l'algorithme de decriptaggio.



Troisième pas - Fonction Noyau

Avant exécuter 4 accès au Tableau 1:



d5 = T1[d5], d6 = T1[d6], d7 = T1[d7], d8 = T1[d8]



Successivement utiliser le Tableau 2, tu vois au-delà. Le terme '~ il signifie qu'échange de place du demi byte moins significatif avec ce plusieurs significatif, es. 11100010 = E2 Þ ~ E2 = 2E = 00101110,:



d5 = d8 XOR d5

d7 = T2[(~d8, + d7]



d8 = d7 XOR d8

d6 = T2 [(~ d7, + d6]



d7 = d6 XOR d7

d5 = T2 [(~ d6, + d5]

Maintenant on doit utiliser le Tableau 1 de la façon suivante:



d6 = d5 XOR d6

d8 = T1[(~d5, + d8]



d5 = d8 XOR d5

d7 = T1[(~d8, + d7]



d8 = d7 XOR d8

d6 = T1[(~d7, + d6]

Finalement exécuter:



d7 = d6 XOR d7

d6 = d5 XOR d6.

Si en quelque addition la valeur résultante est grande de 0xFF, soustraire la valeur 0x0100 avant d'accéder aux tableaux.

Ce pas est identique à l'all relatif Fonction Noyau de decriptaggio, mais clairement oeuvre en direction opposée.



Quatrième pas - Calculer les nouvelles valeurs du byte de données pour le prosimo cycle

Ceux-ci les obtiennent du Tableau 2 en procédant de la façon suivante:



d1 = T2[d6] XOR d1

d2 = T2[d8] XOR d2

d3 = T2[d5] XOR d3

d4 = T2[d7] XOR d4



Avant d'utiliser le byte de données d1,…, d8 faut les échanger de la façon suivante:



d1 D d5

d2 D d6

d3 D d7

d4 D d8



CARACTÉRISTIQUE: à la fin du 16° cycle cependant cet échange ne doit pas être fait et le byte d1,…, d8 représentent le marquage complet qui devrait coïncider au 8 byte que suivants au modèle 0x82.

Je suis conscient qu'un coup d'oeil au questomateriale tout est assez décourageant, mais si vous étudiez le matériel à travers un exemple, vous trouverez le courage d'aller devant.

Pour récapituler, nous pouvons dire que le mot de contrôle est le Decriptaggio Mediaguard, le message de marquage est le Criptaggio Mediaguard vice versa.

Les clés sont mémorisées pour l'usage direct avec le criptaggio Mediaguard et à chaque cycle elle est engendrée un circulaire clé pour ce cycle.

Nous pouvons dire ensuite que l'algorithme de Criptaggio opère sur les clés circulaires R1, R2,…, R16.

L'algorithme de decryptaggio est le contraire de ce de Criptaggio; le but de la phase de préparation de la clé est ce d'engendrer R16. À chaque cycle de Decriptaggio elle est engendrée la clé circulaire pour le cycle suivant.

Les circulaire clé pour le decriptaggio sont R16, R15,…, R1. La procédure entière assure que le Decryptaggio est le procédé inverse du Criptaggio exactement.



Pour gravé, si quelqu'un reconnaît l'algorithme et son nom, il aura la gentillesse peut-être de me le faire savoir.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://idsat.probb.fr
 
Mediaguard -> Algorithme de décodage
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
IDsat :: *** Systèmes de Cryptages *** :: Seca II-
Sauter vers: