Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev Replace numeric block sizes with symbolic names,



details:   https://anonhg.NetBSD.org/src/rev/05df3ffd302f
branches:  trunk
changeset: 820169:05df3ffd302f
user:      alnsn <alnsn%NetBSD.org@localhost>
date:      Mon Jan 02 14:28:29 2017 +0000

description:
Replace numeric block sizes with symbolic names,

No functional change. Requested by mrg a couple of months ago.

diffstat:

 sys/dev/cgd_crypto.c |  62 +++++++++++++++++++++++++++++++--------------------
 sys/dev/cgd_crypto.h |   5 +++-
 2 files changed, 41 insertions(+), 26 deletions(-)

diffs (228 lines):

diff -r 25941217ab12 -r 05df3ffd302f sys/dev/cgd_crypto.c
--- a/sys/dev/cgd_crypto.c      Mon Jan 02 12:38:16 2017 +0000
+++ b/sys/dev/cgd_crypto.c      Mon Jan 02 14:28:29 2017 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: cgd_crypto.c,v 1.14 2016/12/11 00:20:49 alnsn Exp $ */
+/* $NetBSD: cgd_crypto.c,v 1.15 2017/01/02 14:28:29 alnsn Exp $ */
 
 /*-
  * Copyright (c) 2002 The NetBSD Foundation, Inc.
@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cgd_crypto.c,v 1.14 2016/12/11 00:20:49 alnsn Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cgd_crypto.c,v 1.15 2017/01/02 14:28:29 alnsn Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -199,7 +199,7 @@
 
 struct aes_encdata {
        keyInstance     *ae_key;        /* key for this direction */
-       u_int8_t         ae_iv[16];     /* Initialization Vector */
+       u_int8_t         ae_iv[CGD_AES_BLOCK_SIZE]; /* Initialization Vector */
 };
 
 static void *
@@ -244,8 +244,10 @@
        KASSERT(cipher_ok > 0);
        rijndael_blockEncrypt(&cipher, &apd->ap_enckey,
            blkno_buf, blocksize * 8, iv);
-       if (blocksize > 16)
-               (void)memmove(iv, iv + blocksize - 16, 16);
+       if (blocksize > CGD_AES_BLOCK_SIZE) {
+               (void)memmove(iv, iv + blocksize - CGD_AES_BLOCK_SIZE,
+                   CGD_AES_BLOCK_SIZE);
+       }
 }
 
 static void
@@ -258,7 +260,8 @@
        cipher_ok = rijndael_cipherInit(&cipher, MODE_CBC, ae->ae_iv);
        KASSERT(cipher_ok > 0);
        rijndael_blockEncrypt(&cipher, ae->ae_key, src, len * 8, dst);
-       (void)memcpy(ae->ae_iv, (u_int8_t *)dst + (len - 16), 16);
+       (void)memcpy(ae->ae_iv, (u_int8_t *)dst +
+           (len - CGD_AES_BLOCK_SIZE), CGD_AES_BLOCK_SIZE);
 }
 
 static void
@@ -271,7 +274,8 @@
        cipher_ok = rijndael_cipherInit(&cipher, MODE_CBC, ae->ae_iv);
        KASSERT(cipher_ok > 0);
        rijndael_blockDecrypt(&cipher, ae->ae_key, src, len * 8, dst);
-       (void)memcpy(ae->ae_iv, (const u_int8_t *)src + (len - 16), 16);
+       (void)memcpy(ae->ae_iv, (const u_int8_t *)src +
+           (len - CGD_AES_BLOCK_SIZE), CGD_AES_BLOCK_SIZE);
 }
 
 static void
@@ -281,7 +285,7 @@
        struct aes_privdata     *apd = privdata;
        struct aes_encdata       encd;
 
-       (void)memcpy(encd.ae_iv, iv, 16);
+       (void)memcpy(encd.ae_iv, iv, CGD_AES_BLOCK_SIZE);
        switch (dir) {
        case CGD_CIPHER_ENCRYPT:
                encd.ae_key = &apd->ap_enckey;
@@ -358,7 +362,7 @@
        cipher_ok = rijndael_cipherInit(&cipher, MODE_XTS, ae->ae_iv);
        KASSERT(cipher_ok > 0);
        rijndael_blockEncrypt(&cipher, ae->ae_key, src, len * 8, dst);
-       (void)memcpy(ae->ae_iv, cipher.IV, 16);
+       (void)memcpy(ae->ae_iv, cipher.IV, CGD_AES_BLOCK_SIZE);
 }
 
 static void
@@ -371,7 +375,7 @@
        cipher_ok = rijndael_cipherInit(&cipher, MODE_XTS, ae->ae_iv);
        KASSERT(cipher_ok > 0);
        rijndael_blockDecrypt(&cipher, ae->ae_key, src, len * 8, dst);
-       (void)memcpy(ae->ae_iv, cipher.IV, 16);
+       (void)memcpy(ae->ae_iv, cipher.IV, CGD_AES_BLOCK_SIZE);
 }
 
 static void
@@ -381,7 +385,7 @@
        struct aes_privdata     *apd = privdata;
        struct aes_encdata       encd;
 
-       (void)memcpy(encd.ae_iv, iv, 16);
+       (void)memcpy(encd.ae_iv, iv, CGD_AES_BLOCK_SIZE);
        switch (dir) {
        case CGD_CIPHER_ENCRYPT:
                encd.ae_key = &apd->ap_enckey;
@@ -410,7 +414,7 @@
        des_key_schedule        *ce_key1;
        des_key_schedule        *ce_key2;
        des_key_schedule        *ce_key3;
-       u_int8_t                ce_iv[8];
+       u_int8_t                ce_iv[CGD_3DES_BLOCK_SIZE];
 };
 
 static void *
@@ -455,13 +459,15 @@
     const char *blkno_buf, size_t blocksize, int dir)
 {
        struct  c3des_privdata *cp = privdata;
-       char    zero_iv[8];
+       char    zero_iv[CGD_3DES_BLOCK_SIZE];
 
        memset(zero_iv, 0, sizeof(zero_iv));
        des_ede3_cbc_encrypt(blkno_buf, iv, blocksize,
            cp->cp_key1, cp->cp_key2, cp->cp_key3, (des_cblock *)zero_iv, 1);
-       if (blocksize > 8)
-               (void)memmove(iv, iv + blocksize - 8, 8);
+       if (blocksize > CGD_3DES_BLOCK_SIZE) {
+               (void)memmove(iv, iv + blocksize - CGD_3DES_BLOCK_SIZE,
+                   CGD_3DES_BLOCK_SIZE);
+       }
 }
 
 static void
@@ -471,7 +477,8 @@
 
        des_ede3_cbc_encrypt(src, dst, len, *ce->ce_key1, *ce->ce_key2,
            *ce->ce_key3, (des_cblock *)ce->ce_iv, 1);
-       (void)memcpy(ce->ce_iv, (const u_int8_t *)dst + (len - 8), 8);
+       (void)memcpy(ce->ce_iv, (const u_int8_t *)dst +
+           (len - CGD_3DES_BLOCK_SIZE), CGD_3DES_BLOCK_SIZE);
 }
 
 static void
@@ -481,7 +488,8 @@
 
        des_ede3_cbc_encrypt(src, dst, len, *ce->ce_key1, *ce->ce_key2,
            *ce->ce_key3, (des_cblock *)ce->ce_iv, 0);
-       (void)memcpy(ce->ce_iv, (const u_int8_t *)src + (len - 8), 8);
+       (void)memcpy(ce->ce_iv, (const u_int8_t *)src +
+           (len - CGD_3DES_BLOCK_SIZE), CGD_3DES_BLOCK_SIZE);
 }
 
 static void
@@ -491,7 +499,7 @@
        struct  c3des_privdata *cp = privdata;
        struct  c3des_encdata ce;
 
-       (void)memcpy(ce.ce_iv, iv, 8);
+       (void)memcpy(ce.ce_iv, iv, CGD_3DES_BLOCK_SIZE);
        ce.ce_key1 = &cp->cp_key1;
        ce.ce_key2 = &cp->cp_key2;
        ce.ce_key3 = &cp->cp_key3;
@@ -517,7 +525,7 @@
 
 struct bf_encdata {
        BF_KEY          *be_key;
-       u_int8_t         be_iv[8];
+       u_int8_t         be_iv[CGD_BF_BLOCK_SIZE];
 };
 
 static void *
@@ -554,12 +562,14 @@
     const char *blkno_buf, size_t blocksize, int dir)
 {
        struct  bf_privdata *bp = privdata;
-       char    zero_iv[8];
+       char    zero_iv[CGD_BF_BLOCK_SIZE];
 
        memset(zero_iv, 0, sizeof(zero_iv));
        BF_cbc_encrypt(blkno_buf, iv, blocksize, &bp->bp_key, zero_iv, 1);
-       if (blocksize > 8)
-               (void)memmove(iv, iv + blocksize - 8, 8);
+       if (blocksize > CGD_BF_BLOCK_SIZE) {
+               (void)memmove(iv, iv + blocksize - CGD_BF_BLOCK_SIZE,
+                   CGD_BF_BLOCK_SIZE);
+       }
 }
 
 static void
@@ -568,7 +578,8 @@
        struct  bf_encdata *be = privdata;
 
        BF_cbc_encrypt(src, dst, len, be->be_key, be->be_iv, 1);
-       (void)memcpy(be->be_iv, (u_int8_t *)dst + (len - 8), 8);
+       (void)memcpy(be->be_iv, (u_int8_t *)dst +
+           (len - CGD_BF_BLOCK_SIZE), CGD_BF_BLOCK_SIZE);
 }
 
 static void
@@ -577,7 +588,8 @@
        struct  bf_encdata *be = privdata;
 
        BF_cbc_encrypt(src, dst, len, be->be_key, be->be_iv, 0);
-       (void)memcpy(be->be_iv, (const u_int8_t *)src + (len - 8), 8);
+       (void)memcpy(be->be_iv, (const u_int8_t *)src +
+           (len - CGD_BF_BLOCK_SIZE), CGD_BF_BLOCK_SIZE);
 }
 
 static void
@@ -587,7 +599,7 @@
        struct  bf_privdata *bp = privdata;
        struct  bf_encdata be;
 
-       (void)memcpy(be.be_iv, iv, 8);
+       (void)memcpy(be.be_iv, iv, CGD_BF_BLOCK_SIZE);
        be.be_key = &bp->bp_key;
        switch (dir) {
        case CGD_CIPHER_ENCRYPT:
diff -r 25941217ab12 -r 05df3ffd302f sys/dev/cgd_crypto.h
--- a/sys/dev/cgd_crypto.h      Mon Jan 02 12:38:16 2017 +0000
+++ b/sys/dev/cgd_crypto.h      Mon Jan 02 14:28:29 2017 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: cgd_crypto.h,v 1.9 2016/12/11 00:20:49 alnsn Exp $ */
+/* $NetBSD: cgd_crypto.h,v 1.10 2017/01/02 14:28:29 alnsn Exp $ */
 
 /*-
  * Copyright (c) 2002 The NetBSD Foundation, Inc.
@@ -35,6 +35,9 @@
 #ifdef _KERNEL
 #define CGD_CIPHER_DECRYPT     1
 #define CGD_CIPHER_ENCRYPT     2
+#define CGD_AES_BLOCK_SIZE     16
+#define CGD_3DES_BLOCK_SIZE    8
+#define CGD_BF_BLOCK_SIZE      8
 
 typedef void *(cfunc_init)(size_t, const void *, size_t *);
 typedef void  (cfunc_destroy)(void *);



Home | Main Index | Thread Index | Old Index