pcbc.c (0337966d121ebebf73a1c346123e8112796e684e) | pcbc.c (45fe93dff2fb58b22de04c729f8447ba0f773d93) |
---|---|
1/* 2 * PCBC: Propagating Cipher Block Chaining mode 3 * 4 * Copyright (C) 2006 Red Hat, Inc. All Rights Reserved. 5 * Written by David Howells (dhowells@redhat.com) 6 * 7 * Derived from cbc.c 8 * - Copyright (c) 2006 Herbert Xu <herbert@gondor.apana.org.au> --- 41 unchanged lines hidden (view full) --- 50 unsigned int nbytes = walk->nbytes; 51 u8 *src = walk->src.virt.addr; 52 u8 *dst = walk->dst.virt.addr; 53 u8 *iv = walk->iv; 54 55 do { 56 crypto_xor(iv, src, bsize); 57 crypto_cipher_encrypt_one(tfm, dst, iv); | 1/* 2 * PCBC: Propagating Cipher Block Chaining mode 3 * 4 * Copyright (C) 2006 Red Hat, Inc. All Rights Reserved. 5 * Written by David Howells (dhowells@redhat.com) 6 * 7 * Derived from cbc.c 8 * - Copyright (c) 2006 Herbert Xu <herbert@gondor.apana.org.au> --- 41 unchanged lines hidden (view full) --- 50 unsigned int nbytes = walk->nbytes; 51 u8 *src = walk->src.virt.addr; 52 u8 *dst = walk->dst.virt.addr; 53 u8 *iv = walk->iv; 54 55 do { 56 crypto_xor(iv, src, bsize); 57 crypto_cipher_encrypt_one(tfm, dst, iv); |
58 memcpy(iv, dst, bsize); 59 crypto_xor(iv, src, bsize); | 58 crypto_xor_cpy(iv, dst, src, bsize); |
60 61 src += bsize; 62 dst += bsize; 63 } while ((nbytes -= bsize) >= bsize); 64 65 return nbytes; 66} 67 --- 6 unchanged lines hidden (view full) --- 74 u8 *src = walk->src.virt.addr; 75 u8 *iv = walk->iv; 76 u8 tmpbuf[bsize]; 77 78 do { 79 memcpy(tmpbuf, src, bsize); 80 crypto_xor(iv, src, bsize); 81 crypto_cipher_encrypt_one(tfm, src, iv); | 59 60 src += bsize; 61 dst += bsize; 62 } while ((nbytes -= bsize) >= bsize); 63 64 return nbytes; 65} 66 --- 6 unchanged lines hidden (view full) --- 73 u8 *src = walk->src.virt.addr; 74 u8 *iv = walk->iv; 75 u8 tmpbuf[bsize]; 76 77 do { 78 memcpy(tmpbuf, src, bsize); 79 crypto_xor(iv, src, bsize); 80 crypto_cipher_encrypt_one(tfm, src, iv); |
82 memcpy(iv, tmpbuf, bsize); 83 crypto_xor(iv, src, bsize); | 81 crypto_xor_cpy(iv, tmpbuf, src, bsize); |
84 85 src += bsize; 86 } while ((nbytes -= bsize) >= bsize); 87 88 memcpy(walk->iv, iv, bsize); 89 90 return nbytes; 91} --- 30 unchanged lines hidden (view full) --- 122 unsigned int nbytes = walk->nbytes; 123 u8 *src = walk->src.virt.addr; 124 u8 *dst = walk->dst.virt.addr; 125 u8 *iv = walk->iv; 126 127 do { 128 crypto_cipher_decrypt_one(tfm, dst, src); 129 crypto_xor(dst, iv, bsize); | 82 83 src += bsize; 84 } while ((nbytes -= bsize) >= bsize); 85 86 memcpy(walk->iv, iv, bsize); 87 88 return nbytes; 89} --- 30 unchanged lines hidden (view full) --- 120 unsigned int nbytes = walk->nbytes; 121 u8 *src = walk->src.virt.addr; 122 u8 *dst = walk->dst.virt.addr; 123 u8 *iv = walk->iv; 124 125 do { 126 crypto_cipher_decrypt_one(tfm, dst, src); 127 crypto_xor(dst, iv, bsize); |
130 memcpy(iv, src, bsize); 131 crypto_xor(iv, dst, bsize); | 128 crypto_xor_cpy(iv, dst, src, bsize); |
132 133 src += bsize; 134 dst += bsize; 135 } while ((nbytes -= bsize) >= bsize); 136 137 memcpy(walk->iv, iv, bsize); 138 139 return nbytes; --- 8 unchanged lines hidden (view full) --- 148 u8 *src = walk->src.virt.addr; 149 u8 *iv = walk->iv; 150 u8 tmpbuf[bsize] __aligned(__alignof__(u32)); 151 152 do { 153 memcpy(tmpbuf, src, bsize); 154 crypto_cipher_decrypt_one(tfm, src, src); 155 crypto_xor(src, iv, bsize); | 129 130 src += bsize; 131 dst += bsize; 132 } while ((nbytes -= bsize) >= bsize); 133 134 memcpy(walk->iv, iv, bsize); 135 136 return nbytes; --- 8 unchanged lines hidden (view full) --- 145 u8 *src = walk->src.virt.addr; 146 u8 *iv = walk->iv; 147 u8 tmpbuf[bsize] __aligned(__alignof__(u32)); 148 149 do { 150 memcpy(tmpbuf, src, bsize); 151 crypto_cipher_decrypt_one(tfm, src, src); 152 crypto_xor(src, iv, bsize); |
156 memcpy(iv, tmpbuf, bsize); 157 crypto_xor(iv, src, bsize); | 153 crypto_xor_cpy(iv, src, tmpbuf, bsize); |
158 159 src += bsize; 160 } while ((nbytes -= bsize) >= bsize); 161 162 memcpy(walk->iv, iv, bsize); 163 164 return nbytes; 165} --- 148 unchanged lines hidden --- | 154 155 src += bsize; 156 } while ((nbytes -= bsize) >= bsize); 157 158 memcpy(walk->iv, iv, bsize); 159 160 return nbytes; 161} --- 148 unchanged lines hidden --- |