-
Notifications
You must be signed in to change notification settings - Fork 17
CCL draft RFC #17
base: main
Are you sure you want to change the base?
CCL draft RFC #17
Conversation
Signed-off-by: Dave Huseby <[email protected]>
Signed-off-by: Dave Huseby <[email protected]>
Signed-off-by: Dave Huseby <[email protected]>
danintel
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see the changes, but I'll assume they have been made and are stashed somewhere.
|
@dhuseby: I saw the multiple commits. Usually the commits are aggregated under "Files changed". I'll look again. |
|
If I understand well your value proposition, you may want to acknowledge Zencode as prior art:
|
I have been reading LangSec papers for years and, like zenroom, a lot of the thinking is inspired from there. However, after looking at Zenroom and Zencode, it isn't an inspiration for CCL. CCL isn't about the VM, it's more about a uniform way to serialize crypto constructs. Crypto constructs almost always consist of some data and some implied processing of that data to validate, verify, authenticate, encrypt, decrypt, etc. CCL acknowledges that fact and explicitly encodes the processing along with the data. Using a stack machine as the "VM" for executing the CCL encoded constructs just simplifies things and drastically limits attack surface area by allowing for a non-Turing-complete deterministic DSL to be used. |
|
Thanks for the clarification! I'll be following the CCL specification with great interest. |
Signed-off-by: Dave Huseby <[email protected]>
Signed-off-by: Dave Huseby <[email protected]>
Signed-off-by: Dave Huseby <[email protected]>
Signed-off-by: Dave Huseby <[email protected]>
Signed-off-by: Dave Huseby <[email protected]>
Signed-off-by: Dave Huseby <[email protected]>
Signed-off-by: Dave Huseby <[email protected]>
| * RSA | ||
| * XSalsa20Poly1305 | ||
| * AES | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No XChaCha20Poly1305?
| * SHA512-256 | ||
| * Blake2b | ||
| * Argon2id | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Keccak?
| * RSA - `RSA` | ||
| * XSalsa20Poly1305 - `XSalsa20Poly1305` | ||
| * AES - `AES` | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we want to support any ECIES methods like libsodium's secretbox and sealedbox?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
XSalsa20Poly1305 is libsodium's SecretBox. In the v0.1.0 version I left out the SealedBox but if you look at the CCLang repo you'll see that it would be trivial to add new construct primitives.
|
Love this idea. Just some minor things to include and I think we’ve got a good start |
|
I just published v0.1.0 of my CCLang implementation. I scaled back on some of the algorithms to get a MVP. The repo is here: https://github.com/dhuseby/cclang and the crate page is here: https://crates.io/crates/cclang |
|
My hope is that CCLang will stop using sodiumoxide as it's crypto library and instead be built into Ursa and use Ursa's API while also integrating with Ursa's build system so that depending on how Ursa is built, the CCLang algorithms and underlying primitives are set up accordingly. This would allow consumers of Ursa to use CCLang in FIPS mode or "open crypto" mode or with any of the restricted sets of algorithms and underlying crypto libraries. |
|
I gather this should be closed now? |
This is the draft RFC for the Cryptographic Construction Language (CCL) for encoding cryptographic constructions in a self-describing way that is independent from the underlying crypto library.
Signed-off-by: Dave Huseby [email protected]