Skip to content

Commit

Permalink
Rename project to 'iocrypter' and update README details.
Browse files Browse the repository at this point in the history
The README has been updated to reflect the new name 'iocrypter' and provide a detailed description of its functionality. Licensing information and example usage instructions were also added to enhance clarity and usability.
  • Loading branch information
wneessen committed Feb 5, 2025
1 parent 8ddcc45 commit e8d4ed7
Showing 1 changed file with 22 additions and 9 deletions.
31 changes: 22 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,22 @@
# filecrypter

```
Message Format
+----------------------------------------------------------+
| scryptIterations | randSalt | randIV | cipherText | hmac |
+----------------------------------------------------------+
(32) (256) (128) (varies) (512)
```
<!--
SPDX-FileCopyrightText: Winni Neessen <wn@neessen.dev>
SPDX-License-Identifier: MIT
-->

# iocrypter

iocrypter is a Go package that implements AES-256-CTR encryption with SHA-512 HMAC authentication
as a `io.Reader` interface. It allows the en- and decryption with authentication of arbitrary data
from any given `io.Reader`.

It derives a secure key for the AES-256 encryption using Argon2ID. Encryption parameters like the
Argon2 settings, the salt and the IV are stored at the start of the ciphertext, making it convenient
for byte stream encryption.

The [cmd/](cmd) directory holds two example implementations for tools that will read a file from
disk and then en- or decrypt it accordingly.

## License

This project is licensed under the MIT License. See the LICENSE file for details.

0 comments on commit e8d4ed7

Please sign in to comment.