raaz: Fast and type safe cryptography.
This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.
Raaz is a cryptographic library which provides the state of the art cryptographic primitives via a high-level, type safe interface. The default interface provided to the user is through the top level module Raaz. Rather than bothering the user with low-level details like the selection of primitives or entropy sources, this top level module only talks about the desired cryptographic operation (whether it is message digest or message encryption etc). A standalone application that needs cryptography should stick to using this top level interface.
Sometimes the selection of primitives is not in our hands --- we may
need to interface with other programs written in other languages or
using other libraries. For such situation, raaz exposes a primitive
specific interface. As an example raaz
exposes the
Raaz.Digest.Sha256
module that gives the same interface as that of
Raaz.Digest but uses sha256 as the underlying cryptographic hash.
[Skip to Readme]
Properties
Versions | 0.0.1, 0.0.2, 0.1.0, 0.1.1, 0.2.0, 0.2.1, 0.2.2, 0.2.3, 0.3.0, 0.3.1, 0.3.1, 0.3.2, 0.3.3, 0.3.4, 0.3.5, 0.3.6, 0.3.7, 0.3.8, 0.3.9, 0.3.10 |
---|---|
Change log | CHANGELOG.md |
Dependencies | base (>=4.11 && <4.16), bytestring (>=0.10 && <0.12), criterion-measurement (>=0.1), deepseq (>=1.4 && <1.5), hspec, HUnit (>=1.2), optparse-applicative (>=0.13.0.0), pretty, QuickCheck (>=2.4), raaz, transformers, vector (>=0.12 && <0.13) [details] |
License | (Apache-2.0 OR BSD-3-Clause)[multiple license files] |
Copyright | (c) 2012 Piyush P Kurur |
Author | Piyush P Kurur |
Maintainer | ppk@cse.iitk.ac.in |
Category | Codec, Raaz |
Home page | https://github.com/raaz-crypto/raaz |
Bug tracker | https://github.com/raaz-crypto/raaz/issues |
Source repo | head: git clone https://github.com/raaz-crypto/raaz |
Uploaded | by PiyushKurur at 2021-10-05T20:14:44Z |
library raaz
Modules
- Raaz
- Raaz.Auth
- Raaz.Auth.Blake2b
- Raaz.Auth.Blake2s
- Raaz.AuthEncrypt
- Raaz.AuthEncrypt.Unsafe
- Raaz.AuthEncrypt.Unsafe.ChaCha20Poly1305
- Raaz.AuthEncrypt.Unsafe.XChaCha20Poly1305
- Raaz.AuthEncrypt.Unsafe
- Raaz.Core
- Raaz.Core.Encode
- Raaz.Core.Types
- Raaz.Digest
- Raaz.Digest.Blake2b
- Raaz.Digest.Blake2s
- Raaz.Digest.Sha256
- Raaz.Digest.Sha512
- Raaz.Random
- Raaz.Random.Internal
- Raaz.Auth
library raaz:bench-csprg
Modules
- Benchmark
- Benchmark.CSPRG
library raaz:bench-prim
Modules
- Benchmark
- Benchmark.Primitive
library raaz:bench-types
Modules
- Benchmark
- Benchmark.Types
library raaz:test-auth-implementation
Modules
- Auth
- Mac
- Auth.Mac.Blake2b
- Auth.Mac.Blake2s
- Auth.Poly1305
- Mac
library raaz:test-auth
Signatures
- Implementation
Modules
- Tests
- Tests.Auth
library raaz:test-digest
Signatures
- Implementation
Modules
- Tests
- Tests.Digest
library raaz:test-cipher
Modules
- Tests
- Tests.Cipher
library raaz:test-core
Modules
- Tests
- Tests.Core
- Tests.Core.Imports
- Tests.Core.Instances
- Tests.Core.Utils
- Tests.Core
library raaz:implementation
Modules
- Blake2b
- Blake2b.CHandWritten
- Blake2b.CPortable
- Blake2b.Implementation
- Blake2s
- Blake2s.CHandWritten
- Blake2s.Implementation
- ChaCha20
- ChaCha20.CHandWritten
- ChaCha20.CPortable
- ChaCha20.Implementation
- Random
- ChaCha20.Random.CPortable
- Entropy
- Poly1305
- Poly1305.CPortable
- Poly1305.Implementation
- Random
- Random.Implementation
- Sha256
- Sha256.CHandWritten
- Sha256.CPortable
- Sha256.Implementation
- Sha512
- Sha512.CHandWritten
- Sha512.CPortable
- Sha512.Implementation
library raaz:aead-api
Signatures
- Auth
- Auth.Implementation
- Cipher
- Cipher.Implementation
Modules
- Interface
library raaz:encrypt-api
Signatures
- Implementation
Modules
- Interface
library raaz:random-api
Signatures
- Entropy
- Implementation
Modules
- Internal
- PRGenerator
library raaz:auth-api
Signatures
- Implementation
Modules
- Interface
library raaz:digest-api
Signatures
- Implementation
Modules
- Interface
library raaz:xchacha-indef
Signatures
- Implementation
Modules
- XChaCha20
- XChaCha20.Implementation
library raaz:mac-indef
Signatures
- Implementation
Modules
- Mac
- Mac.Implementation
library raaz:utils
Modules
- Utils
library raaz:buffer
Modules
- Buffer
- Context
library raaz:indef
Signatures
- Implementation
library raaz:libverse
Modules
- Raaz
- Verse
- Blake2b
- C
- Raaz.Verse.Blake2b.C.Portable
- C
- ChaCha20
- C
- Raaz.Verse.ChaCha20.C.Portable
- C
- Poly1305
- C
- Raaz.Verse.Poly1305.C.Portable
- C
- Sha256
- C
- Raaz.Verse.Sha256.C.Portable
- C
- Sha512
- C
- Raaz.Verse.Sha512.C.Portable
- C
- Blake2b
- Verse
library raaz:core
Modules
- Raaz
- Raaz.Core
- Raaz.Core.CpuSupports
- Raaz.Core.Encode
- Raaz.Core.Memory
- Raaz.Core.Prelude
- Raaz.Core.Transfer
- Raaz.Core.Transfer.Unsafe
- Raaz.Core.Types
- Raaz.Core.Types.Internal
- Primitive
- AEAD
- Raaz.Primitive.AEAD.Internal
- Blake2
- Raaz.Primitive.Blake2.Internal
- ChaCha20
- Raaz.Primitive.ChaCha20.Internal
- Raaz.Primitive.HashMemory
- Keyed
- Raaz.Primitive.Keyed.Internal
- Poly1305
- Raaz.Primitive.Poly1305.Internal
- Sha2
- Raaz.Primitive.Sha2.Internal
- AEAD
- Raaz.Core
Flags
Manual Flags
Name | Description | Default |
---|---|---|
linux-getrandom | Use the getrandom for system entropy instead of devurandom. Enabled by default but disable this when building for kernel < 3.17. | Enabled |
native | Compile for native architecture. Often this enables a lot of platform specific optimisation which lead to better performance. Do not enable this when packaging though. Also tested only with gcc | Disabled |
wipe-memset | Use plain memset for wiping memory. The problem with its use is that agressive compilers often optimise it out. Raaz uses platform specific functions designed specifically to avoid this and hence enabling this flag is STRONGLY DISCOURAGED. Use it only if your platform does not support such a call. | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- raaz-0.3.1.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
Package maintainers
For package maintainers and hackage trustees