libaacs | branch: master | npzacs <npz...@gmail.com> | Tue Oct  8 11:38:17 2013 
+0300| [9b6e7bbb832b9680e207884c21a2a82bf52c1e2c] | committer: npzacs

Use crypto_aes128d()

> http://git.videolan.org/gitweb.cgi/libaacs.git/?a=commit;h=9b6e7bbb832b9680e207884c21a2a82bf52c1e2c
---

 src/libaacs/aacs.c   |   16 ++++------------
 src/libaacs/crypto.c |    6 +-----
 2 files changed, 5 insertions(+), 17 deletions(-)

diff --git a/src/libaacs/aacs.c b/src/libaacs/aacs.c
index e8f5812..004333e 100644
--- a/src/libaacs/aacs.c
+++ b/src/libaacs/aacs.c
@@ -459,14 +459,11 @@ static int _calc_vuk(AACS *aacs, uint8_t *mk, uint8_t 
*vuk,
         return error_code;
     }
 
-    int a;
-    gcry_cipher_hd_t gcry_h;
+    /* calculate VUK */
 
-    gcry_cipher_open(&gcry_h, GCRY_CIPHER_AES, GCRY_CIPHER_MODE_ECB, 0);
-    gcry_cipher_setkey(gcry_h, mk, 16);
-    gcry_cipher_decrypt(gcry_h, vuk, 16, aacs->vid, 16);
-    gcry_cipher_close(gcry_h);
+    crypto_aes128d(mk, aacs->vid, vuk);
 
+    int a;
     for (a = 0; a < 16; a++) {
         vuk[a] ^= aacs->vid[a];
     }
@@ -691,12 +688,7 @@ static int _calc_uks(AACS *aacs, config_file *cf)
                 break;
             }
 
-            gcry_cipher_hd_t gcry_h;
-            gcry_cipher_open(&gcry_h, GCRY_CIPHER_AES,
-                             GCRY_CIPHER_MODE_ECB, 0);
-            gcry_cipher_setkey(gcry_h, vuk, 16);
-            gcry_cipher_decrypt(gcry_h, aacs->uks + 16*i, 16, buf, 16);
-            gcry_cipher_close(gcry_h);
+            crypto_aes128d(vuk, buf, aacs->uks + 16*i);
 
             char str[40];
             DEBUG(DBG_AACS, "Unit key %d: %s\n", i,
diff --git a/src/libaacs/crypto.c b/src/libaacs/crypto.c
index acb65e8..f1b54f8 100644
--- a/src/libaacs/crypto.c
+++ b/src/libaacs/crypto.c
@@ -103,15 +103,11 @@ static void _curve_free(elliptic_curve_t *c)
 static void _aesg3(const uint8_t *src_key, uint8_t *dst_key, uint8_t inc)
 {
     int a;
-    gcry_cipher_hd_t gcry_h;
     uint8_t seed[16] = { 0x7B, 0x10, 0x3C, 0x5D, 0xCB, 0x08, 0xC4, 0xE5,
                          0x1A, 0x27, 0xB0, 0x17, 0x99, 0x05, 0x3B, 0xD9 };
     seed[15] += inc;
 
-    gcry_cipher_open(&gcry_h, GCRY_CIPHER_AES, GCRY_CIPHER_MODE_ECB, 0);
-    gcry_cipher_setkey(gcry_h, src_key, 16);
-    gcry_cipher_decrypt (gcry_h, dst_key, 16, seed, 16);
-    gcry_cipher_close(gcry_h);
+    crypto_aes128d(src_key, seed, dst_key);
 
     for (a = 0; a < 16; a++) {
         dst_key[a] ^= seed[a];

_______________________________________________
libaacs-devel mailing list
libaacs-devel@videolan.org
https://mailman.videolan.org/listinfo/libaacs-devel

Reply via email to