summaryrefslogtreecommitdiffstats
path: root/recipes-kernel/cryptodev/sdk_patches/0101-add-support-for-rsa-speed-tests.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-kernel/cryptodev/sdk_patches/0101-add-support-for-rsa-speed-tests.patch')
-rw-r--r--recipes-kernel/cryptodev/sdk_patches/0101-add-support-for-rsa-speed-tests.patch179
1 files changed, 0 insertions, 179 deletions
diff --git a/recipes-kernel/cryptodev/sdk_patches/0101-add-support-for-rsa-speed-tests.patch b/recipes-kernel/cryptodev/sdk_patches/0101-add-support-for-rsa-speed-tests.patch
deleted file mode 100644
index a70f3685..00000000
--- a/recipes-kernel/cryptodev/sdk_patches/0101-add-support-for-rsa-speed-tests.patch
+++ /dev/null
@@ -1,179 +0,0 @@
1From d67b28fb68f1ea56fdf794f516816b6c3ef5649a Mon Sep 17 00:00:00 2001
2From: Radu Alexe <radu.alexe@nxp.com>
3Date: Thu, 12 Jan 2017 19:44:57 +0200
4Subject: [PATCH 101/104] add support for rsa speed tests
5
6Tests are only for rsa 1024 and 2048 and only sync variant.
7
8Signed-off-by: Radu Alexe <radu.alexe@nxp.com>
9---
10 tests/speed.c | 138 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
11 1 file changed, 137 insertions(+), 1 deletion(-)
12
13diff --git a/tests/speed.c b/tests/speed.c
14index 99ef75b..b52938c 100644
15--- a/tests/speed.c
16+++ b/tests/speed.c
17@@ -63,8 +63,9 @@ int run_crc32c(int fdc, struct test_params tp);
18 int run_sha1(int fdc, struct test_params tp);
19 int run_sha256(int fdc, struct test_params tp);
20 int run_authenc(int fdc, struct test_params tp);
21+int run_rsa(int fdc, struct test_params tp);
22
23-#define ALG_COUNT 7
24+#define ALG_COUNT 8
25 struct {
26 char *name;
27 int (*func)(int, struct test_params);
28@@ -76,6 +77,7 @@ struct {
29 {"sha1", run_sha1},
30 {"sha256", run_sha256},
31 {"authenc", run_authenc},
32+ {"rsa", run_rsa},
33 };
34
35 static double udifftimeval(struct timeval start, struct timeval end)
36@@ -640,6 +642,140 @@ int run_authenc(int fdc, struct test_params tp)
37 return 0;
38 }
39
40+char *n_2048 = "\xFA\xBE\x23\x01\x5D\x11\x50\xAA\xAB\xED\x50\xA7\x9B\x93\x7B\xCE"
41+ "\x1E\x11\xAE\xC1\x05\xAF\xBA\x57\x18\x6B\xE3\x27\x85\x3A\xFA\xB9"
42+ "\x15\x5A\x39\xB2\x38\x60\xB8\x5B\xDF\xD0\x8F\xA3\x37\xEE\xE5\xFD"
43+ "\xE2\x98\xF9\x40\xD2\x0A\xE9\x15\x69\x8A\x9D\xBC\x1F\x00\x0B\x95"
44+ "\x5A\x19\x14\x4C\x14\x19\x38\x47\x30\x96\x17\xCB\x28\x1C\x1C\x09"
45+ "\x14\x79\x55\x26\xAF\x6E\x38\x41\x91\x9D\xF5\x31\x6C\xFB\xCC\x68"
46+ "\x08\xA2\x60\xA2\xA4\xE0\x68\x59\x24\xF5\xEB\x57\x88\x5C\x3D\xA3"
47+ "\x41\x95\xFF\xD1\x03\xBA\xAE\x18\x55\x5D\xF4\x93\x57\x4D\x02\x11"
48+ "\x66\xD8\x44\xF8\x63\x9D\x70\xBE\x98\x93\x43\xE0\x1F\x80\x7A\xE1"
49+ "\x6D\xA0\x5D\xC3\xE5\x56\x1C\xDA\x96\x16\xB1\xD8\xBD\x62\x1E\x51"
50+ "\x28\xF7\x06\xB7\x6D\xB0\x5A\x5F\x09\x28\xEF\x9B\x33\xA3\x04\x02"
51+ "\x08\x4D\xD7\x2C\x22\x77\x3D\x9B\x2E\x45\xE7\x78\x5C\x64\x50\xF3"
52+ "\x5B\x98\x6E\x0F\xDE\xA6\xDC\x19\x4D\xFF\xAB\xBE\x6D\xC7\xB1\x55"
53+ "\x36\xDD\x40\x07\xEF\x78\xCC\xA1\x8D\x96\x6B\xDA\x48\x4C\x40\x29"
54+ "\x46\x7C\xF0\x1A\x6B\xC5\xBB\x8B\xD1\xB0\x6F\x9B\xB7\xC0\x06\xF5"
55+ "\x3B\x6F\x2B\x45\xEA\x17\x4C\x16\x2A\xC5\x5E\xB6\x1C\xCB\x3B\xFB";
56+
57+char *f_2048 = "\x69\xeb\xb3\xb3\x68\xc1\xbf\x17\x57\x63\xca\xa2\x21\xee\x1f\x56"
58+ "\x8c\xee\x58\x96\x86\x86\x95\x44\xc7\xff\x75\xeb\xb4\xe8\xf6\x55"
59+ "\x20\xa0\xad\x62\x50\xe4\x83\x07\x31\xe9\x41\x03\xf3\x69\x9b\x9b"
60+ "\x0d\x68\xf3\x6e\x21\x02\x79\xc5\xa4\xd1\xe5\x11\x56\x9a\x2c\xb8"
61+ "\xf5\x76\xab\x04\x03\xcc\x6d\xa3\xf1\xa3\x6a\x57\xfd\x6e\x87\x82"
62+ "\xcf\x19\xf8\x0f\x97\x4d\x6e\xb5\xa0\x10\x27\x40\x12\x8b\x9f\x24"
63+ "\xb4\x4a\x95\xbe\x6a\x49\x49\x67\xb0\x8f\x77\x5f\x1d\x56\x22\xc6"
64+ "\x7d\xb3\x2f\x9e\x62\x4a\x0b\xf2\xca\x9e\xd1\x57\xf8\xf4\x25\x36"
65+ "\x54\xe9\x4a\xcd\x4d\x9b\x14\xd5\xe5\x35\x59\x6b\xf5\xd0\x50\x69"
66+ "\x5c\xde\x21\x32\xc9\x31\x8f\x21\x66\xda\x32\xb8\x45\x18\x18\x57"
67+ "\xb0\x37\xff\xea\xee\x7a\xd5\x01\x36\x72\xb3\xfb\x23\xe2\x5c\xa2"
68+ "\x10\xb9\xf3\x8b\xda\x37\x46\x7e\xac\xf5\x6c\xae\x18\x69\xbc\x9d"
69+ "\x6e\xd7\x61\x7c\x85\x63\x41\x5e\x8b\xab\x12\xbe\x37\x1a\x67\xdd"
70+ "\x86\xf2\xf9\xc8\x3a\xd7\xcd\x92\x72\xaf\xad\x46\xb0\x5b\x33\xd9"
71+ "\x1c\x32\x02\x3c\xae\xe0\x5d\x87\xde\x95\x59\x10\x4e\xa7\xdf\x7f"
72+ "\x94\x2d\xea\x9b\x7a\x53\x54\xc7\xf9\x66\xd1\x14\x0b\xd7\xef\x00";
73+
74+char *n_1024 = "\xF8\x99\x5E\xC7\xED\x60\x4B\xBA\x77\x0A\x52\xD0\xFF\xE6\x45\x47"
75+ "\x04\xDE\xB3\x40\x16\x23\xB4\x58\x0A\xFF\xAF\x0D\x26\x1B\x5E\x0D"
76+ "\x61\xA2\x4A\x7B\x2E\x70\x2A\x54\x21\xCB\x01\x31\xBC\xBE\xAE\xC9"
77+ "\x5B\x3B\x20\x0B\x95\x06\x41\x03\xDB\xEF\x81\xE2\xFB\x42\xE8\x02"
78+ "\x1D\xD2\xA7\xFD\xC3\xA0\x3F\x74\x6D\x99\x8D\x60\xBA\x43\x82\x6C"
79+ "\x96\x24\x1D\xE5\xE3\x2C\xB7\x66\xAB\x2B\x4C\xFD\x23\xFF\xE0\x09"
80+ "\x17\x3E\x01\xCB\xDC\xB2\xD2\xA9\x98\x99\x01\x91\x16\xAB\x77\xD7"
81+ "\x97\x52\xBD\x49\xB2\xAF\x61\x95\xE8\xA2\x34\x9C\xC4\x00\xCC\x17";
82+
83+char *f_1024 = "\x8f\x2d\x06\x83\xee\x08\x97\xa4\x86\x3a\xf2\xa3\xd1\x6d\x33\x10"
84+ "\x49\x1d\xb6\xd0\xe3\x7b\x16\x5a\x1a\x5c\x98\x36\xab\xd2\xa9\x82"
85+ "\x5c\x1b\xc1\x9e\xdc\x50\x45\x05\xe0\x2e\x14\x83\x86\x47\x21\xc5"
86+ "\x27\xad\xb1\x74\x5d\x7b\xe2\x92\xfc\x15\xf0\x14\x6c\x8d\x80\xe5"
87+ "\x85\x72\x26\xc7\xa3\xd8\xc7\x5a\x10\xcd\x64\xde\x5d\x82\xc1\x53"
88+ "\xd7\x2e\x03\xe0\xe2\xe6\xc6\x85\xcc\x07\x25\xa9\x61\xf7\x52\x3f"
89+ "\x63\xb1\x54\x6e\x23\xbe\xf0\x6c\xa4\x93\x8c\x39\xe2\xdb\xcb\x1c"
90+ "\x4b\x95\x3d\x57\x06\xc9\xce\x44\xe5\xaf\xac\x6b\x67\xdb\x92\x00";
91+
92+int run_rsa(int fdc, struct test_params tp)
93+{
94+ struct timeval start, end;
95+ double secs, ddata, dspeed;
96+ uint64_t total = 0;
97+ char metric[16];
98+ struct crypt_kop kop;
99+ char *n, *f;
100+ char *e = "\x01\x00\x01";
101+ char g[256];
102+
103+ if (!tp.nflag)
104+ tp.nvalue = 2048;
105+
106+ switch (tp.nvalue) {
107+ case 2048:
108+ n = n_2048;
109+ f = f_2048;
110+ break;
111+
112+ case 1024:
113+ n = n_1024;
114+ f = f_1024;
115+ break;
116+
117+ default:
118+ if (!tp.mflag) {
119+ printf("Error: rsa-%d not supported\n", tp.nvalue);
120+ fflush(stdout);
121+ }
122+
123+ return 1;
124+ }
125+
126+ kop.crk_op = CRK_MOD_EXP;
127+ kop.crk_iparams = 3;
128+ kop.crk_oparams = 1;
129+
130+ kop.crk_param[0].crp_p = (__u8*)f;
131+ kop.crk_param[0].crp_nbits = tp.nvalue;
132+
133+ kop.crk_param[1].crp_p = (__u8*)e;
134+ kop.crk_param[1].crp_nbits = 24;
135+
136+ kop.crk_param[2].crp_p = (__u8*)n;
137+ kop.crk_param[2].crp_nbits = tp.nvalue;
138+
139+ kop.crk_param[3].crp_p = (__u8*)g;
140+ kop.crk_param[3].crp_nbits = sizeof(g) << 3;
141+
142+ if (!tp.mflag) {
143+ printf("\trsa %d: ", tp.nvalue);
144+ fflush(stdout);
145+ }
146+
147+ must_finish = 0;
148+ alarm(tp.tvalue);
149+
150+ gettimeofday(&start, NULL);
151+ do {
152+ if (ioctl(fdc, CIOCKEY, &kop)) {
153+ perror("ioctl(CIOCKEY)");
154+ return -EINVAL;
155+ }
156+ total += (tp.nvalue >> 3);
157+ } while (!must_finish);
158+ gettimeofday(&end, NULL);
159+
160+ secs = udifftimeval(start, end)/ 1000000.0;
161+
162+ if (tp.mflag) {
163+ value2machine(total, secs, &dspeed);
164+ printf("%" PRIu64 "\t%.2f\t%.2f\n", total, secs, dspeed);
165+ } else {
166+ value2human(total, secs, &ddata, &dspeed, metric);
167+ printf ("done. %.2f %s in %.2f secs: ", ddata, metric, secs);
168+ printf ("%.2f %s/sec\n", dspeed, metric);
169+ }
170+
171+ return 0;
172+}
173+
174 int main(int argc, char **argv)
175 {
176 int err = 0;
177--
1782.10.2
179