Update README
This commit is contained in:
parent
931c254523
commit
7e7591d28f
14
README.md
14
README.md
|
@ -1,6 +1,12 @@
|
||||||
# CCryptoLib
|
# CCryptoLib
|
||||||
An integrated collection of cryptographic primitives written in Lua using the ComputerCraft system API.
|
An integrated collection of cryptographic primitives written in Lua using the ComputerCraft system API.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
A simple install script is provided, just run the following command: `wget run https://git.chrischro.me/ChrisChrome/ccryptolib/raw/branch/main/install.lua`
|
||||||
|
|
||||||
|
## Initialization
|
||||||
|
An `init.lua` is provided to allow easier access to all modules, use `crypto = require("ccryptolib")` in your script to use the module!
|
||||||
|
|
||||||
## Initializing the Random Number Generator
|
## Initializing the Random Number Generator
|
||||||
All functions that take secret input may query the library's random generator,
|
All functions that take secret input may query the library's random generator,
|
||||||
`ccryptolib.random`. CC doesn't have high-quality entropy sources, so instead of
|
`ccryptolib.random`. CC doesn't have high-quality entropy sources, so instead of
|
||||||
|
@ -11,7 +17,7 @@ hoping for the best like other libraries do, CCryptoLib shifts that burden into
|
||||||
If you trust the tmpim Krist node, you can fetch a socket token and use it for
|
If you trust the tmpim Krist node, you can fetch a socket token and use it for
|
||||||
initialization:
|
initialization:
|
||||||
```lua
|
```lua
|
||||||
local random = require "ccryptolib.random"
|
local crypto = require("ccryptolib")
|
||||||
|
|
||||||
-- Fetch a WebSocket token.
|
-- Fetch a WebSocket token.
|
||||||
local postHandle = assert(http.post("https://krist.dev/ws/start", ""))
|
local postHandle = assert(http.post("https://krist.dev/ws/start", ""))
|
||||||
|
@ -19,7 +25,7 @@ local data = textutils.unserializeJSON(postHandle.readAll())
|
||||||
postHandle.close()
|
postHandle.close()
|
||||||
|
|
||||||
-- Initialize the generator using the given URL.
|
-- Initialize the generator using the given URL.
|
||||||
random.init(data.url)
|
crypto.random.init(data.url)
|
||||||
|
|
||||||
-- Be polite and actually open the socket too.
|
-- Be polite and actually open the socket too.
|
||||||
http.websocket(data.url).close()
|
http.websocket(data.url).close()
|
||||||
|
@ -29,6 +35,6 @@ http.websocket(data.url).close()
|
||||||
As of v1.2.0, you can also initialize the generator using VM instruction timing noise.
|
As of v1.2.0, you can also initialize the generator using VM instruction timing noise.
|
||||||
See the `random.initWithTiming` method for security risks of taking this approach.
|
See the `random.initWithTiming` method for security risks of taking this approach.
|
||||||
```lua
|
```lua
|
||||||
local random = require "ccryptolib.random"
|
local crypto = require("ccryptolib")
|
||||||
random.initWithTiming()
|
crypto.random.initWithTiming()
|
||||||
```
|
```
|
||||||
|
|
Loading…
Reference in a new issue