Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

před 6 roky
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278
  1. # Additional information
  2. A lot of, mostly useless, details
  3. ## Appendix A
  4. Default NDK flags
  5. * CC:
  6. ```
  7. --target=aarch64-none-linux-android
  8. -DBORINGSSL_IMPLEMENTATION
  9. -g
  10. -DANDROID
  11. -ffunction-sections
  12. -funwind-tables
  13. -fstack-protector-strong
  14. -no-canonical-prefixes
  15. -Wa,--noexecstack
  16. -Wformat
  17. -Werror=format-security
  18. -Werror
  19. -Wformat=2
  20. -Wsign-compare
  21. -Wmissing-field-initializers
  22. -Wwrite-strings
  23. -Wall
  24. -ggdb
  25. -fvisibility=hidden
  26. -fno-common
  27. -Wnewline-eof
  28. -fcolor-diagnostics
  29. -Wimplicit-fallthrough
  30. -Wmissing-prototypes
  31. -Wold-style-definition
  32. -Wstrict-prototypes
  33. -Wshadow
  34. -D_XOPEN_SOURCE=700
  35. -O2
  36. -DNDEBUG
  37. -fPIC
  38. ```
  39. * CPP:
  40. ```
  41. -cc1
  42. -triple aarch64-none-linux-android
  43. -emit-obj
  44. -mnoexecstack
  45. -disable-free
  46. -disable-llvm-verifier
  47. -discard-value-names
  48. -mrelocation-model pic
  49. -pic-level 2
  50. -pic-is-pie
  51. -mthread-model posix
  52. -mdisable-fp-elim
  53. -fmath-errno
  54. -masm-verbose
  55. -mconstructor-aliases
  56. -munwind-tables
  57. -fuse-init-array
  58. -target-cpu generic
  59. -target-feature +neon
  60. -target-abi aapcs
  61. -dwarf-column-info
  62. -debug-info-kind=limited
  63. -dwarf-version=4
  64. -debugger-tuning=gdb
  65. -ffunction-sections
  66. -D BORINGSSL_IMPLEMENTATION
  67. -D ANDROID
  68. -D NDEBUG
  69. -O2
  70. -Wformat
  71. -Werror=format-security
  72. -Werror
  73. -Wformat=2
  74. -Wsign-compare
  75. -Wmissing-field-initializers
  76. -Wwrite-strings
  77. -Wall
  78. -Wnewline-eof
  79. -Wimplicit-fallthrough
  80. -Wmissing-declarations
  81. -Wmissing-prototypes
  82. -Wshadow
  83. -std=c++11
  84. -fdeprecated-macro
  85. -fdebug-compilation-dir /home/hdc/repos/mbedtls_vs_boringssl/bssl/src/build/crypto
  86. -ferror-limit 19
  87. -fmessage-length 238
  88. -fvisibility hidden
  89. -femulated-tls
  90. -stack-protector 2
  91. -fallow-half-arguments-and-returns
  92. -fno-rtti
  93. -fno-signed-char
  94. -fobjc-runtime=gcc
  95. -fno-common
  96. -fdiagnostics-show-option
  97. -fcolor-diagnostics
  98. -vectorize-loops
  99. -vectorize-slp
  100. ```
  101. ## Appendix B
  102. Test platform settings
  103. ```
  104. [ro.build.id]: [OPR6.170623.013]
  105. [ro.bootimage.build.date]: [Wed Oct 11 15:46:15 BST 2017]
  106. [ro.bootimage.build.fingerprint]: [Android/hikey/hikey:8.0.0/OPR6.170623.013/110:userdebug/test-keys]
  107. [ro.product.cpu.abi]: [arm64-v8a]
  108. [ro.product.cpu.abilist]: [arm64-v8a,armeabi-v7a,armeabi]
  109. [ro.product.cpu.abilist32]: [armeabi-v7a,armeabi]
  110. [ro.product.cpu.abilist64]: [arm64-v8a]
  111. [ro.build.version.sdk]: [26]
  112. [ro.build.version.security_patch]: [2017-08-05]
  113. ```
  114. ## Appendix C
  115. Performance measures provied by ``bssl speed``:
  116. | Operation | Small | Default |
  117. |-----------|------|---------|
  118. |RSA 2048 signing | (59.5 ops/sec) | (108.1 ops/sec) |
  119. |RSA 2048 verify | (2377.5 ops/sec) | (4078.3 ops/sec) |
  120. |RSA 4096 signing | (8.3 ops/sec) | (14.9 ops/sec) |
  121. |RSA 4096 verify | (668.0 ops/sec) | (1088.4 ops/sec) |
  122. |AES-128-GCM (16 bytes) | (497832.2 ops/sec): 8.0 MB/s | (1690241.1 ops/sec): 27.0 MB/s |
  123. |AES-128-GCM (1350 bytes) | (17675.4 ops/sec): 23.9 MB/s | (291430.3 ops/sec): 393.4 MB/s |
  124. |AES-128-GCM (8192 bytes) | (2991.6 ops/sec): 24.5 MB/s | (57088.8 ops/sec): 467.7 MB/s |
  125. |AES-256-GCM (16 bytes) | (444847.4 ops/sec): 7.1 MB/s | (1615148.8 ops/sec): 25.8 MB/s |
  126. |AES-256-GCM (1350 bytes) | (14792.6 ops/sec): 20.0 MB/s | (254718.5 ops/sec): 343.9 MB/s |
  127. |AES-256-GCM (8192 bytes) | (2525.7 ops/sec): 20.7 MB/s | (49056.6 ops/sec): 401.9 MB/s |
  128. |ChaCha20-Poly1305 (16 bytes) | (385043.6 ops/sec): 6.2 MB/s | (460788.5 ops/sec): 7.4 MB/s |
  129. |ChaCha20-Poly1305 (1350 bytes) | (33108.8 ops/sec): 44.7 MB/s | (67622.8 ops/sec): 91.3 MB/s |
  130. |ChaCha20-Poly1305 (8192 bytes) | (5905.1 ops/sec): 48.4 MB/s | (13219.5 ops/sec): 108.3 MB/s |
  131. |DES-EDE3-CBC-SHA1 (16 bytes) | (100311.5 ops/sec): 1.6 MB/s | (110073.3 ops/sec): 1.8 MB/s |
  132. |DES-EDE3-CBC-SHA1 (1350 bytes) | (3787.2 ops/sec): 5.1 MB/s | (3926.7 ops/sec): 5.3 MB/s |
  133. |DES-EDE3-CBC-SHA1 (8192 bytes) | (638.4 ops/sec): 5.2 MB/s | (661.2 ops/sec): 5.4 MB/s |
  134. |AES-128-CBC-SHA1 (16 bytes) | (268159.9 ops/sec): 4.3 MB/s | (540844.8 ops/sec): 8.7 MB/s |
  135. |AES-128-CBC-SHA1 (1350 bytes) | (22535.6 ops/sec): 30.4 MB/s | (162597.6 ops/sec): 219.5 MB/s |
  136. |AES-128-CBC-SHA1 (8192 bytes) | (3959.9 ops/sec): 32.4 MB/s | (37787.3 ops/sec): 309.6 MB/s |
  137. |AES-256-CBC-SHA1 (16 bytes) | (244904.2 ops/sec): 3.9 MB/s | (524976.9 ops/sec): 8.4 MB/s |
  138. |AES-256-CBC-SHA1 (1350 bytes) | (18272.3 ops/sec): 24.7 MB/s | (141626.7 ops/sec): 191.2 MB/s |
  139. |AES-256-CBC-SHA1 (8192 bytes) | (3181.3 ops/sec): 26.1 MB/s | (31195.9 ops/sec): 255.6 MB/s |
  140. |AES-128-GCM-SIV (16 bytes) | (244929.5 ops/sec): 3.9 MB/s | (776750.7 ops/sec): 12.4 MB/s |
  141. |AES-128-GCM-SIV (1350 bytes) | (14640.5 ops/sec): 19.8 MB/s | (66627.7 ops/sec): 89.9 MB/s |
  142. |AES-128-GCM-SIV (8192 bytes) | (2531.6 ops/sec): 20.7 MB/s | (11850.0 ops/sec): 97.1 MB/s |
  143. |AES-256-GCM-SIV (16 bytes) | (171899.3 ops/sec): 2.8 MB/s | (660748.9 ops/sec): 10.6 MB/s |
  144. |AES-256-GCM-SIV (1350 bytes) | (12489.6 ops/sec): 16.9 MB/s | (61124.5 ops/sec): 82.5 MB/s |
  145. |AES-256-GCM-SIV (8192 bytes) | (2182.7 ops/sec): 17.9 MB/s | (10936.1 ops/sec): 89.6 MB/s |
  146. |AES-128-GCM-SIV (16 bytes) | (239698.0 ops/sec): 3.8 MB/s | (733661.0 ops/sec): 11.7 MB/s |
  147. |AES-128-GCM-SIV (1350 bytes) | (14616.0 ops/sec): 19.7 MB/s | (65984.0 ops/sec): 89.1 MB/s |
  148. |AES-128-GCM-SIV (8192 bytes) | (2529.8 ops/sec): 20.7 MB/s | (11745.7 ops/sec): 96.2 MB/s |
  149. |AES-256-GCM-SIV (16 bytes) | (170826.1 ops/sec): 2.7 MB/s | (626465.6 ops/sec): 10.0 MB/s |
  150. |AES-256-GCM-SIV (1350 bytes) | (12474.8 ops/sec): 16.8 MB/s | (60595.5 ops/sec): 81.8 MB/s |
  151. |AES-256-GCM-SIV (8192 bytes) | (2182.1 ops/sec): 17.9 MB/s | (10841.9 ops/sec): 88.8 MB/s |
  152. |AES-128-CCM-Bluetooth (16 bytes) | (438558.8 ops/sec): 7.0 MB/s | (1405567.1 ops/sec): 22.5 MB/s |
  153. |AES-128-CCM-Bluetooth (1350 bytes) | (14776.5 ops/sec): 19.9 MB/s | (140168.4 ops/sec): 189.2 MB/s |
  154. |AES-128-CCM-Bluetooth (8192 bytes) | (2498.7 ops/sec): 20.5 MB/s | (25890.2 ops/sec): 212.1 MB/s |
  155. |SHA-1 (16 bytes) | (1244563.2 ops/sec): 19.9 MB/s | (2567122.0 ops/sec): 41.1 MB/s |
  156. |SHA-1 (256 bytes) | (341934.0 ops/sec): 87.5 MB/s | (1162590.8 ops/sec): 297.6 MB/s |
  157. |SHA-1 (8192 bytes) | (14574.3 ops/sec): 119.4 MB/s | (66844.3 ops/sec): 547.6 MB/s |
  158. |SHA-256 (16 bytes) | (691326.6 ops/sec): 11.1 MB/s | (2431927.0 ops/sec): 38.9 MB/s |
  159. |SHA-256 (256 bytes) | (166138.9 ops/sec): 42.5 MB/s | (1120621.2 ops/sec): 286.9 MB/s |
  160. |SHA-256 (8192 bytes) | (6824.7 ops/sec): 55.9 MB/s | (63214.7 ops/sec): 517.9 MB/s |
  161. |SHA-512 (16 bytes) | (688007.9 ops/sec): 11.0 MB/s | (729988.3 ops/sec): 11.7 MB/s |
  162. |SHA-512 (256 bytes) | (272146.5 ops/sec): 69.7 MB/s | (289178.7 ops/sec): 74.0 MB/s |
  163. |SHA-512 (8192 bytes) | (14014.7 ops/sec): 114.8 MB/s | (14759.6 ops/sec): 120.9 MB/s |
  164. |RNG (16 bytes) | (137217.4 ops/sec): 2.2 MB/s | (249239.3 ops/sec): 4.0 MB/s |
  165. |RNG (256 bytes) | (69898.9 ops/sec): 17.9 MB/s | (224698.5 ops/sec): 57.5 MB/s |
  166. |RNG (8192 bytes) | (4058.7 ops/sec): 33.2 MB/s | (55705.4 ops/sec): 456.3 MB/s |
  167. |ECDH P-224 operations | (151.0 ops/sec) | (1602.4 ops/sec) |
  168. |ECDH P-256 operations | (594.7 ops/sec) | (642.8 ops/sec) |
  169. |ECDH P-384 operations | (59.0 ops/sec) | (97.4 ops/sec) |
  170. |ECDH P-521 operations | (27.1 ops/sec) | (43.4 ops/sec) |
  171. |ECDSA P-224 signing | (277.8 ops/sec) | (3312.7 ops/sec) |
  172. |ECDSA P-224 verify | (241.2 ops/sec) | (1451.7 ops/sec) |
  173. |ECDSA P-256 signing | (1396.6 ops/sec) | (1738.5 ops/sec) |
  174. |ECDSA P-256 verify | (672.1 ops/sec) | (704.2 ops/sec) |
  175. |ECDSA P-384 signing | (107.0 ops/sec) | (177.6 ops/sec) |
  176. |ECDSA P-384 verify | (94.4 ops/sec) | (156.9 ops/sec) |
  177. |ECDSA P-521 signing | (49.0 ops/sec) | (78.2 ops/sec) |
  178. |ECDSA P-521 verify | (43.8 ops/sec) | (70.8 ops/sec) |
  179. Performance measures provided by ``benchmark``:
  180. | Algo | Small | Normal |
  181. |-------------------------------|----------------------|----------------------|
  182. |MD5 | 131223 KiB/s | 131761 KiB/s |
  183. |RIPEMD160 | 81451 KiB/s | 89899 KiB/s |
  184. |SHA-1 | 104117 KiB/s | 104375 KiB/s |
  185. |SHA-256 | 46809 KiB/s | 52044 KiB/s |
  186. |SHA-512 | 56760 KiB/s | 57648 KiB/s |
  187. |ARC4 | 65014 KiB/s | 65023 KiB/s |
  188. |3DES | 7785 KiB/s | 7885 KiB/s |
  189. |DES | 19071 KiB/s | 19512 KiB/s |
  190. |AES-CBC-128 | 32460 KiB/s | 35995 KiB/s |
  191. |AES-CBC-192 | 28392 KiB/s | 31044 KiB/s |
  192. |AES-CBC-256 | 25213 KiB/s | 27296 KiB/s |
  193. |AES-GCM-128 | 16399 KiB/s | 16398 KiB/s |
  194. |AES-GCM-192 | 15272 KiB/s | 15271 KiB/s |
  195. |AES-GCM-256 | 14287 KiB/s | 14286 KiB/s |
  196. |AES-CCM-128 | 15824 KiB/s | 15887 KiB/s |
  197. |AES-CCM-192 | 13853 KiB/s | 13899 KiB/s |
  198. |AES-CCM-256 | 12315 KiB/s | 12356 KiB/s |
  199. |CAMELLIA-CBC-128 | 19735 KiB/s | 26762 KiB/s |
  200. |CAMELLIA-CBC-192 | 15458 KiB/s | 20839 KiB/s |
  201. |CAMELLIA-CBC-256 | 15459 KiB/s | 20839 KiB/s |
  202. |BLOWFISH-CBC-128 | 25188 KiB/s | 28955 KiB/s |
  203. |BLOWFISH-CBC-192 | 25189 KiB/s | 28954 KiB/s |
  204. |BLOWFISH-CBC-256 | 25183 KiB/s | 28955 KiB/s |
  205. |CTR_DRBG (NOPR) | 27122 KiB/s | 27050 KiB/s |
  206. |CTR_DRBG (PR) | 18397 KiB/s | 19111 KiB/s |
  207. |HMAC_DRBG SHA-1 (NOPR) | 6746 KiB/s | 6968 KiB/s |
  208. |HMAC_DRBG SHA-1 (PR) | 6208 KiB/s | 6426 KiB/s |
  209. |HMAC_DRBG SHA-256 (NOPR) | 5321 KiB/s | 5795 KiB/s |
  210. |HMAC_DRBG SHA-256 (PR) | 4657 KiB/s | 5083 KiB/s |
  211. |RSA-2048 | 652 public/s | 653 public/s |
  212. |RSA-2048 | 17 private/s | 17 private/s |
  213. |RSA-4096 | 168 public/s | 168 public/s |
  214. |RSA-4096 | 3 private/s | 3 private/s |
  215. |DHE-2048 | 3 handshake/s | 3 handshake/s |
  216. |DH-2048 | 5 handshake/s | 6 handshake/s |
  217. |DHE-3072 | 1 handshake/s | 1 handshake/s |
  218. |DH-3072 | 2 handshake/s | 2 handshake/s |
  219. |ECDSA-secp521r1 | 70 sign/s | 74 sign/s |
  220. |ECDSA-brainpoolP512r1 | 8 sign/s | 9 sign/s |
  221. |ECDSA-secp384r1 | 126 sign/s | 133 sign/s |
  222. |ECDSA-brainpoolP384r1 | 16 sign/s | 18 sign/s |
  223. |ECDSA-secp256r1 | 189 sign/s | 195 sign/s |
  224. |ECDSA-secp256k1 | 176 sign/s | 189 sign/s |
  225. |ECDSA-brainpoolP256r1 | 27 sign/s | 31 sign/s |
  226. |ECDSA-secp224r1 | 277 sign/s | 291 sign/s |
  227. |ECDSA-secp224k1 | 216 sign/s | 230 sign/s |
  228. |ECDSA-secp192r1 | 329 sign/s | 352 sign/s |
  229. |ECDSA-secp192k1 | 264 sign/s | 277 sign/s |
  230. |ECDSA-secp521r1 | 19 verify/s | 21 verify/s |
  231. |ECDSA-brainpoolP512r1 | 2 verify/s | 2 verify/s |
  232. |ECDSA-secp384r1 | 35 verify/s | 36 verify/s |
  233. |ECDSA-brainpoolP384r1 | 4 verify/s | 4 verify/s |
  234. |ECDSA-secp256r1 | 54 verify/s | 57 verify/s |
  235. |ECDSA-secp256k1 | 53 verify/s | 57 verify/s |
  236. |ECDSA-brainpoolP256r1 | 7 verify/s | 8 verify/s |
  237. |ECDSA-secp224r1 | 82 verify/s | 86 verify/s |
  238. |ECDSA-secp224k1 | 63 verify/s | 67 verify/s |
  239. |ECDSA-secp192r1 | 102 verify/s | 110 verify/s |
  240. |ECDSA-secp192k1 | 77 verify/s | 82 verify/s |
  241. |ECDHE-secp521r1 | 20 handshake/s | 21 handshake/s |
  242. |ECDHE-brainpoolP512r1 | 2 handshake/s | 2 handshake/s |
  243. |ECDHE-secp384r1 | 37 handshake/s | 39 handshake/s |
  244. |ECDHE-brainpoolP384r1 | 4 handshake/s | 4 handshake/s |
  245. |ECDHE-secp256r1 | 57 handshake/s | 60 handshake/s |
  246. |ECDHE-secp256k1 | 56 handshake/s | 60 handshake/s |
  247. |ECDHE-brainpoolP256r1 | 7 handshake/s | 8 handshake/s |
  248. |ECDHE-secp224r1 | 89 handshake/s | 92 handshake/s |
  249. |ECDHE-secp224k1 | 67 handshake/s | 71 handshake/s |
  250. |ECDHE-secp192r1 | 111 handshake/s | 118 handshake/s |
  251. |ECDHE-secp192k1 | 83 handshake/s | 87 handshake/s |
  252. |ECDHE-Curve25519 | 41 handshake/s | 41 handshake/s |
  253. |ECDH-secp521r1 | 27 handshake/s | 28 handshake/s |
  254. |ECDH-brainpoolP512r1 | 3 handshake/s | 3 handshake/s |
  255. |ECDH-secp384r1 | 49 handshake/s | 51 handshake/s |
  256. |ECDH-brainpoolP384r1 | 5 handshake/s | 5 handshake/s |
  257. |ECDH-secp256r1 | 77 handshake/s | 81 handshake/s |
  258. |ECDH-secp256k1 | 78 handshake/s | 82 handshake/s |
  259. |ECDH-brainpoolP256r1 | 9 handshake/s | 11 handshake/s |
  260. |ECDH-secp224r1 | 121 handshake/s | 126 handshake/s |
  261. |ECDH-secp224k1 | 91 handshake/s | 97 handshake/s |
  262. |ECDH-secp192r1 | 150 handshake/s | 159 handshake/s |
  263. |ECDH-secp192k1 | 113 handshake/s | 120 handshake/s |
  264. |ECDH-Curve25519 | 80 handshake/s | 82 handshake/s |