A C library to use the uses the OS's CSPRNG, which tries to keep it KISS.
Go to file
winlogon 967358f5c9
All checks were successful
Build Rukon Library / build (push) Successful in 1m15s
update examples status in README.md
2024-10-25 11:28:53 +02:00
.gitea/workflows add gitea actions 2024-10-24 00:51:37 +02:00
archlinux update pkgbuild for v0.1.3 2024-10-24 12:48:54 +02:00
examples add readme for rust example 2024-10-25 09:16:25 +02:00
src remove runtime macro 2024-10-24 12:48:04 +02:00
.gitignore ignore rust build files 2024-10-25 09:01:14 +02:00
LICENSE Initial commit 2024-10-23 10:49:47 +02:00
meson.build build(repo): port build system from cmake to meson 2024-10-23 22:21:41 +02:00
README.md update examples status in README.md 2024-10-25 11:28:53 +02:00

rukon: easy CSPRNG library

A lightweight library for accessing your OS's native CSPRNG.

The Rukon library lets you generate random numbers using your operating system. It's a better random number generator than std::random_device and rand(), producing secure random numbers.s

Installing / Getting Started

To set up the rukon library and get it running, follow these steps:

git clone https://winlogon.ddns.net/winlogon/rukon.git
cd rukon/
meson setup builddir
meson compile -C builddir

This will clone the repository, navigate into the project directory, set up the build environment, and compile the library.

Initial Configuration

No special configuration is required to use rukon. Ensure you have a C compiler and the necessary build tools installed.

Developing

To start contributing or modifying the project, clone the repository and set it up as follows:

git clone https://winlogon.ddns.net/winlogon/rukon.git
cd rukon/
meson setup builddir
meson compile -C builddir

Building

After making any changes to the code, rebuild the project with the following commands:

meson compile -C builddir

This command compiles the source code and updates the output library.

Deploying / Publishing

To deploy or publish the project, you can use the package manager or share the compiled binaries directly. For example:

meson install -C builddir

This command will install the library to the system-wide location.

Features

  • Utilizes the native CSPRNG of the operating system.
  • Offers an easy-to-use API for generating secure random numbers.
  • Modular architecture separating C and C++ code.
  • Supports both static and shared library builds.

Examples

I moved usage examples to its own examples folder. As of now, only the following languages I made examples for are:

  • C
  • Zig
  • Rust

I'm planning on showing support for:

  • Go
  • (maybe) Java
  • and more...

Contributing

Contributions are welcome! If you would like to help improve rukon, please fork the repository and use a feature branch. Pull requests are warmly accepted.

I follow the Linux kernel coding style, and I advise you to do the same to ensure consistent code, function naming, and other code basics.

Licensing

The code in this project is licensed under the BSL-1.0.

Disclaimer: rukon is a fork of CSPRNG.