Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(738)

Side by Side Diff: nss/lib/freebl/rijndael.c

Issue 214183004: Implement AES in different modes of operation, using AES-NI and (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/nss.git@master
Patch Set: Add a patch file and document it in README.chromium. Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* This Source Code Form is subject to the terms of the Mozilla Public 1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this 2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4 4
5 #ifdef FREEBL_NO_DEPEND 5 #ifdef FREEBL_NO_DEPEND
6 #include "stubs.h" 6 #include "stubs.h"
7 #endif 7 #endif
8 8
9 #include "prinit.h" 9 #include "prinit.h"
10 #include "prerr.h" 10 #include "prerr.h"
(...skipping 1153 matching lines...) Expand 10 before | Expand all | Expand 10 after
1164 { 1164 {
1165 cx->worker_cx = GCM_CreateContext(cx, cx->worker, iv, blocksize); 1165 cx->worker_cx = GCM_CreateContext(cx, cx->worker, iv, blocksize);
1166 cx->worker = (freeblCipherFunc) 1166 cx->worker = (freeblCipherFunc)
1167 (encrypt ? GCM_EncryptUpdate : GCM_DecryptUpdate); 1167 (encrypt ? GCM_EncryptUpdate : GCM_DecryptUpdate);
1168 cx->destroy = (freeblDestroyFunc) GCM_DestroyContext; 1168 cx->destroy = (freeblDestroyFunc) GCM_DestroyContext;
1169 cx->isBlock = PR_FALSE; 1169 cx->isBlock = PR_FALSE;
1170 } 1170 }
1171 break; 1171 break;
1172 case NSS_AES_CTR: 1172 case NSS_AES_CTR:
1173 cx->worker_cx = CTR_CreateContext(cx, cx->worker, iv, blocksize); 1173 cx->worker_cx = CTR_CreateContext(cx, cx->worker, iv, blocksize);
1174 » cx->worker = (freeblCipherFunc) CTR_Update ; 1174 #if defined(USE_HW_AES) && defined(_MSC_VER)
1175 » if (use_hw_aes)
1176 » cx->worker = (freeblCipherFunc) CTR_Update_HW_AES;
1177 » else
1178 #endif
1179 » cx->worker = (freeblCipherFunc) CTR_Update;
Ryan Sleevi 2014/04/23 19:53:34 Seems better to use explicit braces in this condit
wtc 2014/04/24 01:04:10 Done.
1175 cx->destroy = (freeblDestroyFunc) CTR_DestroyContext; 1180 cx->destroy = (freeblDestroyFunc) CTR_DestroyContext;
1176 cx->isBlock = PR_FALSE; 1181 cx->isBlock = PR_FALSE;
1177 break; 1182 break;
1178 default: 1183 default:
1179 /* everything has already been set up by aes_InitContext, just 1184 /* everything has already been set up by aes_InitContext, just
1180 * return */ 1185 * return */
1181 return SECSuccess; 1186 return SECSuccess;
1182 } 1187 }
1183 /* check to see if we succeeded in getting the worker context */ 1188 /* check to see if we succeeded in getting the worker context */
1184 if (cx->worker_cx == NULL) { 1189 if (cx->worker_cx == NULL) {
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
1284 return SECFailure; 1289 return SECFailure;
1285 } 1290 }
1286 if (maxOutputLen < inputLen) { 1291 if (maxOutputLen < inputLen) {
1287 PORT_SetError(SEC_ERROR_OUTPUT_LEN); 1292 PORT_SetError(SEC_ERROR_OUTPUT_LEN);
1288 return SECFailure; 1293 return SECFailure;
1289 } 1294 }
1290 *outputLen = inputLen; 1295 *outputLen = inputLen;
1291 return (*cx->worker)(cx->worker_cx, output, outputLen, maxOutputLen, 1296 return (*cx->worker)(cx->worker_cx, output, outputLen, maxOutputLen,
1292 input, inputLen, blocksize); 1297 input, inputLen, blocksize);
1293 } 1298 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698