/braid-crypto

braid cryptography in Rust

Primary LanguageRustGNU General Public License v3.0GPL-3.0

braid-crypto

Build Status

Next things I need to do:

  • Optimize Serialization a bit
  • Add documentation
  • Add more integration testing (not just unit testing)
  • Fix the mess of lib.rs and main.rs etc.

DISCLAIMER: Do not use this library for anything you care about. I make no guarantees of its safety, security, or reliability, nor do I offer any LTS.

This is a project for my undergraduate course on Cryptography. This is very much a work in progress. There's not much in the way of a binary, but you can build with "cargo build" or run the tests I've been setting up with "cargo test". Here are several links to sources I'm using:

https://arxiv.org/pdf/0711.3941.pdf (main resource)

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.10.1759&rep=rep1&type=pdf https://core.ac.uk/download/pdf/82700058.pdf https://arxiv.org/pdf/math/9712211.pdf

(Also very important: E. A. Elrifai and H. R. Morton, Algorithms for positive braids, Quart. J. Math. Oxford, 45, No. 2 (1994))

I also took much inspiration from this package: http://hackage.haskell.org/package/combinat-0.2.8.2/docs/Math-Combinat-Groups-Braid.html#v:-61--61- Specifically, this source page for braidPermutation and other representational issues: http://hackage.haskell.org/package/combinat-0.2.8.2/docs/src/Math-Combinat-Groups-Braid.html#line-64

Citation list: arXiv:0711.3941 [cs.CR]

Dehornoy, Patrick. “Braid-Based Cryptography.” Group Theory, Statistics, and Cryptography Contemporary Mathematics, 2004, pp. 5–33., doi:10.1090/conm/360/06566.

Birman, Joan, et al. “A New Approach to the Word and Conjugacy Problems in the Braid Groups.” Advances in Mathematics, vol. 139, no. 2, 1998, pp. 322–353., doi:10.1006/aima.1998.1761.

Komuves, Balazs. “HS.” Hackage, a Haskell Package Repository. http://hackage.haskell.org/package/combinat-0.2.8.2/docs/src/Math-Combinat-Groups-Braid.html. Part of the "combinat" haskell library

E. A. Elrifai and H. R. Morton, Algorithms for positive braids, Quart. J. Math. Oxford, 45,
No. 2 (1994)