Giter Site home page Giter Site logo

enavro / rlwekex Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dstebila/rlwekex

0.0 1.0 0.0 179 KB

Post-quantum key exchange from the ring learning with errors problem

Home Page: http://www.douglas.stebila.ca/research/papers/bcns14

License: The Unlicense

Makefile 1.13% C 98.87%

rlwekex's Introduction

Post-quantum key exchange from the ring learning with errors problem

This software implements the key exchange protocol based on the ring learning with errors (ring-LWE) problem from the following paper:

  • Joppe W. Bos, Craig Costello, Michael Naehrig, and Douglas Stebila. Post-quantum key exchange for the TLS protocol from the ring learning with errors problem. Cryptology ePrint Archive, Report 2014/599, August, 2014. http://eprint.iacr.org/2014/599

This software was initially distributed by the authors from https://github.com/dstebila/rlwekex

Instructions

The software is plain C (C99 standard). Compilation has been tested using gcc on Linux and clang on Mac OS X.

To compile:

make

To run the sample key generation program:

./rlwe_main

To run the benchmark program:

./rlwe_benchmark

Cryptographically secure random number generation

Note that the key generation and key exchange algorithms make use of a random number generator during execution. The sampling code is configured by default to use OpenSSL's PRNG to generate a seed and expand it using AES. Several other options are available; see rlwe.c. C's random() can be used for testing purposes by defining the macro RLWE_RANDOMNESS_USE_C_RANDOM_INSECURE, but this is not secure. Developers can also define the RANDOM_VARS, RANDOM8, RANDOM32, RANDOM64 macros with a cryptographically secure pseudorandom number generator of their own choosing.

License

This is free and unencumbered software released into the public domain.

Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.

See the file LICENSE for complete information.

rlwekex's People

Contributors

dstebila avatar sneves avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.