@@ -37,7 +37,7 @@ The encrypted payload of each packet is a `$shut-packet`, which is the `+jam` of
37a cell with the `bone`, message number, and message fragment or ack (see
37a cell with the `bone`, message number, and message fragment or ack (see
38[Ames](/docs/arvo/ames/ames) for more information on packet structure). The
38[Ames](/docs/arvo/ames/ames) for more information on packet structure). The
39message fragment is signed using the authentication key. It is encrypted using
39message fragment is signed using the authentication key. It is encrypted using
40−[`+en:crub:crypto`](/docs/arvo/reference/cryptography.md#en) found in
40+[`+en:crub:crypto`](/docs/arvo/reference/cryptography#en) found in
41`sys/zuse.hoon`, which utilizes the 256-bit AES-SIV algorithm.
41`sys/zuse.hoon`, which utilizes the 256-bit AES-SIV algorithm.
43## Diffie-Hellman key exchange {#key-exchange}
43## Diffie-Hellman key exchange {#key-exchange}
@@ -45,7 +45,7 @@ message fragment is signed using the authentication key. It is encrypted using
45For each foreign ship a given ship has communicated with, `$ames-state` contains a
45For each foreign ship a given ship has communicated with, `$ames-state` contains a
46`$peer-state`, inside which the `$symmetric-key` (an atom which nests under
46`$peer-state`, inside which the `$symmetric-key` (an atom which nests under
47`@uw`) is utilized for encrypting all Ames packets shared between the two ships.
47`@uw`) is utilized for encrypting all Ames packets shared between the two ships.
48−The `symmetric-key` is derived using [`+shar:ed:crypto`](/docs/arvo/reference/cryptography.md#ed) found in `sys/zuse.hoon`,
48+The `symmetric-key` is derived using [`+shar:ed:crypto`](/docs/arvo/reference/cryptography#ed) found in `sys/zuse.hoon`,
49which is an arm utilized for generating the symmetric key for elliptic curve
49which is an arm utilized for generating the symmetric key for elliptic curve
50[Diffie-Hellman key
50[Diffie-Hellman key
51exchange](https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange)
51exchange](https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange)
@@ -62,7 +62,7 @@ its identity with an "attestation packet". This is an unencrypted packet whose
62payload is the comet's signature created with its private key. This is the only
62payload is the comet's signature created with its private key. This is the only
63circumstance under which a ship will send an unencrypted packet. The signature
63circumstance under which a ship will send an unencrypted packet. The signature
64is generated with
64is generated with
65−[`+sign:as:crub`](/docs/arvo/reference/cryptography.md#sign-as) found in
65+[`+sign:as:crub`](/docs/arvo/reference/cryptography#sign-as) found in
66`sys/zuse.hoon`.
66`sys/zuse.hoon`.
68Upon hearing an attestation packet, the receiving ship will generate a symmetric
68Upon hearing an attestation packet, the receiving ship will generate a symmetric
@@ -77,7 +77,7 @@ with a non-comet. This is a technical limitation with a planned workaround.
77## `+acru:ames` {#crypto-core}
77## `+acru:ames` {#crypto-core}
79The `+crypto-core` in `$ames-state` is an `+acru:ames` core, a
79The `+crypto-core` in `$ames-state` is an `+acru:ames` core, a
80−[lead](/docs/hoon/reference/advanced.md#dry-polymorphism-and-core-nesting-rules)
80+[lead](/docs/hoon/reference/advanced#dry-polymorphism-and-core-nesting-rules)
81interface core for asymmetric cryptosuites found in `sys/lull.hoon` which
81interface core for asymmetric cryptosuites found in `sys/lull.hoon` which
82handles encryption, decryption, signing, and verifying. In practice, the only
82handles encryption, decryption, signing, and verifying. In practice, the only
83cryptosuite in use is [`+crub:crypto`](#crub), which implements [Suite B
83cryptosuite in use is [`+crub:crypto`](#crub), which implements [Suite B
@@ -112,7 +112,7 @@ Cryptography](https://en.wikipedia.org/wiki/NSA_Suite_B_Cryptography).
112As the `+acru` core is merely an interface, the details on how it is implemented
112As the `+acru` core is merely an interface, the details on how it is implemented
113may vary according to the cryptosuite. We summarize what each
113may vary according to the cryptosuite. We summarize what each
114core is utilized for here, but see
114core is utilized for here, but see
115−[`crub:crypto`](/docs/arvo/reference/cryptography.md#crub) for more details on
115+[`crub:crypto`](/docs/arvo/reference/cryptography#crub) for more details on
116how the specific cryptosuite utilized by Ames is implemented.
116how the specific cryptosuite utilized by Ames is implemented.
118#### `+as:acru`
118#### `+as:acru`