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

[ieee802154] CCM* implementation and new symmetric encryption HIL #684

Merged
merged 42 commits into from
Feb 8, 2018

Commits on Oct 7, 2017

  1. AES: mods as necessary for 802.15.4 work

    - hil::symmetric_encryption
      - provide distinct traits for Ctr/CBC modes so we can be sure these
        hardware features exist at compile time
      - allow distinct src/dst encryption or in-place operation
    - fix up sam4l::aes to match the new interface, and track input/output
      with the hardware properly
    - add TakeCell.map_or_else()
    - tests are in boards/imix/src/aes_test.rs, and may be run by adding
      this just before the call to `kernel::main()`:
    
        aes_test::run();
    
    NOTE: this commit removes capsules::symmetric_encryption, the userspace
    interface to AES.  Future work will have to patch that back onto the
    modified HIL, and perhaps also provide a mux for userspace+kernel users.
    daniel-scs committed Oct 7, 2017
    Configuration menu
    Copy the full SHA
    5b0fd38 View commit details
    Browse the repository at this point in the history
  2. AES: formatting

    daniel-scs committed Oct 7, 2017
    Configuration menu
    Copy the full SHA
    22fe7f1 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    85b28bc View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c183a9b View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2017

  1. Configuration menu
    Copy the full SHA
    19d7972 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6a55872 View commit details
    Browse the repository at this point in the history

Commits on Oct 29, 2017

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

Commits on Nov 7, 2017

  1. Objections to AES interface

    bbbert committed Nov 7, 2017
    Configuration menu
    Copy the full SHA
    dc70c7a View commit details
    Browse the repository at this point in the history
  2. Make AESCCM a trait

    bbbert committed Nov 7, 2017
    Configuration menu
    Copy the full SHA
    6b7bce5 View commit details
    Browse the repository at this point in the history

Commits on Nov 8, 2017

  1. AES: fix put/take methods for source/dest buffers

    These methods now have the same semantics as put/take for a TakeCell,
    except that when the hardware is busy (between a call to crypt() and the
    following invocation of crypt_done()), they have degenerate behavior:
    put has no effect, and take returns None.
    daniel-scs committed Nov 8, 2017
    Configuration menu
    Copy the full SHA
    c24cb70 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f250449 View commit details
    Browse the repository at this point in the history
  3. AES: pass bufs to crypt(), return at crypt_done()

    This changes the interface once more so that there is
    no opportunity for confusion over the state of buffer
    ownership.
    daniel-scs committed Nov 8, 2017
    Configuration menu
    Copy the full SHA
    08d63b5 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4596980 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    478f054 View commit details
    Browse the repository at this point in the history

Commits on Nov 14, 2017

  1. Configuration menu
    Copy the full SHA
    168c7bc View commit details
    Browse the repository at this point in the history
  2. Add tests for AES CCM

    bbbert committed Nov 14, 2017
    Configuration menu
    Copy the full SHA
    0602b2f View commit details
    Browse the repository at this point in the history

Commits on Jan 25, 2018

  1. AES: mods as necessary for 802.15.4 work

    - hil::symmetric_encryption
      - provide distinct traits for Ctr/CBC modes so we can be sure these
        hardware features exist at compile time
      - allow distinct src/dst encryption or in-place operation
    - fix up sam4l::aes to match the new interface, and track input/output
      with the hardware properly
    - add TakeCell.map_or_else()
    - tests are in boards/imix/src/aes_test.rs, and may be run by adding
      this just before the call to `kernel::main()`:
    
        aes_test::run();
    
    NOTE: this commit removes capsules::symmetric_encryption, the userspace
    interface to AES.  Future work will have to patch that back onto the
    modified HIL, and perhaps also provide a mux for userspace+kernel users.
    daniel-scs authored and niklasad1 committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    91515ed View commit details
    Browse the repository at this point in the history
  2. AES: formatting

    daniel-scs authored and niklasad1 committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    6f78da7 View commit details
    Browse the repository at this point in the history
  3. AES: remove userland tests for now

    daniel-scs authored and niklasad1 committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    c549ff5 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8f02461 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ff93875 View commit details
    Browse the repository at this point in the history
  6. AES: move test to capsules::test::

    daniel-scs authored and niklasad1 committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    5483abf View commit details
    Browse the repository at this point in the history
  7. It compiles. This is what the capsule would have to look like, and it…

    …'s not pretty.
    bbbert authored and niklasad1 committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    2482003 View commit details
    Browse the repository at this point in the history
  8. Objections to AES interface

    bbbert authored and niklasad1 committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    26d7c6b View commit details
    Browse the repository at this point in the history
  9. Make AESCCM a trait

    bbbert authored and niklasad1 committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    1e3f7ec View commit details
    Browse the repository at this point in the history
  10. AES: fix put/take methods for source/dest buffers

    These methods now have the same semantics as put/take for a TakeCell,
    except that when the hardware is busy (between a call to crypt() and the
    following invocation of crypt_done()), they have degenerate behavior:
    put has no effect, and take returns None.
    daniel-scs authored and niklasad1 committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    cc0d022 View commit details
    Browse the repository at this point in the history
  11. AES: pass bufs to crypt(), return at crypt_done()

    This changes the interface once more so that there is
    no opportunity for confusion over the state of buffer
    ownership.
    daniel-scs authored and niklasad1 committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    424181f View commit details
    Browse the repository at this point in the history
  12. Work with improved AES interface

    daniel-scs authored and niklasad1 committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    c805e7e View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    8db7555 View commit details
    Browse the repository at this point in the history
  14. Add tests for AES CCM

    bbbert authored and niklasad1 committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    24cd1f7 View commit details
    Browse the repository at this point in the history
  15. NRF5x port to new symmetric_encryption HIL

    * The CBC-test fails because it is not supported. I suggest to change
    the test structure and the trait bounds accordingly
    niklasad1 committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    a2807b7 View commit details
    Browse the repository at this point in the history
  16. Modified tests and other boards accordingly

    * Because the AES tests depended on trait bounds on both AES128Cbc and
    AES128Ctr => both the traits needed to implemented
    * Since NRF5x only support CTR ended up in test failed
    * That's why I splitted up them (I have not verified that tests are
    correct though)
    * The test passed on NRF5x
    niklasad1 committed Jan 25, 2018
    Configuration menu
    Copy the full SHA
    f51fdf5 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    1a7af3e View commit details
    Browse the repository at this point in the history

Commits on Jan 29, 2018

  1. Merge branch 'ccm' into ccm

    bbbert committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    9ff0ec5 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #1 from niklasad1/ccm

    Add nik's changes to ccm branch so that we can make sure everything works
    bbbert committed Jan 29, 2018
    Configuration menu
    Copy the full SHA
    616225e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    98066ac View commit details
    Browse the repository at this point in the history

Commits on Jan 30, 2018

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

    bbbert committed Jan 30, 2018
    Configuration menu
    Copy the full SHA
    4db174e View commit details
    Browse the repository at this point in the history
  3. Merge branch 'master' into ccm

    bbbert committed Jan 30, 2018
    Configuration menu
    Copy the full SHA
    37f948f View commit details
    Browse the repository at this point in the history

Commits on Feb 3, 2018

  1. Declare test functions unsafe

    bbbert committed Feb 3, 2018
    Configuration menu
    Copy the full SHA
    0122f40 View commit details
    Browse the repository at this point in the history

Commits on Feb 7, 2018

  1. Merge branch 'master' into ccm

    alevy committed Feb 7, 2018
    Configuration menu
    Copy the full SHA
    b6c0c9b View commit details
    Browse the repository at this point in the history
  2. Cleanup

    alevy committed Feb 7, 2018
    Configuration menu
    Copy the full SHA
    a664a97 View commit details
    Browse the repository at this point in the history