Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Improve performance of decrypt one shots#65725

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
vcsjones merged 5 commits intodotnet:mainfromvcsjones:decrypt-direct-oneshot
Mar 11, 2022

Conversation

vcsjones
Copy link
Member

@vcsjonesvcsjones commentedFeb 22, 2022
edited
Loading

  • If the destination is big enough, even for padded modes, decrypt directly to the user supplied buffer. If the padding is invalid, then the data written to the buffer is zeroed. If the padding is valid, then the padding bytes are zeroed so the padding is not "beyond" what was reported inbytesWritten.
  • If the destination is impossibly small, i.e. the buffer is too short by more than one block, bail out early.
  • If the plaintext is sufficiently small, decrypt in to a stack buffer and copy to the destination if the padding is valid.
  • Otherwise, decrypt all but the last block directly to the user buffer. The last block is decrypted in to a stack buffer. If the last block does not fit in the user buffer, zero everything that was written so far. Otherwise, copy the last block to the user buffer.

Contributes to#55601

Remaining work:

  • Better unit tests on boundary conditions
  • Gather performance metrics for all platforms under all conditions

@ghost
Copy link

Tagging subscribers to this area: @dotnet/area-system-security,@vcsjones
See info inarea-owners.md if you want to be subscribed.

Issue Details
  • If the destination is big enough, even for padded modes, decrypt directly to the user supplied buffer. If the padding is invalid, then the data written to the buffer is zeroed. If the padding is valid, then the padding bytes are zeroed so the padding is not "beyond" what was reported inbytesWritten.
  • If the destination is impossibly small, i.e. the buffer is too short by more than one block, bail out early.
  • If the plaintext is sufficiently small, decrypt in to a stack buffer and copy to the destination if the padding is valid.
  • Otherwise, decrypt all but the last block directly to the user buffer. The last block is decrypted in to a stack buffer. If the last block does not fit in the user buffer, zero everything that was written so far. Otherwise, copy the last block to the user buffer.

Contributes to#55601

Author:vcsjones
Assignees:vcsjones
Labels:

area-System.Security

Milestone:-

@vcsjones
Copy link
MemberAuthor

@bartonjs early feedback welcome

@vcsjones
Copy link
MemberAuthor

Hmmm. Something is not quite right here... so maybe hold off on reviews.

@vcsjones
Copy link
MemberAuthor

Ohhh. We need to handle overlapping source / destination. I... think... if the source and destination overlap we go back to the original behavior and do everything in a rented buffer.

@bartonjs
Copy link
Member

@bartonjs early feedback welcome

Early feedback is ✔️- nice work. (Few nits/questions)

@vcsjones
Copy link
MemberAuthor

Benchmarks show a decent improvement that scales with the size of the ciphertext to be decrypted for padded data.

GuaranteedBufferSize tests are where thedestination is>= to the input size, even with padding, so the destination is unambiguously big enough.

ExactBufferSize is where the data is padded, and the destination is big enough to hold the de-padded data, but we need to two-step the decrypt because we don't know how big the padding is.

|                           Method |        Job |      Toolchain | DataSize |  Padding |                                     Algorithm |             Mean |           Error |          StdDev |           Median | Ratio | RatioSD |  Gen 0 | Gen 1 | Gen 2 |   Allocated ||--------------------------------- |----------- |--------------- |--------- |--------- |---------------------------------------------- |-----------------:|----------------:|----------------:|-----------------:|------:|--------:|-------:|------:|------:|------------:|| Decrypt_Cbc_GuaranteedBufferSize | Job-JCRJRQ |         branch |       16 |    PKCS7 |       Internal.Cryptography.AesImplementation |         586.7 ns |         4.01 ns |         3.75 ns |         585.6 ns |  0.99 |    0.01 | 0.0200 |     - |     - |       128 B || Decrypt_Cbc_GuaranteedBufferSize | Job-ZDOVDV | main @ febaf76 |       16 |    PKCS7 |       Internal.Cryptography.AesImplementation |         593.2 ns |         5.78 ns |         5.41 ns |         591.3 ns |  1.00 |    0.00 | 0.0200 |     - |     - |       128 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             ||      Decrypt_Cbc_ExactBufferSize | Job-JCRJRQ |         branch |       16 |    PKCS7 |       Internal.Cryptography.AesImplementation |         593.6 ns |         5.07 ns |         4.74 ns |         595.4 ns |  0.98 |    0.01 | 0.0200 |     - |     - |       128 B ||      Decrypt_Cbc_ExactBufferSize | Job-ZDOVDV | main @ febaf76 |       16 |    PKCS7 |       Internal.Cryptography.AesImplementation |         606.1 ns |         6.77 ns |         6.34 ns |         607.9 ns |  1.00 |    0.00 | 0.0200 |     - |     - |       128 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             || Decrypt_Cbc_GuaranteedBufferSize | Job-JCRJRQ |         branch |       16 |    PKCS7 | Internal.Cryptography.TripleDesImplementation |      10,873.0 ns |        29.89 ns |        26.49 ns |      10,864.8 ns |  0.98 |    0.01 | 0.0153 |     - |     - |       168 B || Decrypt_Cbc_GuaranteedBufferSize | Job-ZDOVDV | main @ febaf76 |       16 |    PKCS7 | Internal.Cryptography.TripleDesImplementation |      11,128.9 ns |       156.99 ns |       131.09 ns |      11,182.6 ns |  1.00 |    0.00 |      - |     - |     - |       168 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             ||      Decrypt_Cbc_ExactBufferSize | Job-JCRJRQ |         branch |       16 |    PKCS7 | Internal.Cryptography.TripleDesImplementation |      11,041.7 ns |       214.22 ns |       263.08 ns |      10,922.9 ns |  1.03 |    0.03 | 0.0153 |     - |     - |       168 B ||      Decrypt_Cbc_ExactBufferSize | Job-ZDOVDV | main @ febaf76 |       16 |    PKCS7 | Internal.Cryptography.TripleDesImplementation |      10,794.1 ns |        72.09 ns |        63.91 ns |      10,780.2 ns |  1.00 |    0.00 | 0.0153 |     - |     - |       168 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             || Decrypt_Cbc_GuaranteedBufferSize | Job-JCRJRQ |         branch |       16 | ANSIX923 |       Internal.Cryptography.AesImplementation |         588.3 ns |         4.61 ns |         4.32 ns |         589.5 ns |  0.99 |    0.01 | 0.0200 |     - |     - |       128 B || Decrypt_Cbc_GuaranteedBufferSize | Job-ZDOVDV | main @ febaf76 |       16 | ANSIX923 |       Internal.Cryptography.AesImplementation |         591.1 ns |         2.46 ns |         1.92 ns |         590.8 ns |  1.00 |    0.00 | 0.0200 |     - |     - |       128 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             ||      Decrypt_Cbc_ExactBufferSize | Job-JCRJRQ |         branch |       16 | ANSIX923 |       Internal.Cryptography.AesImplementation |         586.1 ns |         9.79 ns |         9.16 ns |         581.0 ns |  0.97 |    0.02 | 0.0200 |     - |     - |       128 B ||      Decrypt_Cbc_ExactBufferSize | Job-ZDOVDV | main @ febaf76 |       16 | ANSIX923 |       Internal.Cryptography.AesImplementation |         603.1 ns |         4.13 ns |         3.86 ns |         605.4 ns |  1.00 |    0.00 | 0.0200 |     - |     - |       128 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             || Decrypt_Cbc_GuaranteedBufferSize | Job-JCRJRQ |         branch |       16 | ANSIX923 | Internal.Cryptography.TripleDesImplementation |      10,692.8 ns |        43.37 ns |        38.45 ns |      10,696.6 ns |  0.98 |    0.01 | 0.0153 |     - |     - |       168 B || Decrypt_Cbc_GuaranteedBufferSize | Job-ZDOVDV | main @ febaf76 |       16 | ANSIX923 | Internal.Cryptography.TripleDesImplementation |      10,910.8 ns |        41.72 ns |        39.03 ns |      10,901.8 ns |  1.00 |    0.00 | 0.0153 |     - |     - |       168 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             ||      Decrypt_Cbc_ExactBufferSize | Job-JCRJRQ |         branch |       16 | ANSIX923 | Internal.Cryptography.TripleDesImplementation |      10,672.5 ns |        44.21 ns |        41.35 ns |      10,656.4 ns |  0.98 |    0.00 | 0.0153 |     - |     - |       168 B ||      Decrypt_Cbc_ExactBufferSize | Job-ZDOVDV | main @ febaf76 |       16 | ANSIX923 | Internal.Cryptography.TripleDesImplementation |      10,872.0 ns |        53.10 ns |        49.67 ns |      10,880.8 ns |  1.00 |    0.00 | 0.0153 |     - |     - |       168 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             || Decrypt_Cbc_GuaranteedBufferSize | Job-JCRJRQ |         branch |      112 |    PKCS7 |       Internal.Cryptography.AesImplementation |         593.4 ns |         8.19 ns |         7.66 ns |         597.0 ns |  1.00 |    0.02 | 0.0200 |     - |     - |       128 B || Decrypt_Cbc_GuaranteedBufferSize | Job-ZDOVDV | main @ febaf76 |      112 |    PKCS7 |       Internal.Cryptography.AesImplementation |         593.4 ns |         8.45 ns |         7.90 ns |         591.4 ns |  1.00 |    0.00 | 0.0200 |     - |     - |       128 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             ||      Decrypt_Cbc_ExactBufferSize | Job-JCRJRQ |         branch |      112 |    PKCS7 |       Internal.Cryptography.AesImplementation |         579.3 ns |         7.56 ns |         7.07 ns |         575.9 ns |  0.97 |    0.02 | 0.0200 |     - |     - |       128 B ||      Decrypt_Cbc_ExactBufferSize | Job-ZDOVDV | main @ febaf76 |      112 |    PKCS7 |       Internal.Cryptography.AesImplementation |         598.7 ns |         8.63 ns |         8.07 ns |         600.9 ns |  1.00 |    0.00 | 0.0200 |     - |     - |       128 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             || Decrypt_Cbc_GuaranteedBufferSize | Job-JCRJRQ |         branch |      112 |    PKCS7 | Internal.Cryptography.TripleDesImplementation |      13,727.3 ns |        54.78 ns |        51.24 ns |      13,707.6 ns |  1.01 |    0.01 | 0.0153 |     - |     - |       168 B || Decrypt_Cbc_GuaranteedBufferSize | Job-ZDOVDV | main @ febaf76 |      112 |    PKCS7 | Internal.Cryptography.TripleDesImplementation |      13,576.4 ns |        34.84 ns |        29.09 ns |      13,577.5 ns |  1.00 |    0.00 | 0.0153 |     - |     - |       168 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             ||      Decrypt_Cbc_ExactBufferSize | Job-JCRJRQ |         branch |      112 |    PKCS7 | Internal.Cryptography.TripleDesImplementation |      13,499.5 ns |        56.73 ns |        53.07 ns |      13,505.4 ns |  1.01 |    0.01 | 0.0153 |     - |     - |       168 B ||      Decrypt_Cbc_ExactBufferSize | Job-ZDOVDV | main @ febaf76 |      112 |    PKCS7 | Internal.Cryptography.TripleDesImplementation |      13,409.7 ns |        48.25 ns |        40.29 ns |      13,395.6 ns |  1.00 |    0.00 | 0.0153 |     - |     - |       168 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             || Decrypt_Cbc_GuaranteedBufferSize | Job-JCRJRQ |         branch |      112 | ANSIX923 |       Internal.Cryptography.AesImplementation |         592.3 ns |         9.91 ns |         9.27 ns |         597.3 ns |  0.99 |    0.02 | 0.0200 |     - |     - |       128 B || Decrypt_Cbc_GuaranteedBufferSize | Job-ZDOVDV | main @ febaf76 |      112 | ANSIX923 |       Internal.Cryptography.AesImplementation |         598.6 ns |         7.32 ns |         6.84 ns |         602.1 ns |  1.00 |    0.00 | 0.0200 |     - |     - |       128 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             ||      Decrypt_Cbc_ExactBufferSize | Job-JCRJRQ |         branch |      112 | ANSIX923 |       Internal.Cryptography.AesImplementation |         582.7 ns |        10.65 ns |         9.97 ns |         579.4 ns |  0.97 |    0.03 | 0.0200 |     - |     - |       128 B ||      Decrypt_Cbc_ExactBufferSize | Job-ZDOVDV | main @ febaf76 |      112 | ANSIX923 |       Internal.Cryptography.AesImplementation |         598.0 ns |         7.18 ns |         6.72 ns |         601.7 ns |  1.00 |    0.00 | 0.0200 |     - |     - |       128 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             || Decrypt_Cbc_GuaranteedBufferSize | Job-JCRJRQ |         branch |      112 | ANSIX923 | Internal.Cryptography.TripleDesImplementation |      13,477.2 ns |        39.64 ns |        37.08 ns |      13,468.7 ns |  0.99 |    0.01 | 0.0153 |     - |     - |       168 B || Decrypt_Cbc_GuaranteedBufferSize | Job-ZDOVDV | main @ febaf76 |      112 | ANSIX923 | Internal.Cryptography.TripleDesImplementation |      13,555.5 ns |        64.38 ns |        53.76 ns |      13,545.9 ns |  1.00 |    0.00 | 0.0153 |     - |     - |       168 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             ||      Decrypt_Cbc_ExactBufferSize | Job-JCRJRQ |         branch |      112 | ANSIX923 | Internal.Cryptography.TripleDesImplementation |      13,678.1 ns |        41.93 ns |        39.22 ns |      13,691.4 ns |  0.99 |    0.01 | 0.0153 |     - |     - |       168 B ||      Decrypt_Cbc_ExactBufferSize | Job-ZDOVDV | main @ febaf76 |      112 | ANSIX923 | Internal.Cryptography.TripleDesImplementation |      13,835.9 ns |       183.36 ns |       171.52 ns |      13,828.6 ns |  1.00 |    0.00 | 0.0153 |     - |     - |       168 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             || Decrypt_Cbc_GuaranteedBufferSize | Job-JCRJRQ |         branch |      113 |    PKCS7 |       Internal.Cryptography.AesImplementation |         592.5 ns |         1.80 ns |         1.68 ns |         592.1 ns |  1.01 |    0.02 | 0.0200 |     - |     - |       128 B || Decrypt_Cbc_GuaranteedBufferSize | Job-ZDOVDV | main @ febaf76 |      113 |    PKCS7 |       Internal.Cryptography.AesImplementation |         587.3 ns |        10.78 ns |        10.09 ns |         581.3 ns |  1.00 |    0.00 | 0.0200 |     - |     - |       128 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             ||      Decrypt_Cbc_ExactBufferSize | Job-JCRJRQ |         branch |      113 |    PKCS7 |       Internal.Cryptography.AesImplementation |         586.1 ns |         6.34 ns |         5.93 ns |         586.9 ns |  0.98 |    0.03 | 0.0200 |     - |     - |       128 B ||      Decrypt_Cbc_ExactBufferSize | Job-ZDOVDV | main @ febaf76 |      113 |    PKCS7 |       Internal.Cryptography.AesImplementation |         597.5 ns |        11.53 ns |        15.39 ns |         593.1 ns |  1.00 |    0.00 | 0.0200 |     - |     - |       128 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             || Decrypt_Cbc_GuaranteedBufferSize | Job-JCRJRQ |         branch |      113 |    PKCS7 | Internal.Cryptography.TripleDesImplementation |      13,729.4 ns |       273.20 ns |       408.92 ns |      13,577.3 ns |  0.98 |    0.04 | 0.0153 |     - |     - |       168 B || Decrypt_Cbc_GuaranteedBufferSize | Job-ZDOVDV | main @ febaf76 |      113 |    PKCS7 | Internal.Cryptography.TripleDesImplementation |      14,002.6 ns |       271.15 ns |       361.97 ns |      13,830.1 ns |  1.00 |    0.00 | 0.0153 |     - |     - |       168 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             ||      Decrypt_Cbc_ExactBufferSize | Job-JCRJRQ |         branch |      113 |    PKCS7 | Internal.Cryptography.TripleDesImplementation |      13,715.9 ns |       265.98 ns |       381.46 ns |      13,602.4 ns |  1.00 |    0.03 | 0.0153 |     - |     - |       168 B ||      Decrypt_Cbc_ExactBufferSize | Job-ZDOVDV | main @ febaf76 |      113 |    PKCS7 | Internal.Cryptography.TripleDesImplementation |      13,818.6 ns |       149.67 ns |       132.68 ns |      13,787.0 ns |  1.00 |    0.00 | 0.0153 |     - |     - |       168 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             || Decrypt_Cbc_GuaranteedBufferSize | Job-JCRJRQ |         branch |      113 | ANSIX923 |       Internal.Cryptography.AesImplementation |         590.5 ns |         3.26 ns |         2.72 ns |         590.5 ns |  0.98 |    0.01 | 0.0200 |     - |     - |       128 B || Decrypt_Cbc_GuaranteedBufferSize | Job-ZDOVDV | main @ febaf76 |      113 | ANSIX923 |       Internal.Cryptography.AesImplementation |         601.5 ns |         4.48 ns |         4.19 ns |         604.0 ns |  1.00 |    0.00 | 0.0200 |     - |     - |       128 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             ||      Decrypt_Cbc_ExactBufferSize | Job-JCRJRQ |         branch |      113 | ANSIX923 |       Internal.Cryptography.AesImplementation |         597.1 ns |         3.82 ns |         3.57 ns |         598.7 ns |  0.97 |    0.01 | 0.0200 |     - |     - |       128 B ||      Decrypt_Cbc_ExactBufferSize | Job-ZDOVDV | main @ febaf76 |      113 | ANSIX923 |       Internal.Cryptography.AesImplementation |         612.5 ns |         7.67 ns |         7.18 ns |         610.7 ns |  1.00 |    0.00 | 0.0200 |     - |     - |       128 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             || Decrypt_Cbc_GuaranteedBufferSize | Job-JCRJRQ |         branch |      113 | ANSIX923 | Internal.Cryptography.TripleDesImplementation |      13,524.4 ns |        43.52 ns |        40.71 ns |      13,510.1 ns |  0.98 |    0.01 | 0.0153 |     - |     - |       168 B || Decrypt_Cbc_GuaranteedBufferSize | Job-ZDOVDV | main @ febaf76 |      113 | ANSIX923 | Internal.Cryptography.TripleDesImplementation |      13,811.2 ns |       151.69 ns |       118.43 ns |      13,798.0 ns |  1.00 |    0.00 | 0.0153 |     - |     - |       168 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             ||      Decrypt_Cbc_ExactBufferSize | Job-JCRJRQ |         branch |      113 | ANSIX923 | Internal.Cryptography.TripleDesImplementation |      13,484.9 ns |        16.70 ns |        13.04 ns |      13,485.8 ns |  0.99 |    0.00 | 0.0153 |     - |     - |       168 B ||      Decrypt_Cbc_ExactBufferSize | Job-ZDOVDV | main @ febaf76 |      113 | ANSIX923 | Internal.Cryptography.TripleDesImplementation |      13,567.0 ns |        46.48 ns |        43.48 ns |      13,562.1 ns |  1.00 |    0.00 | 0.0153 |     - |     - |       168 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             || Decrypt_Cbc_GuaranteedBufferSize | Job-JCRJRQ |         branch |  5242880 |    PKCS7 |       Internal.Cryptography.AesImplementation |     470,612.9 ns |     9,193.31 ns |    12,272.81 ns |     463,023.4 ns |  0.76 |    0.02 |      - |     - |     - |       128 B || Decrypt_Cbc_GuaranteedBufferSize | Job-ZDOVDV | main @ febaf76 |  5242880 |    PKCS7 |       Internal.Cryptography.AesImplementation |     619,813.4 ns |     2,072.71 ns |     1,938.82 ns |     619,809.4 ns |  1.00 |    0.00 |      - |     - |     - |     8,321 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             ||      Decrypt_Cbc_ExactBufferSize | Job-JCRJRQ |         branch |  5242880 |    PKCS7 |       Internal.Cryptography.AesImplementation |     469,437.9 ns |       626.77 ns |       586.28 ns |     469,369.5 ns |  0.76 |    0.00 |      - |     - |     - |       128 B ||      Decrypt_Cbc_ExactBufferSize | Job-ZDOVDV | main @ febaf76 |  5242880 |    PKCS7 |       Internal.Cryptography.AesImplementation |     617,849.6 ns |     2,883.83 ns |     2,697.53 ns |     618,081.4 ns |  1.00 |    0.00 |      - |     - |     - |     8,321 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             || Decrypt_Cbc_GuaranteedBufferSize | Job-JCRJRQ |         branch |  5242880 |    PKCS7 | Internal.Cryptography.TripleDesImplementation | 151,532,076.1 ns | 1,117,835.70 ns |   933,443.44 ns | 151,044,187.5 ns |  1.00 |    0.01 |      - |     - |     - |       372 B || Decrypt_Cbc_GuaranteedBufferSize | Job-ZDOVDV | main @ febaf76 |  5242880 |    PKCS7 | Internal.Cryptography.TripleDesImplementation | 151,263,502.8 ns |    98,924.84 ns |    92,534.36 ns | 151,253,416.5 ns |  1.00 |    0.00 |      - |     - |     - | 2,097,690 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             ||      Decrypt_Cbc_ExactBufferSize | Job-JCRJRQ |         branch |  5242880 |    PKCS7 | Internal.Cryptography.TripleDesImplementation | 150,123,174.7 ns |   101,504.79 ns |    84,761.09 ns | 150,114,156.2 ns |  0.99 |    0.00 |      - |     - |     - |       672 B ||      Decrypt_Cbc_ExactBufferSize | Job-ZDOVDV | main @ febaf76 |  5242880 |    PKCS7 | Internal.Cryptography.TripleDesImplementation | 151,298,470.8 ns |   108,637.45 ns |   101,619.54 ns | 151,302,031.2 ns |  1.00 |    0.00 |      - |     - |     - | 2,097,830 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             || Decrypt_Cbc_GuaranteedBufferSize | Job-JCRJRQ |         branch |  5242880 | ANSIX923 |       Internal.Cryptography.AesImplementation |     462,274.0 ns |     1,166.00 ns |       973.66 ns |     462,367.1 ns |  0.76 |    0.00 |      - |     - |     - |       128 B || Decrypt_Cbc_GuaranteedBufferSize | Job-ZDOVDV | main @ febaf76 |  5242880 | ANSIX923 |       Internal.Cryptography.AesImplementation |     608,395.4 ns |     2,703.86 ns |     2,396.90 ns |     608,768.3 ns |  1.00 |    0.00 |      - |     - |     - |     8,321 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             ||      Decrypt_Cbc_ExactBufferSize | Job-JCRJRQ |         branch |  5242880 | ANSIX923 |       Internal.Cryptography.AesImplementation |     466,711.5 ns |     1,358.15 ns |     1,134.12 ns |     466,663.4 ns |  0.77 |    0.00 |      - |     - |     - |       128 B ||      Decrypt_Cbc_ExactBufferSize | Job-ZDOVDV | main @ febaf76 |  5242880 | ANSIX923 |       Internal.Cryptography.AesImplementation |     610,059.0 ns |     3,228.99 ns |     3,020.40 ns |     609,327.1 ns |  1.00 |    0.00 |      - |     - |     - |     8,321 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             || Decrypt_Cbc_GuaranteedBufferSize | Job-JCRJRQ |         branch |  5242880 | ANSIX923 | Internal.Cryptography.TripleDesImplementation | 150,133,022.4 ns |    97,051.13 ns |    81,042.09 ns | 150,108,729.0 ns |  1.00 |    0.00 |      - |     - |     - |       372 B || Decrypt_Cbc_GuaranteedBufferSize | Job-ZDOVDV | main @ febaf76 |  5242880 | ANSIX923 | Internal.Cryptography.TripleDesImplementation | 150,317,036.4 ns |   136,252.68 ns |   120,784.45 ns | 150,266,021.0 ns |  1.00 |    0.00 |      - |     - |     - | 2,097,830 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             ||      Decrypt_Cbc_ExactBufferSize | Job-JCRJRQ |         branch |  5242880 | ANSIX923 | Internal.Cryptography.TripleDesImplementation | 150,179,859.0 ns |   463,619.59 ns |   387,143.35 ns | 149,941,625.0 ns |  0.98 |    0.02 |      - |     - |     - |       588 B ||      Decrypt_Cbc_ExactBufferSize | Job-ZDOVDV | main @ febaf76 |  5242880 | ANSIX923 | Internal.Cryptography.TripleDesImplementation | 153,105,250.7 ns | 2,613,239.54 ns | 2,444,425.89 ns | 151,943,218.8 ns |  1.00 |    0.00 |      - |     - |     - | 2,097,690 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             || Decrypt_Cbc_GuaranteedBufferSize | Job-JCRJRQ |         branch |  5242881 |    PKCS7 |       Internal.Cryptography.AesImplementation |     464,878.3 ns |     7,224.24 ns |     6,404.10 ns |     461,438.8 ns |  0.76 |    0.01 |      - |     - |     - |       128 B || Decrypt_Cbc_GuaranteedBufferSize | Job-ZDOVDV | main @ febaf76 |  5242881 |    PKCS7 |       Internal.Cryptography.AesImplementation |     608,337.9 ns |     1,958.46 ns |     1,831.94 ns |     608,026.3 ns |  1.00 |    0.00 |      - |     - |     - |     8,321 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             ||      Decrypt_Cbc_ExactBufferSize | Job-JCRJRQ |         branch |  5242881 |    PKCS7 |       Internal.Cryptography.AesImplementation |     462,573.8 ns |     2,430.42 ns |     2,154.51 ns |     461,855.3 ns |  0.75 |    0.01 |      - |     - |     - |       128 B ||      Decrypt_Cbc_ExactBufferSize | Job-ZDOVDV | main @ febaf76 |  5242881 |    PKCS7 |       Internal.Cryptography.AesImplementation |     613,740.5 ns |     2,649.26 ns |     2,478.12 ns |     613,394.9 ns |  1.00 |    0.00 |      - |     - |     - |     8,321 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             || Decrypt_Cbc_GuaranteedBufferSize | Job-JCRJRQ |         branch |  5242881 |    PKCS7 | Internal.Cryptography.TripleDesImplementation | 149,930,852.6 ns |    72,360.56 ns |    60,424.34 ns | 149,932,229.2 ns |  0.98 |    0.01 |      - |     - |     - |       372 B || Decrypt_Cbc_GuaranteedBufferSize | Job-ZDOVDV | main @ febaf76 |  5242881 |    PKCS7 | Internal.Cryptography.TripleDesImplementation | 152,845,918.0 ns | 2,407,489.33 ns | 2,251,967.01 ns | 152,782,437.5 ns |  1.00 |    0.00 |      - |     - |     - | 2,097,690 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             ||      Decrypt_Cbc_ExactBufferSize | Job-JCRJRQ |         branch |  5242881 |    PKCS7 | Internal.Cryptography.TripleDesImplementation | 149,995,015.6 ns |   120,463.01 ns |    94,049.60 ns | 149,960,124.9 ns |  1.00 |    0.00 |      - |     - |     - |       672 B ||      Decrypt_Cbc_ExactBufferSize | Job-ZDOVDV | main @ febaf76 |  5242881 |    PKCS7 | Internal.Cryptography.TripleDesImplementation | 150,418,968.1 ns |   193,352.91 ns |   171,402.31 ns | 150,373,156.2 ns |  1.00 |    0.00 |      - |     - |     - | 2,097,690 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             || Decrypt_Cbc_GuaranteedBufferSize | Job-JCRJRQ |         branch |  5242881 | ANSIX923 |       Internal.Cryptography.AesImplementation |     462,924.7 ns |       736.76 ns |       689.17 ns |     462,943.7 ns |  0.76 |    0.00 |      - |     - |     - |       128 B || Decrypt_Cbc_GuaranteedBufferSize | Job-ZDOVDV | main @ febaf76 |  5242881 | ANSIX923 |       Internal.Cryptography.AesImplementation |     607,908.1 ns |     3,762.64 ns |     3,519.57 ns |     608,243.7 ns |  1.00 |    0.00 |      - |     - |     - |     8,321 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             ||      Decrypt_Cbc_ExactBufferSize | Job-JCRJRQ |         branch |  5242881 | ANSIX923 |       Internal.Cryptography.AesImplementation |     462,571.0 ns |       621.70 ns |       581.54 ns |     462,424.2 ns |  0.73 |    0.03 |      - |     - |     - |       128 B ||      Decrypt_Cbc_ExactBufferSize | Job-ZDOVDV | main @ febaf76 |  5242881 | ANSIX923 |       Internal.Cryptography.AesImplementation |     624,272.6 ns |    10,581.67 ns |    17,385.98 ns |     616,225.1 ns |  1.00 |    0.00 |      - |     - |     - |     8,321 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             || Decrypt_Cbc_GuaranteedBufferSize | Job-JCRJRQ |         branch |  5242881 | ANSIX923 | Internal.Cryptography.TripleDesImplementation | 150,077,247.6 ns |   193,002.76 ns |   161,166.04 ns | 149,997,708.5 ns |  1.00 |    0.00 |      - |     - |     - |       532 B || Decrypt_Cbc_GuaranteedBufferSize | Job-ZDOVDV | main @ febaf76 |  5242881 | ANSIX923 | Internal.Cryptography.TripleDesImplementation | 150,332,885.4 ns |   175,792.81 ns |   146,794.96 ns | 150,269,323.0 ns |  1.00 |    0.00 |      - |     - |     - | 2,097,858 B ||                                  |            |                |          |          |                                               |                  |                 |                 |                  |       |         |        |       |       |             ||      Decrypt_Cbc_ExactBufferSize | Job-JCRJRQ |         branch |  5242881 | ANSIX923 | Internal.Cryptography.TripleDesImplementation | 150,022,249.2 ns |   168,141.98 ns |   140,406.17 ns | 149,988,062.5 ns |  0.99 |    0.01 |      - |     - |     - |       492 B ||      Decrypt_Cbc_ExactBufferSize | Job-ZDOVDV | main @ febaf76 |  5242881 | ANSIX923 | Internal.Cryptography.TripleDesImplementation | 151,277,945.5 ns | 1,455,558.24 ns | 1,215,457.05 ns | 150,409,052.0 ns |  1.00 |    0.00 |      - |     - |     - | 2,097,830 B |

@vcsjonesvcsjones marked this pull request as ready for reviewMarch 10, 2022 16:52
@vcsjonesvcsjones merged commitb3e380e intodotnet:mainMar 11, 2022
@vcsjonesvcsjones deleted the decrypt-direct-oneshot branchMarch 11, 2022 00:17
@ghostghost locked asresolvedand limited conversation to collaboratorsApr 13, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account?Sign in.
Reviewers

@stephentoubstephentoubstephentoub left review comments

@bartonjsbartonjsbartonjs approved these changes

Assignees

@vcsjonesvcsjones

Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

3 participants
@vcsjones@bartonjs@stephentoub

[8]ページ先頭

©2009-2025 Movatter.jp