on master help sign in
summary
3cf5707drbeefsupreme
arvo/reference/cryptography.md+28
@@ -4,5 +4,33 @@ weight = 10
4template = "doc.html"
4template = "doc.html"
5+++
5+++
6
6
7+Cryptography is central to the operation of Urbit. This section gives an
8+overview of where cryptographic methods are utilized in Arvo, what they are, and
9+how they are implemented.
10+
11+There are five parts of the system involved with cryptography on Urbit. We
12+summarize each component here briefly, and then continue with a more detailed
13+exposition below.
14+
15+[Ames](@/docs/arvo/ames/ames.md) is Arvo's networking vane. Associated to each
16+flow is a `+crypto-core`, an interface core into which one of the cryptosuites
17+in `zuse` may be implemented. The suite utilized by the `+crypto-core` is used
18+to encrypt all communications over the corresponding flow.
19+
20+`zuse` is the Hoon standard library. It contains cryptographic primitives which
21+may be utilized by an Ames `+crypto-core`. All cryptographic primitives are
22+[jetted](@/docs/vere/jetting.md) in Vere with standard implementations of cryptographic
23+libraries.
24+
25+[Vere](@/docs/vere/_index.md) is Urbit's Nock runtime system, written in C.
26+Correct implementation of cryptographic libraries is difficult, and so all
27+cryptographic primitives implemented in Hoon actually hint to the interpreter to
28+run vetted cryptographic libraries reviewed by experts.
29+
30+[Jael](@/docs/arvo/jael/jael-api.md) is utilized for the safe storage and
31+retrieval of private and public keys utilized by Ames and Azimuth.
32+
33+[Azimuth](@/docs/azimuth/_index.md) is Urbit's Ethereum-based public key
34+infrastructure.
7
35
8
36