<commit_before>#+TITLE: Ironclad
#+AUTHOR: The <NAME>
#+DATE:
#+EMAIL:
#+LANGUAGE: en
#+OPTIONS: num:nil toc:nil html-style:nil html-postamble:nil html-scripts:nil
#+HTML_DOCTYPE: html5
#+HTML_HEAD: <style type="text/css">
#+HTML_HEAD: body { margin: 1em 5% 1em 5%; }
#+HTML_HEAD: p { margin-top: 0.5em; margin-bottom: 0.5em; }
#+HTML_HEAD: pre { padding: 0; margin: 0; }
#+HTML_HEAD: h1, h2 { border-bottom: 2px solid #449977; }
#+HTML_HEAD: h1, h2, h3, h4, h5, h6 { font-family: sans-serif; line-height: 1.3; }
#+HTML_HEAD: a:link { color: #449977; }
#+HTML_HEAD: a:visited { color: purple; }
#+HTML_HEAD: a { text-decoration: none; padding: 1px 2px; }
#+HTML_HEAD: a:hover { text-decoration: none; padding: 1px; border: 1px solid #000000; }
#+HTML_HEAD: pre.src-lisp { margin-right: 10%; margin-top: 1.5em; margin-bottom: 1.5em; border: 1px solid #449977; background: #eeeeee; padding: 1em; }
#+HTML_HEAD: pre.example { margin-right: 10%; margin-top: 1.5em; margin-bottom: 1.5em; border: 1px solid black; padding: 1em; }
#+HTML_HEAD: .underline { margin-top: 1.5em; margin-bottom: 1.5em; font-family: sans-serif; font-size: 1.1em; font-weight: bold; text-decoration: underline; }
#+HTML_HEAD: </style>

#+ATTR_HTML: :style width: 0; height: 0; padding: 0; margin: 0; border: 0; overflow: hidden;
[[https://travis-ci.org/glv2/ironclad][file:https://travis-ci.org/glv2/ironclad.svg]]

Ironclad is a cryptography library written entirely in Common Lisp. It
includes support for several popular [[#ciphers][ciphers]], [[#digests][digests]], [[#message-authentication-codes][MACs]] and
[[#public-key-cryptography][public key cryptography]] algorithms. For several implementations that
support Gray streams, support is included for convenient [[#gray-streams][stream wrappers]].

Most of the algorithms were written with efficiency for specific
Common Lisp implementations in mind, although portable code is
provided as an alternative in nearly all instances. The framework
should be flexible enough to accomodate implementation-specific
optimizations when possible.

Test vectors for many of the algorithms are included to provide<commit_msg>Update link to Travis CI<commit_after>#+TITLE: Ironclad
#+AUTHOR: The <NAME>
#+DATE:
#+EMAIL:
#+LANGUAGE: en
#+OPTIONS: num:nil toc:nil html-style:nil html-postamble:nil html-scripts:nil
#+HTML_DOCTYPE: html5
#+HTML_HEAD: <style type="text/css">
#+HTML_HEAD: body { margin: 1em 5% 1em 5%; }
#+HTML_HEAD: p { margin-top: 0.5em; margin-bottom: 0.5em; }
#+HTML_HEAD: pre { padding: 0; margin: 0; }
#+HTML_HEAD: h1, h2 { border-bottom: 2px solid #449977; }
#+HTML_HEAD: h1, h2, h3, h4, h5, h6 { font-family: sans-serif; line-height: 1.3; }
#+HTML_HEAD: a:link { color: #449977; }
#+HTML_HEAD: a:visited { color: purple; }
#+HTML_HEAD: a { text-decoration: none; padding: 1px 2px; }
#+HTML_HEAD: a:hover { text-decoration: none; padding: 1px; border: 1px solid #000000; }
#+HTML_HEAD: pre.src-lisp { margin-right: 10%; margin-top: 1.5em; margin-bottom: 1.5em; border: 1px solid #449977; background: #eeeeee; padding: 1em; }
#+HTML_HEAD: pre.example { margin-right: 10%; margin-top: 1.5em; margin-bottom: 1.5em; border: 1px solid black; padding: 1em; }
#+HTML_HEAD: .underline { margin-top: 1.5em; margin-bottom: 1.5em; font-family: sans-serif; font-size: 1.1em; font-weight: bold; text-decoration: underline; }
#+HTML_HEAD: </style>

#+ATTR_HTML: :style width: 0; height: 0; padding: 0; margin: 0; border: 0; overflow: hidden;
[[https://travis-ci.org/sharplispers/ironclad][file:https://travis-ci.org/sharplispers/ironclad.svg]]

Ironclad is a cryptography library written entirely in Common Lisp. It
includes support for several popular [[#ciphers][ciphers]], [[#digests][digests]], [[#message-authentication-codes][MACs]] and
[[#public-key-cryptography][public key cryptography]] algorithms. For several implementations that
support Gray streams, support is included for convenient [[#gray-streams][stream wrappers]].

Most of the algorithms were written with efficiency for specific
Common Lisp implementations in mind, although portable code is
provided as an alternative in nearly all instances. The framework
should be flexible enough to accomodate implementation-specific
optimizations when possible.

Test vectors for many of the algorithms are included to provide
{'fraction_non_alphanumeric': 0.14580914789876945, 'fraction_numerical': 0.036220106802879036, 'mean_word_length': 5.637904468412943, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5720757', 'n_tokens_mistral': 1613, 'n_tokens_neox': 1484, 'n_words': 465}