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