• Stars
    star
    103
  • Rank 333,046 (Top 7 %)
  • Language
    C
  • Created almost 13 years ago
  • Updated over 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

High-assurance base64

This project provides the following:

  • *.c — a fast base64 encoding routine based on libb64.
  • base64.cry — a Cryptol specification of base64.
  • proof/ — a proof that the C code is correct with respect to the Cryptol spec.

You can read about the proof here:

https://galois.com/blog/2013/09/high-assurance-base64/

Usage

To build the C code:

$ make

To run the C code:

$ echo -n 'foobar' | ./b64enc -
Zm9vYmFy

License

C code: public domain, without any warranty. Everything else: MIT license.

More Repositories

1

jotmuch

Jotmuch bookmark manager
Python
68
star
2

llvm-semantics

Formal semantics of LLVM IR in K
LLVM
43
star
3

PircBot

Java IRC bot framework
Java
25
star
4

pwclip

Hash-based password manager
Go
19
star
5

seal

Easily encrypt files, notes, and passwords
Go
18
star
6

kebab

secure backup tool (not maintained)
Go
17
star
7

haskell-semantics

Formal semantics of Haskell in K
Haskell
15
star
8

rig

random identity generator
Go
14
star
9

6.857coin

Educational cryptocurrency
Go
11
star
10

ocaml-semantics

Formal semantics of OCaml
OCaml
9
star
11

accumulator

Cryptographic accumulator
Go
9
star
12

go-crypto

Cryptographic packages for Go
Go
8
star
13

fixhub

Say Goodbye to Octicons
Python
8
star
14

PCPL

Post Correspondence Programming Language
Haskell
7
star
15

elk-docker

Deploy a secure ELK stack using Docker and LetsEncrypt
Shell
7
star
16

go-dkim

Verify DKIM signatures
Go
7
star
17

xml_of_ocaml

Translate OCaml code to XML
OCaml
6
star
18

upstream

Stream audio to an Icecast server
C
6
star
19

hpygments

Highlight source code using Pygments
Haskell
5
star
20

flycrypt

Quickly encrypt strings
Go
5
star
21

musl

Fork of musl adapted for the semantics of LLVM
C
4
star
22

supergit

Manage many git repos as one
Go
4
star
23

acme-nano

Tool for generating HTTPS certificates
Go
4
star
24

maude-hs

A Haskell interface to the Maude rewriting system
Haskell
4
star
25

BLAKE

HMAC mode for BLAKE
C
4
star
26

python-drbg

Cryptographically Secure PRNG for Python
Python
4
star
27

endurance

Bot for announcing activities (runs, hikes, ...) to Slack and Keybase
Go
4
star
28

siphash-cryptol

Cryptol specification of the SipHash function
3
star
29

keccak-cryptol

Cryptol specification of the Keccak (SHA-3) hash function
3
star
30

go-libyaml

Go bindings to LibYAML
Go
3
star
31

utm

Universal Turing Machine
Haskell
3
star
32

fresh

Introduce fresh variables into Haskell source code
Haskell
2
star
33

list-all-tabs

List tabs, find duplicates, and close them
JavaScript
2
star
34

FrinkBot

Run Frink programs over IRC
Java
2
star
35

process-extras

Extra functionality for the Process library
Haskell
2
star
36

aur

AUR packages I maintain
Shell
1
star
37

ursa

Unit analysis framework
1
star
38

simon-and-speck

Cryptol specification of the Simon and Speck block ciphers
1
star
39

ReminderBot

An IRC bot that reminds you to do things
Java
1
star
40

language-k

Types and parsers for the K semantic framework
Haskell
1
star
41

generic-k

Convert Haskell values into K terms and vice versa
Haskell
1
star