-
Notifications
You must be signed in to change notification settings - Fork 25
/
_oasis
144 lines (131 loc) · 4 KB
/
_oasis
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
OASISFormat: 0.3
Name: cryptokit
Version: 1.13
Authors: Xavier Leroy
License: LGPL-2 with OCaml linking exception
BuildTools: ocamlbuild, ocamldoc
Plugins: META (0.3), DevFiles (0.3), StdFiles (0.3)
Synopsis: Cryptographic primitives
Description:
This library provides a variety of cryptographic primitives that can be used
to implement cryptographic protocols in security-sensitive applications. The
primitives provided include:
.
- Symmetric-key ciphers: AES, Chacha20, Blowfish, DES, Triple-DES, ARCfour,
in ECB, CBC, CFB, OFB and counter modes.
- Public-key cryptography: RSA encryption, Diffie-Hellman key agreement.
- Hash functions and MACs: SHA-1, SHA-2, SHA-3, RIPEMD160, MD5,
and MACs based on AES and DES.
- Random number generation.
- Encodings and compression: base 64, hexadecimal, Zlib compression.
.
Additional ciphers and hashes can easily be used in conjunction with
the library. In particular, basic mechanisms such as chaining modes,
output buffering, and padding are provided by generic classes that can
easily be composed with user-provided ciphers. More generally, the library
promotes a "Lego"-like style of constructing and composing
transformations over character streams.
Flag zlib
Description: Enable ZLib
Default$: !os_type(Win32)
Flag hardwaresupport
Description: Enable hardware support for AES and GCM (needs GCC or Clang)
Default$: (architecture(amd64) || architecture(i386)) && !os_type(Win32)
Library cryptokit
Path: src
Modules: CryptokitBignum, Cryptokit
CSources: aesni.c,
aesni.h,
arcfour.c,
arcfour.h,
stubs-arcfour.c,
blowfish.c,
blowfish.h,
stubs-blowfish.c,
d3des.c,
d3des.h,
stubs-des.c,
rijndael-alg-fst.c,
rijndael-alg-fst.h,
ripemd160.c,
ripemd160.h,
stubs-ripemd160.c,
sha1.c,
sha1.h,
stubs-sha1.c,
sha256.c,
sha256.h,
stubs-sha256.c,
sha512.c,
sha512.h,
stubs-sha512.c,
stubs-aes.c,
stubs-md5.c,
stubs-misc.c,
stubs-rng.c,
stubs-zlib.c,
keccak.h,
keccak.c,
stubs-sha3.c,
chacha20.h,
chacha20.c,
stubs-chacha20.c
BuildDepends: unix, zarith
if flag(zlib)
CCOpt: -DHAVE_ZLIB
if system(win32) || system(win64)
CCLib: zlib.lib
else
CCLib: -lz
if system(win32) || system(win64)
CCLib+: advapi32.lib
else if system(mingw) || system(mingw64)
CCLib+: -ladvapi32
if flag(hardwaresupport)
CCOpt+: -maes
Executable test
Path: test
MainIs: test.ml
CompiledObject: native
BuildDepends: cryptokit
Build$: flag(tests)
Install: false
Executable prngtest
Path: test
MainIs: prngtest.ml
CompiledObject: native
BuildDepends: cryptokit
Build$: flag(tests)
Install: false
Test main
Command: $test
TestTools: test
Flag bench
Description: Build and run benchmark
Default: false
Executable speedtest
Path: test
MainIs: speedtest.ml
CompiledObject: native
BuildDepends: cryptokit
Install: false
Build$: flag(bench)
Test bench
Command: $speedtest
Run$: flag(bench)
TestTools: speedtest
Document "api-cryptokit"
Title: API reference for Cryptokit
Type: ocamlbuild (0.3)
InstallDir: $htmldir/cryptokit
BuildTools+: ocamldoc
XOCamlBuildPath: src/
XOCamlbuildLibraries: cryptokit
SourceRepository head
Type: git
Location: https://github.com/xavierleroy/cryptokit
Browser: https://github.com/xavierleroy/cryptokit
SourceRepository this
Type: git
Location: https://github.com/xavierleroy/cryptokit/releases/tag/release113
Browser: https://github.com/xavierleroy/cryptokit/releases/tag/release113