Skip to content
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from RustCrypto:master #2

Open
wants to merge 377 commits into
base: master
Choose a base branch
from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Jun 8, 2020

  1. Release new crates after 2018 edition / block-cipher v0.7 upgrade (#130)

    This commit cuts releases of the following crates:
    
    - `blowfish` v0.5.0
    - `cast5` v0.7.0
    - `des` v0.4.0
    - `idea` v0.1.0
    - `rc2` v0.4.0
    - `serpent` v0.1.0
    - `sm4` v0.1.0
    - `twofish` v0.3.0
    - `threefish` v0.3.0
    
    It also adds CHANGELOG.md details to `kuznyechik` and `magma` but does
    not release those yet as they had endianness issues we should double
    check are corrected before cutting a release.
    tarcieri authored Jun 8, 2020
    Configuration menu
    Copy the full SHA
    bc219f9 View commit details
    Browse the repository at this point in the history

Commits on Jul 3, 2020

  1. Configuration menu
    Copy the full SHA
    69920b4 View commit details
    Browse the repository at this point in the history
  2. fix clippy warning

    newpavlov committed Jul 3, 2020
    Configuration menu
    Copy the full SHA
    d9ec448 View commit details
    Browse the repository at this point in the history
  3. use OR in license fields

    newpavlov committed Jul 3, 2020
    Configuration menu
    Copy the full SHA
    b1d1d37 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    fbedb16 View commit details
    Browse the repository at this point in the history
  5. update lock file

    newpavlov committed Jul 3, 2020
    Configuration menu
    Copy the full SHA
    1f07268 View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2020

  1. Configuration menu
    Copy the full SHA
    0209540 View commit details
    Browse the repository at this point in the history
  2. release kuznyechik v0.4.1

    newpavlov committed Jul 10, 2020
    Configuration menu
    Copy the full SHA
    972d5aa View commit details
    Browse the repository at this point in the history

Commits on Jul 17, 2020

  1. Configuration menu
    Copy the full SHA
    dcf7d3d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d96978d View commit details
    Browse the repository at this point in the history
  3. disable rustfmt for macros

    newpavlov committed Jul 17, 2020
    Configuration menu
    Copy the full SHA
    e3c7675 View commit details
    Browse the repository at this point in the history

Commits on Jul 21, 2020

  1. Configuration menu
    Copy the full SHA
    6838ccf View commit details
    Browse the repository at this point in the history

Commits on Aug 6, 2020

  1. Configuration menu
    Copy the full SHA
    e29ee56 View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2020

  1. Update changelogs (#143)

    newpavlov authored Aug 7, 2020
    Configuration menu
    Copy the full SHA
    53e294c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0e512d5 View commit details
    Browse the repository at this point in the history

Commits on Aug 12, 2020

  1. Configuration menu
    Copy the full SHA
    e95c7b2 View commit details
    Browse the repository at this point in the history

Commits on Aug 14, 2020

  1. Configuration menu
    Copy the full SHA
    0388580 View commit details
    Browse the repository at this point in the history
  2. update lock file

    newpavlov committed Aug 14, 2020
    Configuration menu
    Copy the full SHA
    b799ee9 View commit details
    Browse the repository at this point in the history

Commits on Aug 16, 2020

  1. Improve des (#147)

    * Use repeat expression
    * Use ref in iterator
    * Use u64::from()
    wcampbell0x2a authored Aug 16, 2020
    Configuration menu
    Copy the full SHA
    ce28449 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    27160c1 View commit details
    Browse the repository at this point in the history

Commits on Aug 18, 2020

  1. Add Dependabot (#149)

    newpavlov authored Aug 18, 2020
    Configuration menu
    Copy the full SHA
    5e5f332 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f979a26 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b793129 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0cb2f4b View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2020

  1. Fix typo. (#155)

    "enviromental variable" -> "environment variable"
    tholop authored Aug 19, 2020
    Configuration menu
    Copy the full SHA
    902c317 View commit details
    Browse the repository at this point in the history

Commits on Aug 25, 2020

  1. Configuration menu
    Copy the full SHA
    49e663c View commit details
    Browse the repository at this point in the history

Commits on Aug 26, 2020

  1. Configuration menu
    Copy the full SHA
    93e9fb5 View commit details
    Browse the repository at this point in the history

Commits on Aug 28, 2020

  1. Use SVG logo (#160)

    newpavlov authored Aug 28, 2020
    Configuration menu
    Copy the full SHA
    eaefa64 View commit details
    Browse the repository at this point in the history

Commits on Oct 6, 2020

  1. Configuration menu
    Copy the full SHA
    4fed664 View commit details
    Browse the repository at this point in the history

Commits on Oct 10, 2020

  1. Update lib.rs (#164)

    TheRadioGuy authored Oct 10, 2020
    Configuration menu
    Copy the full SHA
    75c2c21 View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2020

  1. Configuration menu
    Copy the full SHA
    99b219a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    22339bc View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2020

  1. Replace block-cipher/stream-cipher with cipher crate (#167)

    This commit replaces all previous usages of the `block-cipher` and
    `stream-cipher` crates with the new unified `cipher` crate.
    tarcieri authored Oct 16, 2020
    Configuration menu
    Copy the full SHA
    1fdb35a View commit details
    Browse the repository at this point in the history
  2. Release new versions (#168)

    Releases new versions of all crates in this repository which incorporate
    the migration to the new `cipher` crate (#167).
    tarcieri authored Oct 16, 2020
    Configuration menu
    Copy the full SHA
    cb77062 View commit details
    Browse the repository at this point in the history
  3. aesni: update CHANGELOG.md (#169)

    Information about #165 was accidentally omitted
    tarcieri authored Oct 16, 2020
    Configuration menu
    Copy the full SHA
    57721c2 View commit details
    Browse the repository at this point in the history
  4. aesni/gost-modes: rustdoc fixups (#170)

    Fixes links to obsolete crates (`block-cipher-traits`, `stream-cipher`)
    tarcieri authored Oct 16, 2020
    Configuration menu
    Copy the full SHA
    88902c7 View commit details
    Browse the repository at this point in the history

Commits on Oct 25, 2020

  1. Configuration menu
    Copy the full SHA
    ec0a0f6 View commit details
    Browse the repository at this point in the history
  2. aes-soft: fixslicing (#174)

    Translation ofithe portable C implementation of the "fixslicing"
    technique described in:
    
    https://eprint.iacr.org/2020/1123.pdf
    
    Original C code:
    
    https://github.com/aadomn/aes/tree/10a9dc9/opt32/fixslicing
    
    Relicensed as Apache 2.0 + MIT with permission.
    tarcieri authored Oct 25, 2020
    Configuration menu
    Copy the full SHA
    ad0cb54 View commit details
    Browse the repository at this point in the history

Commits on Oct 26, 2020

  1. Configuration menu
    Copy the full SHA
    cd1837a View commit details
    Browse the repository at this point in the history
  2. aes-soft: use fixslicing for AES encryption (#176)

    Fixslicing is presently defined for encryption only.
    
    However, accelerating just encryption is still useful for AES-CTR.
    
    Performance is improved by ~3X as measured on an Intel Core i9
    (despite the fixslicing implementation being 32-bit only)
    tarcieri authored Oct 26, 2020
    Configuration menu
    Copy the full SHA
    83dcffd View commit details
    Browse the repository at this point in the history
  3. Perf. opt. for 8-block (un)bitslice (#171)

    Also adds algorithmic explanations
    peterdettman authored Oct 26, 2020
    Configuration menu
    Copy the full SHA
    dce1613 View commit details
    Browse the repository at this point in the history
  4. aes-soft v0.6.1 (#178)

    tarcieri authored Oct 26, 2020
    Configuration menu
    Copy the full SHA
    779f118 View commit details
    Browse the repository at this point in the history

Commits on Oct 27, 2020

  1. Improvements for 32-bit fixslice AES (#179)

    - change bitslice format to match existing implementations
    - use more descriptive method names for clarity
    - factor more of the format-dependent code into methods
    peterdettman authored Oct 27, 2020
    Configuration menu
    Copy the full SHA
    8d25089 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    316fcd6 View commit details
    Browse the repository at this point in the history
  3. aes-soft: CI for 32-bit Linux (#182)

    Adds CI for the `i686-unknown-linux-gnu` platform
    tarcieri authored Oct 27, 2020
    Configuration menu
    Copy the full SHA
    da82f70 View commit details
    Browse the repository at this point in the history
  4. aes-soft: CI using cross for PPC32/ARM64. (#183)

    - PPC32 is useful to test endianness handling
    - ARM64 is good to test because it's an important platform
    tarcieri authored Oct 27, 2020
    Configuration menu
    Copy the full SHA
    c6436a3 View commit details
    Browse the repository at this point in the history

Commits on Oct 28, 2020

  1. Improved AES fixslice MixColumns algorithm(s) (#184)

    * Improved fixslice MixColumns algorithm(s)
    * Fold rotations and rename for clarity
    peterdettman authored Oct 28, 2020
    Configuration menu
    Copy the full SHA
    3a6d278 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    39dfc62 View commit details
    Browse the repository at this point in the history
  3. aes-soft: fix comment (#187)

    The fixsliced implementations now support encryption and decryption.
    tarcieri authored Oct 28, 2020
    Configuration menu
    Copy the full SHA
    336bc11 View commit details
    Browse the repository at this point in the history
  4. aes-soft v0.6.2 (#188)

    tarcieri authored Oct 28, 2020
    Configuration menu
    Copy the full SHA
    82b0a71 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    1dbede2 View commit details
    Browse the repository at this point in the history
  6. aes-soft: forbid unsafe (#190)

    We don't have to retain this in perpetuity, but now that the
    implementation is fully safe code, adding this attribute gets a
    🔒 in cargo-geiger.
    tarcieri authored Oct 28, 2020
    Configuration menu
    Copy the full SHA
    7c48d6e View commit details
    Browse the repository at this point in the history

Commits on Oct 29, 2020

  1. Comprehensive refactoring of fixslice code (#192)

    - Rename methods for consistency with AES specification
    - De-unroll several loops
    - Macro-ize the (inv_)mix_columns definitions
    peterdettman authored Oct 29, 2020
    Configuration menu
    Copy the full SHA
    0182c7a View commit details
    Browse the repository at this point in the history

Commits on Nov 1, 2020

  1. aes-soft v0.6.3 (#193)

    tarcieri authored Nov 1, 2020
    Configuration menu
    Copy the full SHA
    7b6647c View commit details
    Browse the repository at this point in the history
  2. Bump cipher crate to v0.2.5 (#194)

    This PR also addresses the deprecation warnings which were introduced
    tarcieri authored Nov 1, 2020
    Configuration menu
    Copy the full SHA
    b638145 View commit details
    Browse the repository at this point in the history

Commits on Nov 2, 2020

  1. Implement alternative semi-fixslice (#195)

    - under cfg feature 'semi_fixslice'
    - reduces code size at small cost to performance
    peterdettman authored Nov 2, 2020
    Configuration menu
    Copy the full SHA
    775ccbc View commit details
    Browse the repository at this point in the history

Commits on Nov 12, 2020

  1. Configuration menu
    Copy the full SHA
    bf1af3a View commit details
    Browse the repository at this point in the history
  2. Rework of xor_columns (#197)

    - also tweak the lib.rs cfg for fixslice
    peterdettman authored Nov 12, 2020
    Configuration menu
    Copy the full SHA
    989af1e View commit details
    Browse the repository at this point in the history

Commits on Nov 16, 2020

  1. aes-soft v0.6.4 (#199)

    tarcieri authored Nov 16, 2020
    Configuration menu
    Copy the full SHA
    e1e2f0f View commit details
    Browse the repository at this point in the history

Commits on Nov 18, 2020

  1. Unify the aes, aesni, and aes-soft crates (#200)

    Combines all three crates into a single `aes` crate.
    
    The optional `ctr` feature exposes a consistent set of `Aes*Ctr` types as well.
    tarcieri authored Nov 18, 2020
    Configuration menu
    Copy the full SHA
    cd5a34f View commit details
    Browse the repository at this point in the history
  2. aes: bump version to v0.7.0-pre; update README.md table (#201)

    Bumps the `aes` crate version to indicate we'll be making breaking
    changes before the next release (i.e. `cipher` crate upgrade).
    
    Also removes the `aesni` and `aes-soft` crates from the README.md table
    now that they've been unified into the `aes` crate (#200)
    tarcieri authored Nov 18, 2020
    Configuration menu
    Copy the full SHA
    67bf555 View commit details
    Browse the repository at this point in the history

Commits on Nov 25, 2020

  1. aes: use cfg-if crate (#203)

    Simplifies cfg-based gating
    tarcieri authored Nov 25, 2020
    Configuration menu
    Copy the full SHA
    ed88fb0 View commit details
    Browse the repository at this point in the history
  2. Bump cipher crate to v0.3.0-pre (#202)

    Splits the `BlockCipher` impl into the `BlockEncrypt` and `BlockDecrypt`
    traits added in RustCrypto/traits#352.
    tarcieri authored Nov 25, 2020
    Configuration menu
    Copy the full SHA
    882f1f1 View commit details
    Browse the repository at this point in the history

Commits on Nov 26, 2020

  1. aes: rename semi_fixslice feature to compact (#204)

    The "semi_fixslice" name is jargon and doesn't describe what the feature
    does, which is reduce code size.
    
    This commit renames it to describe what the feature does: make code
    "compact".
    tarcieri authored Nov 26, 2020
    Configuration menu
    Copy the full SHA
    324714f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    618c1a5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3443da7 View commit details
    Browse the repository at this point in the history
  4. Fix clippy (#207)

    We previously didn't have `override: true` set in the GitHub Actions
    config so CI was running against the wrong version of Rust.
    tarcieri authored Nov 26, 2020
    Configuration menu
    Copy the full SHA
    c5016a7 View commit details
    Browse the repository at this point in the history
  5. aes: CI config cleanups (#209)

    AES-NI support was not being properly tested on both 32-bit and 64-bit
    targets.
    
    Also adds better testing for various feature combinations.
    tarcieri authored Nov 26, 2020
    Configuration menu
    Copy the full SHA
    68c1756 View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2020

  1. Configuration menu
    Copy the full SHA
    a66fd23 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    319a426 View commit details
    Browse the repository at this point in the history

Commits on Dec 2, 2020

  1. aes: autodetection support for AES-NI (#208)

    On i686/x86_64 platforms, uses the `cpuid-bool` crate to detect at
    runtime whether AES-NI is available.
    
    This eliminates the need to specify `target_feature=+aes` when compiling
    the crate in order to take advantage of AES-NI.
    tarcieri authored Dec 2, 2020
    Configuration menu
    Copy the full SHA
    61cd5de View commit details
    Browse the repository at this point in the history
  2. aes: detect AES-NI + SSSE3 for AES-CTR (#214)

    The accelerated AES-CTR implementation in this crate makes use of SSSE3
    instructions.
    
    Though in theory all CPUs with AES-NI should have SSSE3, the `aes`
    target feature does not implicitly enable SSSE3 per the Rust Reference:
    
    https://doc.rust-lang.org/reference/attributes/codegen.html#x86-or-x86_64
    
    ...so this separate check ensures the availability of SSSE3.
    tarcieri authored Dec 2, 2020
    Configuration menu
    Copy the full SHA
    6cb05bf View commit details
    Browse the repository at this point in the history
  3. aes: remove Copy from public types of "soft" impls (#215)

    When using the `autodetect` module, we store the possible backing AES
    implementations in a `union`, which presently requires all fields be
    `Copy` until `ManuallyDrop` stabilizes in Rust 1.49.
    
    However, the "soft" types are directly exposed on non-x86 architectures
    or when the `force-soft` feature is enabled. Having these types be
    `Copy` when the autodetect wrappers aren't is inconsistent, and it's
    better to require an explicit clone for these to make users think when
    they make copies of material.
    
    As a workaround until `ManuallyDrop` lands, this gates the `Copy` impl
    on the "soft" types to only cases where it is hidden behind the
    autodetect facade (i.e. when they presently *need* to be `Copy`).
    tarcieri authored Dec 2, 2020
    Configuration menu
    Copy the full SHA
    c2bdea1 View commit details
    Browse the repository at this point in the history

Commits on Dec 6, 2020

  1. Minor README update

    newpavlov authored Dec 6, 2020
    Configuration menu
    Copy the full SHA
    c97c973 View commit details
    Browse the repository at this point in the history

Commits on Dec 30, 2020

  1. Bump cipher crate to v0.3.0-pre.3 (#217)

    Implements the API changes introduced in:
    
    RustCrypto/traits#435
    tarcieri authored Dec 30, 2020
    Configuration menu
    Copy the full SHA
    dc25438 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3215a92 View commit details
    Browse the repository at this point in the history

Commits on Dec 31, 2020

  1. aes: make autodetect unions non-Copy; MSRV 1.49+ (#216)

    Uses the new `core::mem::ManuallyDrop` feature to allow the inner types
    of unions to be non-Copy.
    tarcieri authored Dec 31, 2020
    Configuration menu
    Copy the full SHA
    aa98107 View commit details
    Browse the repository at this point in the history
  2. block-modes: bump MSRV to 1.49+ (#219)

    The tests are failing because the `aes` crate now uses `ManuallyDrop`
    unions which are MSRV 1.49 (see #216)
    tarcieri authored Dec 31, 2020
    Configuration menu
    Copy the full SHA
    1a0e3bb View commit details
    Browse the repository at this point in the history
  3. block-modes: MSRV 1.41 (#220)

    As @newpavlov pointed out, the actual MSRV of this crate didn't change.
    
    If we run tests with the `aes` crate's `force-soft` feature enabled, we
    can still CI with Rust 1.41.
    tarcieri authored Dec 31, 2020
    Configuration menu
    Copy the full SHA
    e017ef1 View commit details
    Browse the repository at this point in the history
  4. aes: support MSRV 1.41 under force-soft (#221)

    Rust 1.49 features are only needed for CPU feature autodetection.
    
    We can still support MSRV 1.41 when the `force-soft` feature is enabled.
    
    This commit adds CI configuration to test `force-soft` under Rust 1.41,
    and makes a note of Rust 1.41 support when `force-soft` is enabled.
    tarcieri authored Dec 31, 2020
    Configuration menu
    Copy the full SHA
    7236bce View commit details
    Browse the repository at this point in the history

Commits on Jan 11, 2021

  1. build(deps): bump byteorder from 1.3.4 to 1.4.2 (#222)

    Bumps [byteorder](https://github.com/BurntSushi/byteorder) from 1.3.4 to 1.4.2.
    - [Release notes](https://github.com/BurntSushi/byteorder/releases)
    - [Changelog](https://github.com/BurntSushi/byteorder/blob/master/CHANGELOG.md)
    - [Commits](BurntSushi/byteorder@1.3.4...1.4.2)
    
    Signed-off-by: dependabot[bot] <[email protected]>
    
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Jan 11, 2021
    Configuration menu
    Copy the full SHA
    cd8d1d5 View commit details
    Browse the repository at this point in the history

Commits on Jan 13, 2021

  1. Add deps.rs badge

    newpavlov authored Jan 13, 2021
    Configuration menu
    Copy the full SHA
    0e52249 View commit details
    Browse the repository at this point in the history

Commits on Feb 6, 2021

  1. aes: replace AES-NI macros with inline(always) functions (#224)

    The previous usage of macros made refactoring extremely difficult, with
    small changes resulting in hundreds upon hundreds of errors when the
    macros are expanded, as opposed to a single error in a particular
    function.
    
    This commit replaces the AES-NI `util.rs` macros with
    `#[inline(always)]` functions.
    
    There is no change to the generated assembly.
    tarcieri authored Feb 6, 2021
    Configuration menu
    Copy the full SHA
    b12b5ea View commit details
    Browse the repository at this point in the history

Commits on Feb 7, 2021

  1. aes: refactor NI backend (#225)

    - Uses array operations on the block buffer
    - Uses loops where they don't appear to impact performance
    tarcieri authored Feb 7, 2021
    Configuration menu
    Copy the full SHA
    c8fa3a4 View commit details
    Browse the repository at this point in the history

Commits on Feb 12, 2021

  1. Rename deps to deps-link

    newpavlov authored Feb 12, 2021
    Configuration menu
    Copy the full SHA
    7bf9d47 View commit details
    Browse the repository at this point in the history

Commits on Feb 22, 2021

  1. Add block-modes::IvState trait (#227)

    * block-modes: Add IvState trait for block modes
    
    The new IvState trait allows to expose a value that can be used as an IV
    for initializing a subsequent BlockMode and resuming the operation
    later. These values must be used exclusively to resume cipher
    operations. They MUST NOT be exposed to parties controlling future blocks.
    
    - Add tests that check correctness of interrupted encryptions (i.e.,
    encrypting `k` blocks, initialize a new cipher with the IV returned by
    iv_state, and encrypting the remaining blocks).
    - Add missing OFB test.
    
    See #226.
    
    Fix format
    
    rebase me
    
    * Use generic_array::sequence::Concat for IGE
    
    Define IgeIvBockSize as a sum instead of a product, in order to
    concatenate the generic arrays.
    
    * Fix CFB, add CFB test case
    
    Test case generated with OpenSSL
    
    * Remove CFB block decrypt
    
    - CFB decryption needs block encryptions only.
    - Add roundtrip tests
    - Add longer CFB test (30 blocks)
    
    * Add CFB decryption iterator length for clarity
    
    Co-authored-by: zugzwang <[email protected]>
    zugzwang and zugzwang authored Feb 22, 2021
    Configuration menu
    Copy the full SHA
    5389542 View commit details
    Browse the repository at this point in the history

Commits on Mar 31, 2021

  1. rustfmt (#232)

    tarcieri authored Mar 31, 2021
    Configuration menu
    Copy the full SHA
    289a400 View commit details
    Browse the repository at this point in the history
  2. build(deps): bump byteorder from 1.4.2 to 1.4.3 (#230)

    Bumps [byteorder](https://github.com/BurntSushi/byteorder) from 1.4.2 to 1.4.3.
    - [Release notes](https://github.com/BurntSushi/byteorder/releases)
    - [Changelog](https://github.com/BurntSushi/byteorder/blob/master/CHANGELOG.md)
    - [Commits](BurntSushi/byteorder@1.4.2...1.4.3)
    
    Signed-off-by: dependabot[bot] <[email protected]>
    
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Mar 31, 2021
    Configuration menu
    Copy the full SHA
    c14480b View commit details
    Browse the repository at this point in the history

Commits on Apr 5, 2021

  1. sm4: fix repo link (#231)

    andelf authored Apr 5, 2021
    Configuration menu
    Copy the full SHA
    b06c9c1 View commit details
    Browse the repository at this point in the history

Commits on Apr 15, 2021

  1. Configuration menu
    Copy the full SHA
    51aa354 View commit details
    Browse the repository at this point in the history

Commits on Apr 28, 2021

  1. Configuration menu
    Copy the full SHA
    db37632 View commit details
    Browse the repository at this point in the history

Commits on Apr 29, 2021

  1. aes: use cpufeatures v0.1 crate release (#236)

    Renamed from `cpuid-bool`
    tarcieri authored Apr 29, 2021
    Configuration menu
    Copy the full SHA
    d5c86d4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    957db90 View commit details
    Browse the repository at this point in the history
  3. aes v0.7.0 (#238)

    tarcieri authored Apr 29, 2021
    Configuration menu
    Copy the full SHA
    49ef980 View commit details
    Browse the repository at this point in the history
  4. Release cipher v0.3-based versions (#239)

    Releases new versions of all crates in this repository which incorporate
    the `cipher` v0.3 release changes (RustCrypto/traits#621)
    tarcieri authored Apr 29, 2021
    Configuration menu
    Copy the full SHA
    5319f4a View commit details
    Browse the repository at this point in the history

Commits on Apr 30, 2021

  1. Configuration menu
    Copy the full SHA
    9fceb07 View commit details
    Browse the repository at this point in the history

Commits on May 3, 2021

  1. Configuration menu
    Copy the full SHA
    21ae4cc View commit details
    Browse the repository at this point in the history

Commits on May 6, 2021

  1. Configuration menu
    Copy the full SHA
    f68ad0d View commit details
    Browse the repository at this point in the history

Commits on May 9, 2021

  1. aes: restore fixslice64.rs (#247)

    It appears that `fixslice64.rs` was accidentally overwritten with
    `fixslice32.rs` in #208.
    
    This restores the 64-bit implementation to what it was prior to that PR.
    
    Closes #246.
    tarcieri authored May 9, 2021
    Configuration menu
    Copy the full SHA
    0fd47e3 View commit details
    Browse the repository at this point in the history
  2. aes v0.7.1 (#248)

    tarcieri authored May 9, 2021
    Configuration menu
    Copy the full SHA
    c9a52f6 View commit details
    Browse the repository at this point in the history

Commits on May 12, 2021

  1. build(deps): bump cpufeatures from 0.1.0 to 0.1.1 (#244)

    Bumps [cpufeatures](https://github.com/RustCrypto/utils) from 0.1.0 to 0.1.1.
    - [Release notes](https://github.com/RustCrypto/utils/releases)
    - [Commits](RustCrypto/utils@cpufeatures-v0.1.0...cpufeatures-v0.1.1)
    
    Signed-off-by: dependabot[bot] <[email protected]>
    
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored May 12, 2021
    Configuration menu
    Copy the full SHA
    8845cf6 View commit details
    Browse the repository at this point in the history

Commits on May 13, 2021

  1. aes: remove outdated docs (#249)

    These docs are leftover from the `aesni` crate and no longer describe
    the current state of the `aes` crate, namely that it now supports CPUID
    detection with a software fallback.
    tarcieri authored May 13, 2021
    Configuration menu
    Copy the full SHA
    371d711 View commit details
    Browse the repository at this point in the history

Commits on May 14, 2021

  1. build(deps): bump cpufeatures from 0.1.1 to 0.1.3 (#251)

    Bumps [cpufeatures](https://github.com/RustCrypto/utils) from 0.1.1 to 0.1.3.
    - [Release notes](https://github.com/RustCrypto/utils/releases)
    - [Commits](RustCrypto/utils@cpufeatures-v0.1.1...cpufeatures-v0.1.3)
    
    Signed-off-by: dependabot[bot] <[email protected]>
    
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored May 14, 2021
    Configuration menu
    Copy the full SHA
    61db6b4 View commit details
    Browse the repository at this point in the history

Commits on May 17, 2021

  1. build(deps): bump cpufeatures from 0.1.3 to 0.1.4 (#253)

    Bumps [cpufeatures](https://github.com/RustCrypto/utils) from 0.1.3 to 0.1.4.
    - [Release notes](https://github.com/RustCrypto/utils/releases)
    - [Commits](RustCrypto/utils@cpufeatures-v0.1.3...cpufeatures-v0.1.4)
    
    Signed-off-by: dependabot[bot] <[email protected]>
    
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored May 17, 2021
    Configuration menu
    Copy the full SHA
    ad3e71e View commit details
    Browse the repository at this point in the history
  2. ARMv8 Cryptography Extensions support (#250)

    Adds a new nightly-only backend which uses ARMv8 Cryptography Extensions
    gated under the newly introduced `armv8` crate feature.
    
    Support is provided for AES-128, AES-192, and AES-256, with runtime CPU
    feature detection on Linux and macOS targets.
    
    These extensions are supported on both 32-bit and 64-bit ARM targets,
    however the current implementation is gated on `aarch64` (as that's
    the only architecture it's been tested on so far). However, it could be
    easily extended to 32-bit ARMv8 targets as well.
    tarcieri authored May 17, 2021
    Configuration menu
    Copy the full SHA
    8569b1c View commit details
    Browse the repository at this point in the history
  3. aes v0.7.2 (#254)

    tarcieri authored May 17, 2021
    Configuration menu
    Copy the full SHA
    2bedf1c View commit details
    Browse the repository at this point in the history
  4. aes: rustdoc improvements (#255)

    Fixes inconsistencies in the rustdoc relating ot the newly added ARMv8
    intrinsics features.
    
    Moves all docs relating to backends to separate subsections, and removes
    the superfluous/obsolete docs.
    tarcieri authored May 17, 2021
    Configuration menu
    Copy the full SHA
    17674c9 View commit details
    Browse the repository at this point in the history
  5. aes: simplify soft module structure (#256)

    Moves the impl macros to the `soft` module
    tarcieri authored May 17, 2021
    Configuration menu
    Copy the full SHA
    4112255 View commit details
    Browse the repository at this point in the history

Commits on May 18, 2021

  1. [WIP] aes: expose raw round function API (#257)

    Closes #252
    
    Exposes a `hazmat` (more like kryptonite) raw AES round function API
    intended for use in implementing things like CAESAR candidates
    (e.g. AEGIS, AEZ, Deoxys)
    
    The current implementation only wraps hardware intrinsics and panics if
    they aren't available, however the goal is to provide a soft portable
    fallback as well.
    
    Currently only exposes the "cipher" function (i.e. encryption).
    However, the goal is to support at least the "equivalent inverse cipher"
    function as well.
    tarcieri authored May 18, 2021
    Configuration menu
    Copy the full SHA
    e69df30 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b172a5b View commit details
    Browse the repository at this point in the history
  3. aes: rename hazmat module; add inv_mix_columns (#259)

    Renames the `round` module to `hazmat` to make it more general (and
    match the `hazmat` feature name).
    
    Adds an `inv_mix_columns` function to it with backends for both the
    ARMv8 Cryptography Extensions as well as AES-NI.
    tarcieri authored May 18, 2021
    Configuration menu
    Copy the full SHA
    45061f3 View commit details
    Browse the repository at this point in the history
  4. aes: add mix_columns function to hazmat module (#260)

    Like the other functions in the `hazmat` module, this is presently an
    intrinsics-only implementation.
    
    On ARMv8 we can use the dedicated `AESMC` instruction.
    
    Intel AES-NI has no explicit instruction for mix columns, but it can be
    emulated by performing `AESIMC` (inverse mix columns) three times.
    tarcieri authored May 18, 2021
    Configuration menu
    Copy the full SHA
    5e020f1 View commit details
    Browse the repository at this point in the history

Commits on May 20, 2021

  1. Configuration menu
    Copy the full SHA
    1529645 View commit details
    Browse the repository at this point in the history

Commits on May 26, 2021

  1. aes: use Block and ParBlocks type aliases in rustdoc (#264)

    These are a bit easier to work with versus GenericArray, and ideally
    also futureproof for a const generics upgrade.
    tarcieri authored May 26, 2021
    Configuration menu
    Copy the full SHA
    9fa8691 View commit details
    Browse the repository at this point in the history
  2. aes: add BLOCK_SIZE constant (#263)

    I've found myself wanting this in downstream crates which consume this
    one. I think it could be also used in a number of places in the
    implementation of this crate in order to make it clearer.
    
    It's also similar to the existing constant in the `polyval` crate:
    
    https://docs.rs/polyval/0.5.0/polyval/constant.BLOCK_SIZE.html
    tarcieri authored May 26, 2021
    Configuration menu
    Copy the full SHA
    6bdb1be View commit details
    Browse the repository at this point in the history
  3. Fix example in toplevel README.md (#265)

    Closes #262
    tarcieri authored May 26, 2021
    Configuration menu
    Copy the full SHA
    31fb194 View commit details
    Browse the repository at this point in the history
  4. aes v0.7.3 (#266)

    tarcieri authored May 26, 2021
    Configuration menu
    Copy the full SHA
    93761c2 View commit details
    Browse the repository at this point in the history

Commits on May 30, 2021

  1. aes: soft hazmat modules (#267)

    Adds a preliminary module structure for supporting the low-level
    `hazmat` APIs in the `soft` backend.
    tarcieri authored May 30, 2021
    Configuration menu
    Copy the full SHA
    92704fc View commit details
    Browse the repository at this point in the history

Commits on May 31, 2021

  1. aes: soft hazmat backend (#268)

    The `hazmat` API provides access to the raw AES cipher round, equivalent
    inverse cipher round, mix columns, and inverse mix column operations.
    
    This commit wires up support in the "soft" backend (or more
    specifically, both the 32-bit and 64-bit fixsliced backends).
    
    It would benefit from a parallel API instead of what's currently
    provided, however that's left for future work.
    tarcieri authored May 31, 2021
    Configuration menu
    Copy the full SHA
    758169d View commit details
    Browse the repository at this point in the history

Commits on Jun 1, 2021

  1. aes: add parallel hazmat APIs (#269)

    Adds the following parallel APIs:
    
    - `hazmat::cipher_round_par`
    - `hazmat::equiv_inv_cipher_round_par`
    
    These APIs operate over `ParBlocks` instead of `Blocks`, leveraging
    either ILP with intrinsics, or the natural parallelism that results from
    fixslicing.
    
    Not much effort has been put into optimizing, nor have benchmarks been
    performed. This implementation is just an end-to-end spike, and probably
    has some room for improvement.
    
    There's also the possibility of parallelizing `(inv_)mix_columns`,
    however I left that out for now as encryption/decryption seem like the
    important functionality to parallelize.
    tarcieri authored Jun 1, 2021
    Configuration menu
    Copy the full SHA
    ace7696 View commit details
    Browse the repository at this point in the history
  2. aes: expand CI coverage for hazmat feature (#270)

    Now that the `hazmat` feature supports the "soft" backend, this adds
    additional coverage checks to ensure it works in all of the various
    environments we support.
    tarcieri authored Jun 1, 2021
    Configuration menu
    Copy the full SHA
    830941e View commit details
    Browse the repository at this point in the history
  3. aes: add private if_intrinsics_available! macro (#271)

    Simplifies runtime CPU feature-based gating inside the `hazmat` module.
    tarcieri authored Jun 1, 2021
    Configuration menu
    Copy the full SHA
    36db47b View commit details
    Browse the repository at this point in the history
  4. aes v0.7.4 (#272)

    tarcieri authored Jun 1, 2021
    Configuration menu
    Copy the full SHA
    d5aac29 View commit details
    Browse the repository at this point in the history

Commits on Jun 22, 2021

  1. build(deps): bump cpufeatures from 0.1.4 to 0.1.5 (#273)

    Bumps [cpufeatures](https://github.com/RustCrypto/utils) from 0.1.4 to 0.1.5.
    - [Release notes](https://github.com/RustCrypto/utils/releases)
    - [Commits](RustCrypto/utils@cpufeatures-v0.1.4...cpufeatures-v0.1.5)
    
    ---
    updated-dependencies:
    - dependency-name: cpufeatures
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Jun 22, 2021
    Configuration menu
    Copy the full SHA
    aefdee7 View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2021

  1. Configuration menu
    Copy the full SHA
    c282099 View commit details
    Browse the repository at this point in the history

Commits on Aug 26, 2021

  1. kuznyechik: add parallel block processing for SSE2 backend (#278)

    This improves encryption performance on parallel loads on my PC from 191 MB/s to 244 MB/s and for decryption from 148 MB/s to 190 MB/s.
    
    Also moves SSE2 tables into separate binary files, which significantly reduces crate size.
    newpavlov authored Aug 26, 2021
    Configuration menu
    Copy the full SHA
    6ecae53 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0353e66 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ccbc2f8 View commit details
    Browse the repository at this point in the history
  4. aes: bump cpufeatures dependency to v0.2 (#281)

    This release incorporates the removal of the `crypto` target feature
    from nightly rustc.
    tarcieri authored Aug 26, 2021
    Configuration menu
    Copy the full SHA
    5ab2c80 View commit details
    Browse the repository at this point in the history
  5. aes v0.7.5 (#282)

    tarcieri authored Aug 26, 2021
    Configuration menu
    Copy the full SHA
    e2383fe View commit details
    Browse the repository at this point in the history

Commits on Aug 27, 2021

  1. Configuration menu
    Copy the full SHA
    2d85d97 View commit details
    Browse the repository at this point in the history

Commits on Sep 15, 2021

  1. twofish: Derive Clone for Twofish. (#287)

    This aligns Twofish with AES.  Among other things, it allows its use
    with EAX with requires Clone.
    
    Co-authored-by: Justus Winter <[email protected]>
    teythoon and Justus Winter authored Sep 15, 2021
    Configuration menu
    Copy the full SHA
    859ca00 View commit details
    Browse the repository at this point in the history

Commits on Oct 19, 2021

  1. aes: Add some SAFETY comments to the aes::ni module (#288)

    Suggested during review of `aes-gcm` for inclusion in Fuchsia OS:
    https://fuchsia-review.googlesource.com/c/fuchsia/+/585023
    str4d authored Oct 19, 2021
    Configuration menu
    Copy the full SHA
    e9e4511 View commit details
    Browse the repository at this point in the history

Commits on Dec 4, 2021

  1. README.md: mention aes is audited

    Closes #292
    tarcieri authored Dec 4, 2021
    Configuration menu
    Copy the full SHA
    f253d53 View commit details
    Browse the repository at this point in the history

Commits on Feb 4, 2022

  1. Configuration menu
    Copy the full SHA
    81e0de5 View commit details
    Browse the repository at this point in the history

Commits on Feb 10, 2022

  1. Configuration menu
    Copy the full SHA
    736671f View commit details
    Browse the repository at this point in the history

Commits on Feb 17, 2022

  1. Configuration menu
    Copy the full SHA
    7de364e View commit details
    Browse the repository at this point in the history

Commits on Feb 18, 2022

  1. Configuration menu
    Copy the full SHA
    d7d1876 View commit details
    Browse the repository at this point in the history

Commits on Feb 21, 2022

  1. Cache cargo index (#307)

    newpavlov authored Feb 21, 2022
    Configuration menu
    Copy the full SHA
    3a89da1 View commit details
    Browse the repository at this point in the history

Commits on Feb 22, 2022

  1. Update Cargo.lock (#308)

    newpavlov authored Feb 22, 2022
    Configuration menu
    Copy the full SHA
    423945d View commit details
    Browse the repository at this point in the history

Commits on Mar 17, 2022

  1. Fix aes and kuznyechik CI workflows (#311)

    Looks like they were broken in #284
    tarcieri authored Mar 17, 2022
    Configuration menu
    Copy the full SHA
    7fcdd7c View commit details
    Browse the repository at this point in the history

Commits on Mar 18, 2022

  1. Configuration menu
    Copy the full SHA
    ca6a657 View commit details
    Browse the repository at this point in the history

Commits on Mar 21, 2022

  1. build(deps): bump cpufeatures from 0.2.1 to 0.2.2 (#312)

    Bumps [cpufeatures](https://github.com/RustCrypto/utils) from 0.2.1 to 0.2.2.
    - [Release notes](https://github.com/RustCrypto/utils/releases)
    - [Commits](RustCrypto/utils@cpufeatures-v0.2.1...cpufeatures-v0.2.2)
    
    ---
    updated-dependencies:
    - dependency-name: cpufeatures
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Mar 21, 2022
    Configuration menu
    Copy the full SHA
    ef7a18d View commit details
    Browse the repository at this point in the history

Commits on Apr 9, 2022

  1. Configuration menu
    Copy the full SHA
    2314013 View commit details
    Browse the repository at this point in the history

Commits on May 2, 2022

  1. build(deps): bump zeroize from 1.5.4 to 1.5.5 (#318)

    Bumps [zeroize](https://github.com/RustCrypto/utils) from 1.5.4 to 1.5.5.
    - [Release notes](https://github.com/RustCrypto/utils/releases)
    - [Commits](RustCrypto/utils@zeroize-v1.5.4...zeroize-v1.5.5)
    
    ---
    updated-dependencies:
    - dependency-name: zeroize
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored May 2, 2022
    Configuration menu
    Copy the full SHA
    8596495 View commit details
    Browse the repository at this point in the history

Commits on May 25, 2022

  1. Fix missing space (#313)

    sorairolake authored May 25, 2022
    Configuration menu
    Copy the full SHA
    0027106 View commit details
    Browse the repository at this point in the history

Commits on Jun 30, 2022

  1. build(deps): bump zeroize from 1.5.5 to 1.5.6 (#319)

    Bumps [zeroize](https://github.com/RustCrypto/utils) from 1.5.5 to 1.5.6.
    - [Release notes](https://github.com/RustCrypto/utils/releases)
    - [Commits](RustCrypto/utils@zeroize-v1.5.5...zeroize-v1.5.6)
    
    ---
    updated-dependencies:
    - dependency-name: zeroize
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Jun 30, 2022
    Configuration menu
    Copy the full SHA
    77bafd9 View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2022

  1. Update Cargo.lock

    newpavlov committed Aug 19, 2022
    Configuration menu
    Copy the full SHA
    04c5d46 View commit details
    Browse the repository at this point in the history

Commits on Aug 25, 2022

  1. aes: remove use of aarch64_target_feature (#325)

    It's been stabilized: rust-lang/rust#90620
    
    Because of that, it's breaking the build on recent nightlies:
    
    https://github.com/RustCrypto/block-ciphers/runs/7968517726?check_suite_focus=true#step:7:103
    
    > error: the feature `aarch64_target_feature` has been stable since
    > 1.61.0 and no longer requires an attribute to enable    aes: remove use of `aarch64_target_feature`
    
    It's been stabilized: rust-lang/rust#90620
    
    Because of that, it's breaking the build on recent nightlies:
    
    https://github.com/RustCrypto/block-ciphers/runs/7968517726?check_suite_focus=true#step:7:103
    
    > error: the feature `aarch64_target_feature` has been stable since
    > 1.61.0 and no longer requires an attribute to enable
    tarcieri authored Aug 25, 2022
    Configuration menu
    Copy the full SHA
    a81c990 View commit details
    Browse the repository at this point in the history
  2. build(deps): bump cpufeatures from 0.2.3 to 0.2.4 (#324)

    Bumps [cpufeatures](https://github.com/RustCrypto/utils) from 0.2.3 to 0.2.4.
    - [Release notes](https://github.com/RustCrypto/utils/releases)
    - [Commits](RustCrypto/utils@cpufeatures-v0.2.3...cpufeatures-v0.2.4)
    
    ---
    updated-dependencies:
    - dependency-name: cpufeatures
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Aug 25, 2022
    Configuration menu
    Copy the full SHA
    da21dd8 View commit details
    Browse the repository at this point in the history

Commits on Sep 5, 2022

  1. Configuration menu
    Copy the full SHA
    3d20d9a View commit details
    Browse the repository at this point in the history

Commits on Sep 15, 2022

  1. Configuration menu
    Copy the full SHA
    4f5c172 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    df7da0b View commit details
    Browse the repository at this point in the history

Commits on Sep 16, 2022

  1. Configuration menu
    Copy the full SHA
    c154bb6 View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2022

  1. Configuration menu
    Copy the full SHA
    bdf7f5b View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2022

  1. Configuration menu
    Copy the full SHA
    6365df9 View commit details
    Browse the repository at this point in the history
  2. Fix a few typos (#334)

    striezel authored Sep 23, 2022
    Configuration menu
    Copy the full SHA
    6c23248 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b938ba5 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0dd9899 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7d81092 View commit details
    Browse the repository at this point in the history
  6. Update readme table (#338)

    newpavlov authored Sep 23, 2022
    Configuration menu
    Copy the full SHA
    60ccda8 View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2022

  1. Configuration menu
    Copy the full SHA
    5eb3b7b View commit details
    Browse the repository at this point in the history

Commits on Oct 27, 2022

  1. aria: initial implementaion of the ARIA cipher (RFC 5794) (#340)

    Signed-off-by: Dmitry Baryshkov <[email protected]>
    lumag authored Oct 27, 2022
    Configuration menu
    Copy the full SHA
    9119944 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    83cc27c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9ece61a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e3589c2 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    c089916 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    48242cc View commit details
    Browse the repository at this point in the history

Commits on Oct 29, 2022

  1. Configuration menu
    Copy the full SHA
    4334b85 View commit details
    Browse the repository at this point in the history

Commits on Feb 10, 2023

  1. rc5: initial crate (#346)

    Antonio Dropulic authored Feb 10, 2023
    Configuration menu
    Copy the full SHA
    cbcebe1 View commit details
    Browse the repository at this point in the history
  2. rc5: post-merge cleanups (#349)

    - Add `rc5` to README.md table
    - Bump version down to 0.0.0
    - Remove unreleased entry from CHANGELOG.md
    - Alphebetize Cargo.toml workspace members
    tarcieri authored Feb 10, 2023
    Configuration menu
    Copy the full SHA
    e8413d9 View commit details
    Browse the repository at this point in the history
  3. rc5 v0.0.1 (#350)

    tarcieri authored Feb 10, 2023
    Configuration menu
    Copy the full SHA
    211e6cb View commit details
    Browse the repository at this point in the history
  4. speck: initial crate (#297)

    jvdsn authored Feb 10, 2023
    Configuration menu
    Copy the full SHA
    8b1499c View commit details
    Browse the repository at this point in the history

Commits on Feb 20, 2023

  1. aes docs update (#352)

    Added a note about instruction-level parallelism to Examples.
    Added a space to "-Ctarget-feature=+aes,+ssse3" since having
    a space after "-C" seems to be the more common form.
    KaneGreen authored Feb 20, 2023
    Configuration menu
    Copy the full SHA
    66b418c View commit details
    Browse the repository at this point in the history

Commits on Mar 6, 2023

  1. Configuration menu
    Copy the full SHA
    44cca35 View commit details
    Browse the repository at this point in the history

Commits on Mar 9, 2023

  1. Update Cargo.lock

    newpavlov committed Mar 9, 2023
    Configuration menu
    Copy the full SHA
    fee20eb View commit details
    Browse the repository at this point in the history

Commits on Mar 11, 2023

  1. Replace unmaintained actions-rs/toolchain action in CI workflows (#354)

    Basically all of the `actions-rs/*` actions are unmaintained. See
    <actions-rs/toolchain#216> for more
    information. Due to their age they generate several warnings in
    CI runs.
    
    To get rid of those warnings the occurrences of `actions-rs/toolchain`
    are replaced by `dtolnay/rust-toolchain`.
    striezel authored Mar 11, 2023
    Configuration menu
    Copy the full SHA
    6c6989e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7822e53 View commit details
    Browse the repository at this point in the history

Commits on Mar 12, 2023

  1. Replace unmaintained actions-rs/cargo action in CI workflow (#356)

    Basically all of the `actions-rs/*` actions are unmaintained. See
    <actions-rs/toolchain#216> for more
    information. Due to their age they generate several warnings in
    CI runs.
    
    To get rid of those warnings the occurrences of `actions-rs/cargo`
    are replaced by direct invocations of `cargo`.
    striezel authored Mar 12, 2023
    Configuration menu
    Copy the full SHA
    971a51c View commit details
    Browse the repository at this point in the history

Commits on Mar 28, 2023

  1. build(deps): bump zeroize from 1.5.7 to 1.6.0 (#359)

    Bumps [zeroize](https://github.com/RustCrypto/utils) from 1.5.7 to 1.6.0.
    - [Release notes](https://github.com/RustCrypto/utils/releases)
    - [Commits](RustCrypto/utils@zeroize-v1.5.7...zeroize-v1.6.0)
    
    ---
    updated-dependencies:
    - dependency-name: zeroize
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Mar 28, 2023
    Configuration menu
    Copy the full SHA
    873f598 View commit details
    Browse the repository at this point in the history
  2. build(deps): bump cpufeatures from 0.2.5 to 0.2.6 (#358)

    Bumps [cpufeatures](https://github.com/RustCrypto/utils) from 0.2.5 to 0.2.6.
    - [Release notes](https://github.com/RustCrypto/utils/releases)
    - [Commits](RustCrypto/utils@cpufeatures-v0.2.5...cpufeatures-v0.2.6)
    
    ---
    updated-dependencies:
    - dependency-name: cpufeatures
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Mar 28, 2023
    Configuration menu
    Copy the full SHA
    3a20cf5 View commit details
    Browse the repository at this point in the history

Commits on Apr 15, 2023

  1. Configuration menu
    Copy the full SHA
    b875dba View commit details
    Browse the repository at this point in the history

Commits on Apr 21, 2023

  1. Update Cargo.lock

    newpavlov committed Apr 21, 2023
    Configuration menu
    Copy the full SHA
    efd9d8a View commit details
    Browse the repository at this point in the history

Commits on Jun 9, 2023

  1. Configuration menu
    Copy the full SHA
    bcb9377 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e785196 View commit details
    Browse the repository at this point in the history

Commits on Jun 16, 2023

  1. Update Cargo.lock

    newpavlov committed Jun 16, 2023
    Configuration menu
    Copy the full SHA
    e8970be View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2023

  1. aes: support aes_armv8 on Rust 1.61+ using asm! (#365)

    Adds "polyfills" for the unstable ARMv8 AES intrinsics using the `asm!`
    macro which was stabilized in Rust 1.59. However note we also need
    `target_feature` stabilizations for `aes` and `neon` which occurred in
    Rust 1.61.
    
    Based on benchmarks this has no effect on performance, although it was
    necessary to place AESE/AESMC and AESD/AESIMC into a single `asm!` block
    in order to ensure that instructions fuse properly, as they did when
    using the proper intrinsics.
    tarcieri authored Jun 17, 2023
    Configuration menu
    Copy the full SHA
    8d03900 View commit details
    Browse the repository at this point in the history
  2. aes: refactor ARMv8 expand_key (#367)

    Changes `expand_key` to an `unsafe fn` that uses `target_feature`.
    
    Removes the TODOs: due to AES-192 this function can't be easily
    refactored to use `vinterpretq_u8_u32`.
    tarcieri authored Jun 17, 2023
    Configuration menu
    Copy the full SHA
    eb309c6 View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2023

  1. aes v0.8.3 (#368)

    tarcieri authored Jun 18, 2023
    Configuration menu
    Copy the full SHA
    dd29253 View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2023

  1. Update Cargo.lock

    newpavlov committed Jul 5, 2023
    Configuration menu
    Copy the full SHA
    197b117 View commit details
    Browse the repository at this point in the history

Commits on Aug 6, 2023

  1. Configuration menu
    Copy the full SHA
    a8daf37 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    bfd2f36 View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2023

  1. Configuration menu
    Copy the full SHA
    37b15f1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9413fca View commit details
    Browse the repository at this point in the history

Commits on Sep 25, 2023

  1. Configuration menu
    Copy the full SHA
    2783505 View commit details
    Browse the repository at this point in the history

Commits on Nov 19, 2023

  1. Configuration menu
    Copy the full SHA
    fba88b7 View commit details
    Browse the repository at this point in the history

Commits on Nov 22, 2023

  1. cast6: update release date

    newpavlov committed Nov 22, 2023
    Configuration menu
    Copy the full SHA
    7fad526 View commit details
    Browse the repository at this point in the history
  2. Add cast6 workflow

    newpavlov committed Nov 22, 2023
    Configuration menu
    Copy the full SHA
    afe1f90 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f415d78 View commit details
    Browse the repository at this point in the history

Commits on Nov 26, 2023

  1. Configuration menu
    Copy the full SHA
    1967139 View commit details
    Browse the repository at this point in the history

Commits on Nov 27, 2023

  1. Configuration menu
    Copy the full SHA
    e76698e View commit details
    Browse the repository at this point in the history

Commits on Jan 6, 2024

  1. Configuration menu
    Copy the full SHA
    6b263c0 View commit details
    Browse the repository at this point in the history
  2. aes: replace inline ASM with ARMv8 intrinsics (#380)

    Note: bumps the MSRV for `aes_armv8` from 1.65 -> 1.72
    
    Rust 1.72 stabilized the ARMv8 AES intrinsics, which means we no longer
    need to use inline `asm!` "polyfills" for these functions to support
    stable Rust.
    tarcieri authored Jan 6, 2024
    Configuration menu
    Copy the full SHA
    8a5dab4 View commit details
    Browse the repository at this point in the history

Commits on Jan 7, 2024

  1. aes: enable ARMv8 backend by default; MSRV 1.72 (#395)

    Removes `cfg(aes_armv8)` and instead enables it by default. This means
    it "just works" without any additional configuration.
    
    The backend is MSRV 1.72, so for consistency's sake bumps the crate's
    MSRV to 1.72, i.e. the MSRV where it will work consistently on all
    platforms. We've done varying MSRVs for specific features in the past,
    but that gets complicated and confusing (e.g. if we were to say the
    crate's MSRV varies by target).
    
    Benchmarks:
    
    test aes128_decrypt_block  ... bench:         839 ns/iter (+/- 32) = 19528 MB/s
    test aes128_decrypt_blocks ... bench:         858 ns/iter (+/- 58) = 19095 MB/s
    test aes128_encrypt_block  ... bench:         839 ns/iter (+/- 34) = 19528 MB/s
    test aes128_encrypt_blocks ... bench:         855 ns/iter (+/- 57) = 19162 MB/s
    test aes128_new            ... bench:          72 ns/iter (+/- 2)
    test aes192_decrypt_block  ... bench:         997 ns/iter (+/- 47) = 16433 MB/s
    test aes192_decrypt_blocks ... bench:       1,002 ns/iter (+/- 56) = 16351 MB/s
    test aes192_encrypt_block  ... bench:         990 ns/iter (+/- 31) = 16549 MB/s
    test aes192_encrypt_blocks ... bench:       1,003 ns/iter (+/- 32) = 16334 MB/s
    test aes192_new            ... bench:          68 ns/iter (+/- 2)
    test aes256_decrypt_block  ... bench:       1,163 ns/iter (+/- 34) = 14087 MB/s
    test aes256_decrypt_blocks ... bench:       1,151 ns/iter (+/- 65) = 14234 MB/s
    test aes256_encrypt_block  ... bench:       1,166 ns/iter (+/- 38) = 14051 MB/s
    test aes256_encrypt_blocks ... bench:       1,155 ns/iter (+/- 81) = 14185 MB/s
    test aes256_new            ... bench:          91 ns/iter (+/- 4)
    tarcieri authored Jan 7, 2024
    Configuration menu
    Copy the full SHA
    d2756ce View commit details
    Browse the repository at this point in the history

Commits on Jan 10, 2024

  1. Configuration menu
    Copy the full SHA
    6556a18 View commit details
    Browse the repository at this point in the history

Commits on Jan 22, 2024

  1. Use BlockCipherEncrypt/BlockCipherDecrypt trait names (#400)

    Updates the previous `BlockEncrypt`/`BlockEncrypt` trait names to use
    the new ones introduced in RustCrypto/traits#1482
    tarcieri authored Jan 22, 2024
    Configuration menu
    Copy the full SHA
    801e36b View commit details
    Browse the repository at this point in the history

Commits on Jan 24, 2024

  1. Configuration menu
    Copy the full SHA
    bf57b43 View commit details
    Browse the repository at this point in the history

Commits on Jan 27, 2024

  1. Configuration menu
    Copy the full SHA
    a4a96f7 View commit details
    Browse the repository at this point in the history

Commits on Jan 29, 2024

  1. Configuration menu
    Copy the full SHA
    1206250 View commit details
    Browse the repository at this point in the history

Commits on Feb 12, 2024

  1. Configuration menu
    Copy the full SHA
    46462cc View commit details
    Browse the repository at this point in the history

Commits on Feb 13, 2024

  1. Configuration menu
    Copy the full SHA
    3e1e83f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    71f8585 View commit details
    Browse the repository at this point in the history
  3. aes: add v0.8.4 CHANGELOG entry (#410)

    This was backported in #409.
    
    Also includes a small comment fixup.
    tarcieri authored Feb 13, 2024
    Configuration menu
    Copy the full SHA
    f3718e7 View commit details
    Browse the repository at this point in the history

Commits on Mar 5, 2024

  1. Configuration menu
    Copy the full SHA
    c577715 View commit details
    Browse the repository at this point in the history

Commits on Mar 8, 2024

  1. aes v0.9.0-pre.0 (#414)

    baloo authored Mar 8, 2024
    Configuration menu
    Copy the full SHA
    2c3de88 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d966bed View commit details
    Browse the repository at this point in the history
  3. des v0.9.0-pre.0 (#416)

    baloo authored Mar 8, 2024
    Configuration menu
    Copy the full SHA
    7102993 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    cf1e16e View commit details
    Browse the repository at this point in the history
  5. magma v0.10.0-pre.0 (#418)

    baloo authored Mar 8, 2024
    Configuration menu
    Copy the full SHA
    d6ed7a2 View commit details
    Browse the repository at this point in the history

Commits on May 17, 2024

  1. Configuration menu
    Copy the full SHA
    1ac3f05 View commit details
    Browse the repository at this point in the history
  2. speck: add initial CHANGELOG.md (#424)

    Includes the v0.0.1 release
    tarcieri authored May 17, 2024
    Configuration menu
    Copy the full SHA
    ae1892c View commit details
    Browse the repository at this point in the history

Commits on Jul 21, 2024

  1. aes256.rs: fix typo (#427)

    ctz authored Jul 21, 2024
    Configuration menu
    Copy the full SHA
    3e7c873 View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2024

  1. Configuration menu
    Copy the full SHA
    44be9a3 View commit details
    Browse the repository at this point in the history

Commits on Jul 26, 2024

  1. aes,kuznyechik,threefish: Rust 1.80 lint fixes (#429)

    - add `lints.rust.unexpected_cfgs` to Cargo.toml
    - threefish: fix typo in `cfg(feature = "cipher")`
    tarcieri authored Jul 26, 2024
    Configuration menu
    Copy the full SHA
    f701172 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    da5444c View commit details
    Browse the repository at this point in the history
  3. Cut pre.1 prereleases (#431)

    Cuts a new release of every crate which previously received a pre.0
    prerelease, i.e. is used as a (dev-)dependency in downstream projects
    that need to be upgraded.
    
    This includes the following:
    
    - `aes` v0.9.0-pre.1
    - `belt-block` v0.2.0-pre.1
    - `des` v0.9.0-pre.1
    - `kuznyechik` v0.9.0-pre.1
    - `magma` v0.10.0-pre.1
    tarcieri authored Jul 26, 2024
    Configuration menu
    Copy the full SHA
    ab802d8 View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2024

  1. Configuration menu
    Copy the full SHA
    4e6de53 View commit details
    Browse the repository at this point in the history

Commits on Jul 29, 2024

  1. Gift (#322)

    This pull request contains a constant-time software fixslicing
    implementation of the [GIFT](https://eprint.iacr.org/2017/622.pdf) block
    cipher, based on the C implementation of the original authors found
    [here](https://github.com/aadomn/gift/tree/master/crypto_bc/gift128/opt32).
    
    Gift is a PRESENT based block cipher with focus on energy efficiency and
    a small memory footprint making it ideal for usage in resource
    constrained environments. It gained some popularity as part of
    GIFT-COFB, which is a finalist in the current [NIST lightweight
    cryptography
    competition](https://csrc.nist.gov/Projects/lightweight-cryptography) as
    well as SUNDAE-GIFT.
    
    This pull request comes with an implementation of GIFT-128, meaning Gift
    operating on 128-bit blocks, though I am planning on implementing
    GIFT-64 in the future.
    
    It passes all test vectors and performs at ~44.5 cpb on an Intel Core i7
    8700k with 3.7GHz core clock, while the C version "only" performs at
    ~47.1 cpb on the same machine.
    schmid7k authored Jul 29, 2024
    Configuration menu
    Copy the full SHA
    e96cb03 View commit details
    Browse the repository at this point in the history
  2. XTEA implementation (#422)

    This PR implements XTEA as described by various sources, including
    https://en.wikipedia.org/wiki/XTEA,
    
    XTEA is a historical cipher, which is no longer commonly used today, but
    some legacy software still uses it to this day.
    
    I tested that the cipher methods get properly unrolled, which boosts a
    3x speed increase, and is one of the faster ciphers in this collection.
    (Hopefully there will be an unroll pragma sometime in the future)
    
    Partially solves #1
    
    I decided against pre-computing keys as the computation is trivial, and
    doesn't have a noticeable impact on speed, probably because of memory
    accesses and that 256 byte don't fit easily in a cache line anyway.
    valaphee authored Jul 29, 2024
    Configuration menu
    Copy the full SHA
    0be7856 View commit details
    Browse the repository at this point in the history
  3. gift+xtea: bump dependencies (#433)

    - Updates `cipher` to v0.5.0-pre.6
    - Sets both crates' versions to 0.0.0
    - Renames gift to `gift-cipher` which is presently unregistered
    tarcieri authored Jul 29, 2024
    Configuration menu
    Copy the full SHA
    12a5d64 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d1b7596 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    4ae792e View commit details
    Browse the repository at this point in the history
  6. gift: use built-in benchmarks instead of Criterion (#436)

    Criterion is a relatively big dependency which unnecessarily gets pulled
    during testing. Additionally, it results in the [security
    warnings](https://github.com/RustCrypto/block-ciphers/security/dependabot/1).
    
    In addition to the benchmark changes, this PR also slightly tweaks
    module structure of the crate.
    newpavlov authored Jul 29, 2024
    Configuration menu
    Copy the full SHA
    0043746 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    c7ca2b0 View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2024

  1. Configuration menu
    Copy the full SHA
    4f0bece View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2024

  1. Configuration menu
    Copy the full SHA
    384175d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b03777f View commit details
    Browse the repository at this point in the history
  3. xtea v0.0.1-pre.0 (#441)

    tarcieri authored Jul 31, 2024
    Configuration menu
    Copy the full SHA
    cfbb0a5 View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2024

  1. kuznyechik: implement new software backend (#443)

    The new software backend implements the same approach as in the SSE2
    backend, but uses `u128` instead of `__m128i`. The resulting performance
    is slightly worse compared to SSE2, but the code is cross-platform and
    should be much faster than the old "compact" software backend.
    newpavlov authored Aug 2, 2024
    Configuration menu
    Copy the full SHA
    5aff007 View commit details
    Browse the repository at this point in the history

Commits on Aug 6, 2024

  1. kuznyechik: fix zeroize imports (#444)

    CI did not catch this issue because the job config was broken in the
    same PR which has introduced the bad code.
    newpavlov authored Aug 6, 2024
    Configuration menu
    Copy the full SHA
    acdf90a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2bfca9e View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2024

  1. aes: rework backends (#442)

    This PR unifies code between AES-NI and ARM backends and prepares ground
    for future removal of duplicated definitions of AES types in
    `autodetect`, `soft`, `ni`, and `armv8` modules. Additionally, it allows
    to quickly change number of blocks processed in parallel by different
    intrinsics-based backends instead of hardcoding it to 8 blocks.
    newpavlov authored Aug 7, 2024
    Configuration menu
    Copy the full SHA
    daac7ea View commit details
    Browse the repository at this point in the history

Commits on Aug 9, 2024

  1. Configuration menu
    Copy the full SHA
    36b34ef View commit details
    Browse the repository at this point in the history

Commits on Aug 14, 2024

  1. Configuration menu
    Copy the full SHA
    0ce5b88 View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2024

  1. kuznyechik: use const eval to generate tables (#451)

    This PR significantly reduces size of the crate. But now clean build of
    the crate takes 7-12 seconds, which is not great, but tolerable enough.
    Hopefully, performance of const eval will be improved in future.
    
    We could improve build times by using a build script and
    `include_bytes!`, but it would result in a somewhat less clear code and
    it would mean introduction of the first algorithmic crate which uses
    build script.
    
    Additionally, this PR adds a chain encryption test for a more thorough
    testing.
    
    Closes #448
    newpavlov authored Sep 26, 2024
    Configuration menu
    Copy the full SHA
    6b7ce12 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a0ac124 View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2024

  1. Configuration menu
    Copy the full SHA
    1d2e596 View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2024

  1. CI: fix security audit (#456)

    New Ubuntu images are being deployed, which is causing the cached
    binaries not to work due to a GLIBC upgrade:
    
    https://github.blog/changelog/2024-09-25-actions-new-images-and-ubuntu-latest-changes/
    
    To ensure we're caching consistently on the new image, switches from
    using `ubuntu-latest` to `ubuntu-24.04`.
    
    We can revert this change after October 30th, when the blog post says
    the deployment is complete.
    tarcieri authored Oct 18, 2024
    Configuration menu
    Copy the full SHA
    8845d6d View commit details
    Browse the repository at this point in the history

Commits on Oct 19, 2024

  1. CI: use rustsec/audit-check@v2 (#457)

    The `actions-rs` action is unmaintained
    tarcieri authored Oct 19, 2024
    Configuration menu
    Copy the full SHA
    01b7daf View commit details
    Browse the repository at this point in the history

Commits on Oct 24, 2024

  1. Configuration menu
    Copy the full SHA
    4da9b80 View commit details
    Browse the repository at this point in the history