Hi Neil, On Wed, 11 Dec 2019 at 14:23, Neil Armstrong <narmstrong@xxxxxxxxxxxx> wrote: > > hi, > > > On 11/12/2019 09:41, Anand Moon wrote: > > Below changes enable cryto module on Amlogic GXBB SoC. > > > > I was realy happy to get this feature working on Odroid C2 SBC. > > I will try on other SBC in the future. > > > > Tested with loading tcrypt module. > > # sudo modprobe tcrypt sec=1 mode=200 > > [sudo] password for alarm: > > [ 903.867059] tcrypt: > > [ 903.867059] testing speed of async ecb(aes) (ecb(aes-arm64)) encryption > > [ 903.870265] tcrypt: test 0 (128 bit key, 16 byte blocks): 1922107 operations in 1 seconds (30753712 bytes) > > [ 904.872802] tcrypt: test 1 (128 bit key, 64 byte blocks): 679032 operations in 1 seconds (43458048 bytes) > > [ 905.872717] tcrypt: test 2 (128 bit key, 256 byte blocks): 190190 operations in 1 seconds (48688640 bytes) > > [ 906.872793] tcrypt: test 3 (128 bit key, 1024 byte blocks): 49014 operations in 1 seconds (50190336 bytes) > > [ 907.872808] tcrypt: test 4 (128 bit key, 1472 byte blocks): 34342 operations in 1 seconds (50551424 bytes) > > [ 908.876828] tcrypt: test 5 (128 bit key, 8192 byte blocks): 6199 operations in 1 seconds (50782208 bytes) > > > > -Anand > > > > Anand Moon (3): > > arm64: dts: amlogic: adds crypto hardware node for GXBB SoCs > > dt-bindings: crypto: Add compatible string for amlogic GXBB SoC > > crypto: amlogic: Add new compatible string for amlogic GXBB SoC > > > > .../devicetree/bindings/crypto/amlogic,gxl-crypto.yaml | 1 + > > arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 10 ++++++++++ > > drivers/crypto/amlogic/amlogic-gxl-core.c | 1 + > > 3 files changed, 12 insertions(+) > > > > Wow, I'm surprised it works on GXBB, Amlogic completely removed HW crypto for GXBB in all their > vendor BSPs, in Linux, U-Boot and ATF chain. Sorry I was not aware of this. :$ > > Could you run more tests to be sure it's really functional ? > > Neil >From the public datasheet for Odroid C2 [0] S905_Public_Datasheet_V1.1.4.pdf Chapter 27.1 : "crypto engine is one encrypt/decrypt function accelerator" AES block cipher with 128/192/256 Bits keys, standard 16 bytes block size and streaming ECB, CBC and CTR modes DES/TDES block cipher with ECB and CBC modes supporting 64 Bits key for DES and 192 Bits key for 3DES Hardware key-ladder operation and DVB-CSA for transport stream encryption Built-in hardware True Random Number Generator (TRNG), CRC and SHA-1/SHA-2 (SHA-224/SHA-256) engine But in my testing I did not see any count increment in /proc/interrupts 32: 0 0 0 0 GICv2 201 Level ppmmu2 33: 0 0 0 0 GICv2 35 Edge meson 34: 0 0 0 0 GICv2 89 Edge dw_hdmi_top_irq, c883a000.hdmi-tx 35: 0 0 0 0 GICv2 220 Edge gxl-crypto 36: 0 0 0 0 GICv2 221 Edge gxl-crypto [0] https://dn.odroid.com/S905/DataSheet/S905_Public_Datasheet_V1.1.4.pdf Attach is the some testing. *But not sure this is Hardware Accelerated.* :< -Anand
# sudo modprobe tcrypt sec=1 mode=200 [sudo] password for alarm: [ 384.901049] tcrypt: [ 384.901049] testing speed of async ecb(aes) (ecb(aes-arm64)) encryption [ 384.904181] tcrypt: test 0 (128 bit key, 16 byte blocks): 1877504 operations in 1 seconds (30040064 bytes) [ 385.904322] tcrypt: test 1 (128 bit key, 64 byte blocks): 667190 operations in 1 seconds (42700160 bytes) [ 386.908223] tcrypt: test 2 (128 bit key, 256 byte blocks): 186089 operations in 1 seconds (47638784 bytes) [ 387.908341] tcrypt: test 3 (128 bit key, 1024 byte blocks): 48142 operations in 1 seconds (49297408 bytes) [ 388.912326] tcrypt: test 4 (128 bit key, 1472 byte blocks): 33605 operations in 1 seconds (49466560 bytes) [ 389.916322] tcrypt: test 5 (128 bit key, 8192 byte blocks): 6075 operations in 1 seconds (49766400 bytes) [ 390.920350] tcrypt: test 6 (192 bit key, 16 byte blocks): 1681618 operations in 1 seconds (26905888 bytes) [ 391.924306] tcrypt: test 7 (192 bit key, 64 byte blocks): 572487 operations in 1 seconds (36639168 bytes) [ 392.924229] tcrypt: test 8 (192 bit key, 256 byte blocks): 158200 operations in 1 seconds (40499200 bytes) [ 393.924325] tcrypt: test 9 (192 bit key, 1024 byte blocks): 40774 operations in 1 seconds (41752576 bytes) [ 394.928323] tcrypt: test 10 (192 bit key, 1472 byte blocks): 28442 operations in 1 seconds (41866624 bytes) [ 395.932438] tcrypt: test 11 (192 bit key, 8192 byte blocks): 5110 operations in 1 seconds (41861120 bytes) [ 396.936356] tcrypt: test 12 (256 bit key, 16 byte blocks): 1544471 operations in 1 seconds (24711536 bytes) [ 397.940415] tcrypt: test 13 (256 bit key, 64 byte blocks): 508196 operations in 1 seconds (32524544 bytes) [ 398.944314] tcrypt: test 14 (256 bit key, 256 byte blocks): 138350 operations in 1 seconds (35417600 bytes) [ 399.948417] tcrypt: test 15 (256 bit key, 1024 byte blocks): 35362 operations in 1 seconds (36210688 bytes) [ 400.952430] tcrypt: test 16 (256 bit key, 1472 byte blocks): 24655 operations in 1 seconds (36292160 bytes) [ 401.956447] tcrypt: test 17 (256 bit key, 8192 byte blocks): 4453 operations in 1 seconds (36478976 bytes) [ 402.960408] tcrypt: [ 402.960408] testing speed of async ecb(aes) (ecb(aes-arm64)) decryption [ 402.969098] tcrypt: test 0 (128 bit key, 16 byte blocks): 1890540 operations in 1 seconds (30248640 bytes) [ 403.972318] tcrypt: test 1 (128 bit key, 64 byte blocks): 679436 operations in 1 seconds (43483904 bytes) [ 404.976233] tcrypt: test 2 (128 bit key, 256 byte blocks): 190826 operations in 1 seconds (48851456 bytes) [ 405.976319] tcrypt: test 3 (128 bit key, 1024 byte blocks): 49490 operations in 1 seconds (50677760 bytes) [ 406.980341] tcrypt: test 4 (128 bit key, 1472 byte blocks): 34562 operations in 1 seconds (50875264 bytes) [ 407.984339] tcrypt: test 5 (128 bit key, 8192 byte blocks): 6224 operations in 1 seconds (50987008 bytes) [ 408.988289] tcrypt: test 6 (192 bit key, 16 byte blocks): 1717604 operations in 1 seconds (27481664 bytes) [ 409.988314] tcrypt: test 7 (192 bit key, 64 byte blocks): 594595 operations in 1 seconds (38054080 bytes) [ 410.988236] tcrypt: test 8 (192 bit key, 256 byte blocks): 165116 operations in 1 seconds (42269696 bytes) [ 411.988338] tcrypt: test 9 (192 bit key, 1024 byte blocks): 42620 operations in 1 seconds (43642880 bytes) [ 412.992339] tcrypt: test 10 (192 bit key, 1472 byte blocks): 29735 operations in 1 seconds (43769920 bytes) [ 413.996418] tcrypt: test 11 (192 bit key, 8192 byte blocks): 5341 operations in 1 seconds (43753472 bytes) [ 415.000385] tcrypt: test 12 (256 bit key, 16 byte blocks): 1583219 operations in 1 seconds (25331504 bytes) [ 416.004412] tcrypt: test 13 (256 bit key, 64 byte blocks): 526675 operations in 1 seconds (33707200 bytes) [ 417.008337] tcrypt: test 14 (256 bit key, 256 byte blocks): 143999 operations in 1 seconds (36863744 bytes) [ 418.012424] tcrypt: test 15 (256 bit key, 1024 byte blocks): 36859 operations in 1 seconds (37743616 bytes) [ 419.016425] tcrypt: test 16 (256 bit key, 1472 byte blocks): 25704 operations in 1 seconds (37836288 bytes) [ 420.020444] tcrypt: test 17 (256 bit key, 8192 byte blocks): 4635 operations in 1 seconds (37969920 bytes) [ 421.036729] tcrypt: [ 421.036729] testing speed of async cbc(aes) (cbc(aes-arm64)) encryption [ 421.039861] tcrypt: test 0 (128 bit key, 16 byte blocks): 1784200 operations in 1 seconds (28547200 bytes) [ 422.040331] tcrypt: test 1 (128 bit key, 64 byte blocks): 625414 operations in 1 seconds (40026496 bytes) [ 423.044246] tcrypt: test 2 (128 bit key, 256 byte blocks): 173953 operations in 1 seconds (44531968 bytes) [ 424.044348] tcrypt: test 3 (128 bit key, 1024 byte blocks): 44977 operations in 1 seconds (46056448 bytes) [ 425.048334] tcrypt: test 4 (128 bit key, 1472 byte blocks): 31386 operations in 1 seconds (46200192 bytes) [ 426.052346] tcrypt: test 5 (128 bit key, 8192 byte blocks): 5664 operations in 1 seconds (46399488 bytes) [ 427.056395] tcrypt: test 6 (192 bit key, 16 byte blocks): 1612521 operations in 1 seconds (25800336 bytes) [ 428.060330] tcrypt: test 7 (192 bit key, 64 byte blocks): 542315 operations in 1 seconds (34708160 bytes) [ 429.060253] tcrypt: test 8 (192 bit key, 256 byte blocks): 149436 operations in 1 seconds (38255616 bytes) [ 430.060346] tcrypt: test 9 (192 bit key, 1024 byte blocks): 38477 operations in 1 seconds (39400448 bytes) [ 431.064346] tcrypt: test 10 (192 bit key, 1472 byte blocks): 26838 operations in 1 seconds (39505536 bytes) [ 432.068443] tcrypt: test 11 (192 bit key, 8192 byte blocks): 4818 operations in 1 seconds (39469056 bytes) [ 433.072385] tcrypt: test 12 (256 bit key, 16 byte blocks): 1480227 operations in 1 seconds (23683632 bytes) [ 434.076429] tcrypt: test 13 (256 bit key, 64 byte blocks): 483284 operations in 1 seconds (30930176 bytes) [ 435.080339] tcrypt: test 14 (256 bit key, 256 byte blocks): 131557 operations in 1 seconds (33678592 bytes) [ 436.084426] tcrypt: test 15 (256 bit key, 1024 byte blocks): 33620 operations in 1 seconds (34426880 bytes) [ 437.088434] tcrypt: test 16 (256 bit key, 1472 byte blocks): 23442 operations in 1 seconds (34506624 bytes) [ 438.092438] tcrypt: test 17 (256 bit key, 8192 byte blocks): 4227 operations in 1 seconds (34627584 bytes) [ 439.096564] tcrypt: [ 439.096564] testing speed of async cbc(aes) (cbc(aes-arm64)) decryption [ 439.105257] tcrypt: test 0 (128 bit key, 16 byte blocks): 1720992 operations in 1 seconds (27535872 bytes) [ 440.108343] tcrypt: test 1 (128 bit key, 64 byte blocks): 627860 operations in 1 seconds (40183040 bytes) [ 441.112259] tcrypt: test 2 (128 bit key, 256 byte blocks): 176810 operations in 1 seconds (45263360 bytes) [ 442.112360] tcrypt: test 3 (128 bit key, 1024 byte blocks): 45973 operations in 1 seconds (47076352 bytes) [ 443.116362] tcrypt: test 4 (128 bit key, 1472 byte blocks): 32147 operations in 1 seconds (47320384 bytes) [ 444.120381] tcrypt: test 5 (128 bit key, 8192 byte blocks): 5803 operations in 1 seconds (47538176 bytes) [ 445.124299] tcrypt: test 6 (192 bit key, 16 byte blocks): 1558792 operations in 1 seconds (24940672 bytes) [ 446.124360] tcrypt: test 7 (192 bit key, 64 byte blocks): 546578 operations in 1 seconds (34980992 bytes) [ 447.128265] tcrypt: test 8 (192 bit key, 256 byte blocks): 151914 operations in 1 seconds (38889984 bytes) [ 448.128357] tcrypt: test 9 (192 bit key, 1024 byte blocks): 39255 operations in 1 seconds (40197120 bytes) [ 449.132376] tcrypt: test 10 (192 bit key, 1472 byte blocks): 27396 operations in 1 seconds (40326912 bytes) [ 450.136438] tcrypt: test 11 (192 bit key, 8192 byte blocks): 4918 operations in 1 seconds (40288256 bytes) [ 451.140545] tcrypt: test 12 (256 bit key, 16 byte blocks): 1436091 operations in 1 seconds (22977456 bytes) [ 452.144443] tcrypt: test 13 (256 bit key, 64 byte blocks): 484903 operations in 1 seconds (31033792 bytes) [ 453.148351] tcrypt: test 14 (256 bit key, 256 byte blocks): 133471 operations in 1 seconds (34168576 bytes) [ 454.152444] tcrypt: test 15 (256 bit key, 1024 byte blocks): 34219 operations in 1 seconds (35040256 bytes) [ 455.156447] tcrypt: test 16 (256 bit key, 1472 byte blocks): 23861 operations in 1 seconds (35123392 bytes) [ 456.160492] tcrypt: test 17 (256 bit key, 8192 byte blocks): 4304 operations in 1 seconds (35258368 bytes) [ 457.176263] tcrypt: failed to load transform for lrw(aes): -2 [ 457.188096] tcrypt: failed to load transform for lrw(aes): -2 [ 457.200097] tcrypt: failed to load transform for xts(aes): -2 [ 457.212102] tcrypt: failed to load transform for xts(aes): -2 [ 457.224067] tcrypt: failed to load transform for cts(cbc(aes)): -2 [ 457.236390] tcrypt: failed to load transform for cts(cbc(aes)): -2 [ 457.236944] tcrypt: [ 457.236944] testing speed of async ctr(aes) (ctr-aes-neonbs) encryption [ 457.245668] tcrypt: test 0 (128 bit key, 16 byte blocks): 564743 operations in 1 seconds (9035888 bytes) [ 458.248185] tcrypt: test 1 (128 bit key, 64 byte blocks): 557690 operations in 1 seconds (35692160 bytes) [ 459.248274] tcrypt: test 2 (128 bit key, 256 byte blocks): 300277 operations in 1 seconds (76870912 bytes) [ 460.248355] tcrypt: test 3 (128 bit key, 1024 byte blocks): 81277 operations in 1 seconds (83227648 bytes) [ 461.252368] tcrypt: test 4 (128 bit key, 1472 byte blocks): 54691 operations in 1 seconds (80505152 bytes) [ 462.256378] tcrypt: test 5 (128 bit key, 8192 byte blocks): 10223 operations in 1 seconds (83746816 bytes) [ 463.260420] tcrypt: test 6 (192 bit key, 16 byte blocks): 490239 operations in 1 seconds (7843824 bytes) [ 464.264182] tcrypt: test 7 (192 bit key, 64 byte blocks): 483660 operations in 1 seconds (30954240 bytes) [ 465.264268] tcrypt: test 8 (192 bit key, 256 byte blocks): 257253 operations in 1 seconds (65856768 bytes) [ 466.264354] tcrypt: test 9 (192 bit key, 1024 byte blocks): 68568 operations in 1 seconds (70213632 bytes) [ 467.264369] tcrypt: test 10 (192 bit key, 1472 byte blocks): 46270 operations in 1 seconds (68109440 bytes) [ 468.268457] tcrypt: test 11 (192 bit key, 8192 byte blocks): 8647 operations in 1 seconds (70836224 bytes) [ 469.272409] tcrypt: test 12 (256 bit key, 16 byte blocks): 432474 operations in 1 seconds (6919584 bytes) [ 470.276272] tcrypt: test 13 (256 bit key, 64 byte blocks): 426459 operations in 1 seconds (27293376 bytes) [ 471.276374] tcrypt: test 14 (256 bit key, 256 byte blocks): 226683 operations in 1 seconds (58030848 bytes) [ 472.280463] tcrypt: test 15 (256 bit key, 1024 byte blocks): 59935 operations in 1 seconds (61373440 bytes) [ 473.284465] tcrypt: test 16 (256 bit key, 1472 byte blocks): 40300 operations in 1 seconds (59321600 bytes) [ 474.288465] tcrypt: test 17 (256 bit key, 8192 byte blocks): 7537 operations in 1 seconds (61743104 bytes) [ 475.292462] tcrypt: [ 475.292462] testing speed of async ctr(aes) (ctr-aes-neonbs) decryption [ 475.301157] tcrypt: test 0 (128 bit key, 16 byte blocks): 564970 operations in 1 seconds (9039520 bytes) [ 476.304200] tcrypt: test 1 (128 bit key, 64 byte blocks): 557619 operations in 1 seconds (35687616 bytes) [ 477.304276] tcrypt: test 2 (128 bit key, 256 byte blocks): 300072 operations in 1 seconds (76818432 bytes) [ 478.304377] tcrypt: test 3 (128 bit key, 1024 byte blocks): 81259 operations in 1 seconds (83209216 bytes) [ 479.308379] tcrypt: test 4 (128 bit key, 1472 byte blocks): 54690 operations in 1 seconds (80503680 bytes) [ 480.312380] tcrypt: test 5 (128 bit key, 8192 byte blocks): 10218 operations in 1 seconds (83705856 bytes) [ 481.316446] tcrypt: test 6 (192 bit key, 16 byte blocks): 490189 operations in 1 seconds (7843024 bytes) [ 482.320197] tcrypt: test 7 (192 bit key, 64 byte blocks): 483675 operations in 1 seconds (30955200 bytes) [ 483.320282] tcrypt: test 8 (192 bit key, 256 byte blocks): 257068 operations in 1 seconds (65809408 bytes) [ 484.320384] tcrypt: test 9 (192 bit key, 1024 byte blocks): 68848 operations in 1 seconds (70500352 bytes) [ 485.324370] tcrypt: test 10 (192 bit key, 1472 byte blocks): 46276 operations in 1 seconds (68118272 bytes) [ 486.328464] tcrypt: test 11 (192 bit key, 8192 byte blocks): 8647 operations in 1 seconds (70836224 bytes) [ 487.332484] tcrypt: test 12 (256 bit key, 16 byte blocks): 432371 operations in 1 seconds (6917936 bytes) [ 488.336290] tcrypt: test 13 (256 bit key, 64 byte blocks): 427577 operations in 1 seconds (27364928 bytes) [ 489.336384] tcrypt: test 14 (256 bit key, 256 byte blocks): 226940 operations in 1 seconds (58096640 bytes) [ 490.340475] tcrypt: test 15 (256 bit key, 1024 byte blocks): 60023 operations in 1 seconds (61463552 bytes) [ 491.344472] tcrypt: test 16 (256 bit key, 1472 byte blocks): 40299 operations in 1 seconds (59320128 bytes) [ 492.348464] tcrypt: test 17 (256 bit key, 8192 byte blocks): 7535 operations in 1 seconds (61726720 bytes) [ 493.364241] tcrypt: failed to load transform for cfb(aes): -2 [ 493.376530] tcrypt: failed to load transform for cfb(aes): -2 [alarm@alarm ~]$ cat /proc/crypto name : cbc(aes) driver : cbc(aes-arm64) module : kernel priority : 200 refcnt : 1 selftest : passed internal : no type : skcipher async : no blocksize : 16 min keysize : 16 max keysize : 32 ivsize : 16 chunksize : 16 walksize : 16 name : ecb(aes) driver : ecb(aes-arm64) module : kernel priority : 200 refcnt : 1 selftest : passed internal : no type : skcipher async : no blocksize : 16 min keysize : 16 max keysize : 32 ivsize : 0 chunksize : 16 walksize : 16 name : xts(aes) driver : xts-aes-neonbs module : aes_neon_bs priority : 250 refcnt : 1 selftest : passed internal : no type : skcipher async : yes blocksize : 16 min keysize : 32 max keysize : 64 ivsize : 16 chunksize : 16 walksize : 16 name : ctr(aes) driver : ctr-aes-neonbs module : aes_neon_bs priority : 250 refcnt : 1 selftest : passed internal : no type : skcipher async : yes blocksize : 1 min keysize : 16 max keysize : 32 ivsize : 16 chunksize : 16 walksize : 16 name : cbc(aes) driver : cbc-aes-neonbs module : aes_neon_bs priority : 250 refcnt : 1 selftest : passed internal : no type : skcipher async : yes blocksize : 16 min keysize : 16 max keysize : 32 ivsize : 16 chunksize : 16 walksize : 16 name : ecb(aes) driver : ecb-aes-neonbs module : aes_neon_bs priority : 250 refcnt : 1 selftest : passed internal : no type : skcipher async : yes blocksize : 16 min keysize : 16 max keysize : 32 ivsize : 0 chunksize : 16 walksize : 16 name : __xts(aes) driver : __xts-aes-neonbs module : aes_neon_bs priority : 250 refcnt : 1 selftest : passed internal : yes type : skcipher async : no blocksize : 16 min keysize : 32 max keysize : 64 ivsize : 16 chunksize : 16 walksize : 128 name : ctr(aes) driver : ctr-aes-neonbs module : aes_neon_bs priority : 249 refcnt : 1 selftest : passed internal : no type : skcipher async : no blocksize : 1 min keysize : 16 max keysize : 32 ivsize : 16 chunksize : 16 walksize : 128 name : __ctr(aes) driver : __ctr-aes-neonbs module : aes_neon_bs priority : 250 refcnt : 1 selftest : passed internal : yes type : skcipher async : no blocksize : 1 min keysize : 16 max keysize : 32 ivsize : 16 chunksize : 16 walksize : 128 name : __cbc(aes) driver : __cbc-aes-neonbs module : aes_neon_bs priority : 250 refcnt : 1 selftest : passed internal : yes type : skcipher async : no blocksize : 16 min keysize : 16 max keysize : 32 ivsize : 16 chunksize : 16 walksize : 128 name : __ecb(aes) driver : __ecb-aes-neonbs module : aes_neon_bs priority : 250 refcnt : 1 selftest : passed internal : yes type : skcipher async : no blocksize : 16 min keysize : 16 max keysize : 32 ivsize : 0 chunksize : 16 walksize : 128 name : essiv(cbc(aes),sha256) driver : essiv-cbc-aes-sha256-neon module : aes_neon_blk priority : 201 refcnt : 1 selftest : passed internal : no type : skcipher async : yes blocksize : 16 min keysize : 16 max keysize : 32 ivsize : 16 chunksize : 16 walksize : 16 name : cts(cbc(aes)) driver : cts-cbc-aes-neon module : aes_neon_blk priority : 200 refcnt : 1 selftest : passed internal : no type : skcipher async : yes blocksize : 16 min keysize : 16 max keysize : 32 ivsize : 16 chunksize : 16 walksize : 16 name : xts(aes) driver : xts-aes-neon module : aes_neon_blk priority : 200 refcnt : 1 selftest : passed internal : no type : skcipher async : yes blocksize : 16 min keysize : 32 max keysize : 64 ivsize : 16 chunksize : 16 walksize : 16 name : ctr(aes) driver : ctr-aes-neon module : aes_neon_blk priority : 200 refcnt : 1 selftest : passed internal : no type : skcipher async : yes blocksize : 1 min keysize : 16 max keysize : 32 ivsize : 16 chunksize : 16 walksize : 16 name : cbc(aes) driver : cbc-aes-neon module : aes_neon_blk priority : 200 refcnt : 1 selftest : passed internal : no type : skcipher async : yes blocksize : 16 min keysize : 16 max keysize : 32 ivsize : 16 chunksize : 16 walksize : 16 name : ecb(aes) driver : ecb-aes-neon module : aes_neon_blk priority : 200 refcnt : 1 selftest : passed internal : no type : skcipher async : yes blocksize : 16 min keysize : 16 max keysize : 32 ivsize : 0 chunksize : 16 walksize : 16 name : cbcmac(aes) driver : cbcmac-aes-neon module : aes_neon_blk priority : 200 refcnt : 1 selftest : passed internal : no type : shash blocksize : 1 digestsize : 16 name : xcbc(aes) driver : xcbc-aes-neon module : aes_neon_blk priority : 200 refcnt : 1 selftest : passed internal : no type : shash blocksize : 16 digestsize : 16 name : cmac(aes) driver : cmac-aes-neon module : aes_neon_blk priority : 200 refcnt : 1 selftest : passed internal : no type : shash blocksize : 16 digestsize : 16 name : __essiv(cbc(aes),sha256) driver : __essiv-cbc-aes-sha256-neon module : aes_neon_blk priority : 201 refcnt : 1 selftest : passed internal : yes type : skcipher async : no blocksize : 16 min keysize : 16 max keysize : 32 ivsize : 16 chunksize : 16 walksize : 16 name : __cts(cbc(aes)) driver : __cts-cbc-aes-neon module : aes_neon_blk priority : 200 refcnt : 1 selftest : passed internal : yes type : skcipher async : no blocksize : 16 min keysize : 16 max keysize : 32 ivsize : 16 chunksize : 16 walksize : 32 name : __xts(aes) driver : __xts-aes-neon module : aes_neon_blk priority : 200 refcnt : 1 selftest : passed internal : yes type : skcipher async : no blocksize : 16 min keysize : 32 max keysize : 64 ivsize : 16 chunksize : 16 walksize : 32 name : ctr(aes) driver : ctr-aes-neon module : aes_neon_blk priority : 199 refcnt : 1 selftest : passed internal : no type : skcipher async : no blocksize : 1 min keysize : 16 max keysize : 32 ivsize : 16 chunksize : 16 walksize : 16 name : __ctr(aes) driver : __ctr-aes-neon module : aes_neon_blk priority : 200 refcnt : 1 selftest : passed internal : yes type : skcipher async : no blocksize : 1 min keysize : 16 max keysize : 32 ivsize : 16 chunksize : 16 walksize : 16 name : __cbc(aes) driver : __cbc-aes-neon module : aes_neon_blk priority : 200 refcnt : 1 selftest : passed internal : yes type : skcipher async : no blocksize : 16 min keysize : 16 max keysize : 32 ivsize : 16 chunksize : 16 walksize : 16 name : __ecb(aes) driver : __ecb-aes-neon module : aes_neon_blk priority : 200 refcnt : 1 selftest : passed internal : yes type : skcipher async : no blocksize : 16 min keysize : 16 max keysize : 32 ivsize : 0 chunksize : 16 walksize : 16 name : crct10dif driver : crct10dif-arm64-neon module : crct10dif_ce priority : 100 refcnt : 2 selftest : passed internal : no type : shash blocksize : 1 digestsize : 2 name : ecb(aes) driver : ecb-aes-gxl module : kernel priority : 400 refcnt : 1 selftest : passed internal : no type : skcipher async : yes blocksize : 16 min keysize : 16 max keysize : 32 ivsize : 0 chunksize : 16 walksize : 16 name : cbc(aes) driver : cbc-aes-gxl module : kernel priority : 400 refcnt : 1 selftest : passed internal : no type : skcipher async : yes blocksize : 16 min keysize : 16 max keysize : 32 ivsize : 16 chunksize : 16 walksize : 16 name : jitterentropy_rng driver : jitterentropy_rng module : kernel priority : 100 refcnt : 1 selftest : passed internal : no type : rng seedsize : 0 name : aes driver : aes-arm64 module : kernel priority : 200 refcnt : 1 selftest : passed internal : no type : cipher blocksize : 16 min keysize : 16 max keysize : 32 name : sha224 driver : sha224-arm64-neon module : kernel priority : 150 refcnt : 1 selftest : passed internal : no type : shash blocksize : 64 digestsize : 28 name : sha256 driver : sha256-arm64-neon module : kernel priority : 150 refcnt : 1 selftest : passed internal : no type : shash blocksize : 64 digestsize : 32 name : sha224 driver : sha224-arm64 module : kernel priority : 125 refcnt : 1 selftest : passed internal : no type : shash blocksize : 64 digestsize : 28 name : sha256 driver : sha256-arm64 module : kernel priority : 125 refcnt : 1 selftest : passed internal : no type : shash blocksize : 64 digestsize : 32 name : ghash driver : ghash-neon module : kernel priority : 100 refcnt : 1 selftest : passed internal : no type : shash blocksize : 16 digestsize : 16 name : stdrng driver : drbg_nopr_hmac_sha256 module : kernel priority : 207 refcnt : 1 selftest : passed internal : no type : rng seedsize : 0 name : stdrng driver : drbg_nopr_hmac_sha512 module : kernel priority : 206 refcnt : 1 selftest : passed internal : no type : rng seedsize : 0 name : stdrng driver : drbg_nopr_hmac_sha384 module : kernel priority : 205 refcnt : 1 selftest : passed internal : no type : rng seedsize : 0 name : stdrng driver : drbg_nopr_hmac_sha1 module : kernel priority : 204 refcnt : 1 selftest : passed internal : no type : rng seedsize : 0 name : stdrng driver : drbg_pr_hmac_sha256 module : kernel priority : 203 refcnt : 1 selftest : passed internal : no type : rng seedsize : 0 name : stdrng driver : drbg_pr_hmac_sha512 module : kernel priority : 202 refcnt : 1 selftest : passed internal : no type : rng seedsize : 0 name : stdrng driver : drbg_pr_hmac_sha384 module : kernel priority : 201 refcnt : 1 selftest : passed internal : no type : rng seedsize : 0 name : stdrng driver : drbg_pr_hmac_sha1 module : kernel priority : 200 refcnt : 1 selftest : passed internal : no type : rng seedsize : 0 name : stdrng driver : ansi_cprng module : kernel priority : 100 refcnt : 1 selftest : passed internal : no type : rng seedsize : 48 name : crct10dif driver : crct10dif-generic module : kernel priority : 100 refcnt : 1 selftest : passed internal : no type : shash blocksize : 1 digestsize : 2 name : crc32c driver : crc32c-generic module : kernel priority : 100 refcnt : 3 selftest : passed internal : no type : shash blocksize : 1 digestsize : 4 name : zlib-deflate driver : zlib-deflate-scomp module : kernel priority : 0 refcnt : 1 selftest : passed internal : no type : scomp name : deflate driver : deflate-scomp module : kernel priority : 0 refcnt : 1 selftest : passed internal : no type : scomp name : deflate driver : deflate-generic module : kernel priority : 0 refcnt : 1 selftest : passed internal : no type : compression name : aes driver : aes-generic module : kernel priority : 100 refcnt : 1 selftest : passed internal : no type : cipher blocksize : 16 min keysize : 16 max keysize : 32 name : sha224 driver : sha224-generic module : kernel priority : 100 refcnt : 1 selftest : passed internal : no type : shash blocksize : 64 digestsize : 28 name : sha256 driver : sha256-generic module : kernel priority : 100 refcnt : 1 selftest : passed internal : no type : shash blocksize : 64 digestsize : 32 name : sha1 driver : sha1-generic module : kernel priority : 100 refcnt : 1 selftest : passed internal : no type : shash blocksize : 64 digestsize : 20 name : ecb(cipher_null) driver : ecb-cipher_null module : kernel priority : 100 refcnt : 1 selftest : passed internal : no type : skcipher async : no blocksize : 1 min keysize : 0 max keysize : 0 ivsize : 0 chunksize : 1 walksize : 1 name : digest_null driver : digest_null-generic module : kernel priority : 0 refcnt : 1 selftest : passed internal : no type : shash blocksize : 1 digestsize : 0 name : compress_null driver : compress_null-generic module : kernel priority : 0 refcnt : 1 selftest : passed internal : no type : compression name : cipher_null driver : cipher_null-generic module : kernel priority : 0 refcnt : 1 selftest : passed internal : no type : cipher blocksize : 1 min keysize : 0 max keysize : 0 name : rsa driver : rsa-generic module : kernel priority : 100 refcnt : 1 selftest : passed internal : no type : akcipher openssl speed md5 sha1 sha256 sha512 des des-ede3 aes-128-cbc aes-192-cbc aes-256-cbc rsa2048 dsa2048 | tee /tmp/sslspeed echo "|" `awk 'match($0,/r[0-9]+/) {print substr($0,RSTART,RLENGTH)}' /etc/banner` `awk -v FS=": " -v ORS="" '/(Processor|BogoMIPS|Hardware|machine|cpu model|system type)/ { print "| " $2 " " } END { print "" }' /proc/cpuinfo` `awk -v ORS="" '$1 ~ /OpenSSL/ {print "| " $2 " |"} $1 ~ /(md5|sha)/ {print " " $5 " |"} $1 ~ /(des|aes)/ {b = b " " $6 " |"} $1 ~ /(rsa|dsa)/ {print b " " $6 " | " $7 " | ";b=""} END { print "" }' /tmp/sslspeed | sed 's/\.\(..\)k/\10/g'` echo 6017051 md5's in 2.99s Doing md5 for 3s on 64 size blocks: 3747162 md5's in 3.00s Doing md5 for 3s on 256 size blocks: 1759645 md5's in 2.99s Doing md5 for 3s on 1024 size blocks: 560895 md5's in 3.00s Doing md5 for 3s on 8192 size blocks: 76613 md5's in 3.00s Doing md5 for 3s on 16384 size blocks: 38552 md5's in 2.99s Doing sha1 for 3s on 16 size blocks: 5302800 sha1's in 3.00s Doing sha1 for 3s on 64 size blocks: 3306365 sha1's in 3.00s Doing sha1 for 3s on 256 size blocks: 1584946 sha1's in 2.99s Doing sha1 for 3s on 1024 size blocks: 513369 sha1's in 3.00s Doing sha1 for 3s on 8192 size blocks: 70336 sha1's in 3.00s Doing sha1 for 3s on 16384 size blocks: 35404 sha1's in 2.99s Doing sha256 for 3s on 16 size blocks: 3357872 sha256's in 3.00s Doing sha256 for 3s on 64 size blocks: 1929438 sha256's in 2.99s Doing sha256 for 3s on 256 size blocks: 869289 sha256's in 3.00s Doing sha256 for 3s on 1024 size blocks: 274438 sha256's in 3.00s Doing sha256 for 3s on 8192 size blocks: 37155 sha256's in 2.99s Doing sha256 for 3s on 16384 size blocks: 18682 sha256's in 3.00s Doing sha512 for 3s on 16 size blocks: 2799557 sha512's in 3.00s Doing sha512 for 3s on 64 size blocks: 2783520 sha512's in 2.99s Doing sha512 for 3s on 256 size blocks: 1105915 sha512's in 3.00s Doing sha512 for 3s on 1024 size blocks: 397144 sha512's in 3.00s Doing sha512 for 3s on 8192 size blocks: 56976 sha512's in 2.99s Doing sha512 for 3s on 16384 size blocks: 28777 sha512's in 3.00s Doing des cbc for 3s on 16 size blocks: 4738723 des cbc's in 2.99s Doing des cbc for 3s on 64 size blocks: 1281858 des cbc's in 3.00s Doing des cbc for 3s on 256 size blocks: 327964 des cbc's in 3.00s Doing des cbc for 3s on 1024 size blocks: 82477 des cbc's in 2.99s Doing des cbc for 3s on 8192 size blocks: 10327 des cbc's in 3.00s Doing des cbc for 3s on 16384 size blocks: 5164 des cbc's in 3.00s Doing des ede3 for 3s on 16 size blocks: 1798759 des ede3's in 3.00s Doing des ede3 for 3s on 64 size blocks: 463662 des ede3's in 2.99s Doing des ede3 for 3s on 256 size blocks: 116943 des ede3's in 3.00s Doing des ede3 for 3s on 1024 size blocks: 29298 des ede3's in 2.99s Doing des ede3 for 3s on 8192 size blocks: 3665 des ede3's in 3.00s Doing des ede3 for 3s on 16384 size blocks: 1833 des ede3's in 3.00s Doing aes-128 cbc for 3s on 16 size blocks: 10693352 aes-128 cbc's in 3.00s Doing aes-128 cbc for 3s on 64 size blocks: 2904495 aes-128 cbc's in 2.99s Doing aes-128 cbc for 3s on 256 size blocks: 747016 aes-128 cbc's in 3.00s Doing aes-128 cbc for 3s on 1024 size blocks: 187873 aes-128 cbc's in 3.00s Doing aes-128 cbc for 3s on 8192 size blocks: 23552 aes-128 cbc's in 2.99s Doing aes-128 cbc for 3s on 16384 size blocks: 11785 aes-128 cbc's in 3.00s Doing aes-192 cbc for 3s on 16 size blocks: 9372353 aes-192 cbc's in 3.00s Doing aes-192 cbc for 3s on 64 size blocks: 2519655 aes-192 cbc's in 2.99s Doing aes-192 cbc for 3s on 256 size blocks: 645518 aes-192 cbc's in 3.00s Doing aes-192 cbc for 3s on 1024 size blocks: 162204 aes-192 cbc's in 3.00s Doing aes-192 cbc for 3s on 8192 size blocks: 20339 aes-192 cbc's in 2.99s Doing aes-192 cbc for 3s on 16384 size blocks: 10170 aes-192 cbc's in 3.00s Doing aes-256 cbc for 3s on 16 size blocks: 8351975 aes-256 cbc's in 3.00s Doing aes-256 cbc for 3s on 64 size blocks: 2230407 aes-256 cbc's in 2.99s Doing aes-256 cbc for 3s on 256 size blocks: 569997 aes-256 cbc's in 3.00s Doing aes-256 cbc for 3s on 1024 size blocks: 143151 aes-256 cbc's in 3.00s Doing aes-256 cbc for 3s on 8192 size blocks: 17939 aes-256 cbc's in 2.99s Doing aes-256 cbc for 3s on 16384 size blocks: 8970 aes-256 cbc's in 3.00s Doing 2048 bits private rsa's for 10s: 1399 2048 bits private RSA's in 9.99s Doing 2048 bits public rsa's for 10s: 53024 2048 bits public RSA's in 9.99s Doing 2048 bits sign dsa's for 10s: 3820 2048 bits DSA signs in 9.98s Doing 2048 bits verify dsa's for 10s: 4173 2048 bits DSA verify in 9.99s OpenSSL 1.1.1d 10 Sep 2019 built on: Wed Sep 11 18:07:42 2019 UTC options:bn(64,64) rc4(char) des(int) aes(partial) idea(int) blowfish(ptr) compiler: gcc -fPIC -pthread -Wa,--noexecstack -march=armv8-a -O2 -pipe -fstack-protector-strong -fno-plt -Wa,--noexecstack -D_FORTIFY_SOURCE=2 -march=armv8-a -O2 -pipe -fstack-protector-strong -fno-plt -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DNDEBUG -D_FORTIFY_SOURCE=2 The 'numbers' are in 1000s of bytes per second processed. type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes md5 32198.27k 79939.46k 150658.57k 191452.16k 209204.57k 211249.49k sha1 28281.60k 70535.79k 135701.06k 175229.95k 192064.17k 193999.71k des cbc 25357.72k 27346.30k 27986.26k 28246.30k 28199.59k 28202.33k des ede3 9593.38k 9924.54k 9979.14k 10033.83k 10007.89k 10010.62k aes-128 cbc 57031.21k 62169.79k 63745.37k 64127.32k 64527.75k 64361.81k aes-192 cbc 49985.88k 53932.41k 55084.20k 55365.63k 55724.78k 55541.76k aes-256 cbc 44543.87k 47741.15k 48639.74k 48862.21k 49149.26k 48988.16k sha256 17908.65k 41299.01k 74179.33k 93674.84k 101797.24k 102028.63k sha512 14930.97k 59580.36k 94371.41k 135558.49k 156102.81k 157160.79k sign verify sign/s verify/s rsa 2048 bits 0.007141s 0.000188s 140.0 5307.7 sign verify sign/s verify/s dsa 2048 bits 0.002613s 0.002394s 382.8 417.7 /g'` " | " $7 " | ";b=""} END { print "" }' /tmp/sslspeed | sed 's/\.\(..\)k/\10/ awk: fatal: cannot open file `/etc/banner' for reading (No such file or directory) | | 48.00 | 48.00 | 48.00 | 48.00 | 1.1.1d | 192044030 | 175338500 | 93675520 | 135603200 | 28157270 | 10017790 | 64203090 | 55428780 | 48919210 | 140.0 | 5308.2 | 382.6 | 410.8 | [root@alarm ~]# echo