Saved searches

Use saved searches to filter your results more quickly

Cancel Create saved search Sign up Reseting focus

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

A simple C-library to perform an extended variant of the Needham-Schroeder-protocol

Notifications You must be signed in to change notification settings

abender/needham-schroeder

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Go to file

Folders and files

Last commit message Last commit date

Latest commit

History

View all files

Repository files navigation

Discontinued!

Please note: this project is only for archiving reasons on Github. You may use the code as you like (on your own risk), but I'm neither working on it anymore nor have time to answer questions about its usage or the Needham Schroeder protocol.

seNS - a simple extended Needham-Schroeder C-library

The library provides callback functions so the user may decide how keys will be stored/retrieved and how events will be handled. Encryption of the protocol messages is done via CCM.

The library has been tested with Debian/Linux Systems and OS X. Basic compatibility with Contiki-OS is there, but needs improvements.

Usage

Configuration

It is intended, that the user may choose lengths for all attributes of the NS-protocol (e.g. The length of identities, nonces and keys). While those for identities and nonces can be freely chosen, the lengths of the keys must be 16 Bytes, so they can be used for CCM.

The NS-client performs retransmissions to deal with lossy networks. To adjust its parameters change NS_RETRANSMIT_TIMEOUT and NS_RETRANSMIT_MAX accordingly.

See needham.h for a description of all modifiable values.

TODOs

Authors and Contact

seNS was written by Andreas Bender

License

This software is published under MIT License

Some parts of the code are taken (e.g. the CCM implementation) or based on code from tinydtls by Olaf Bergmann, published under MIT License

About

A simple C-library to perform an extended variant of the Needham-Schroeder-protocol