package noise
Install
    
    dune-project
 Dependency
Authors
Maintainers
Sources
sha256=7dede94fb7ecb85da10af5e9227b1183a3af011b3f780875527e39e2cd68b03b
    
    
  md5=8e879479c16dd2cc31ff35140373897f
    
    
  Description
This library contains an implementation of the Noise Protocol Framework using different cryptographic libraries.
Published: 20 Oct 2018
README
ocaml-noise
OCaml implementation of the Noise Protocol Framework.
Not ready for primetime.
More precisely, some primitives are implemented in an ad hoc manner. This passes a good amount of test vectors, but this has not been properly fuzzed and there are no countermeasures with respect to side channel attacks.
What is this NOT?
This is not an implementation of a full cryptographic protocol that you can drop into your application and have secure channels.
What is this?
This is an implementation of the Noise Protocol Framework. It consists of building bricks that can be used to create a secure cryptographic protocol.
Because of the way Noise works, it is possible to process messages in full without dealing with I/O or buffering. So, this library only deals with the handshake and encrypting/decrypting payloads.
How to use this?
Refer to the examples in test/examples/ for an example, but basically:
- pick a protocol
 - import or generate the relevant keys on each side
 - create initial states using 
Noise.State.makeandNoise.Protocol.initialize - drive the handshake using 
Noise.Protocol.read_messageandNoise.Protocol.write_message - check that the handshake is completed (see 
Noise.State.handshake_hash) - send transport messages using 
Noise.Protocol.read_messageandNoise.Protocol.write_message 
Resources
Dependencies (11)
Dev Dependencies (4)
- 
  
    ppx_deriving_yojson
  
  
    
with-test - 
  
    ounit
  
  
    
with-test - 
  
    lwt
  
  
    
with-test & < "5.0.0" - 
  
    lwt_ppx
  
  
    
with-test 
Used by
None
Conflicts (1)
- 
  
    eqaf
  
  
    
= "0.3"