Skip to content

Commit 79cbd8a

Browse files
committed
update lua documentation and tests to use new AES class
compatibility is still kept to have ECDH.aes* functions, but will soon be dropped.
1 parent 4fa2c4c commit 79cbd8a

20 files changed

+51
-35
lines changed

docs/pages/ldoc/config.ld

+1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ backtick_references=true
2626
file={
2727
'../../../src/zen_octet.c',
2828
'../../../src/zen_hash.c',
29+
'../../../src/zen_aes.c',
2930
'../../../src/zen_ecdh.c',
3031
'../../../src/zen_ecp.c',
3132
'string.lua',

docs/pages/ldoc/o/README.md

+12-1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
<ul class="nowrap">
3434
<li><a href="modules/OCTET.html">OCTET</a></li>
3535
<li><a href="modules/HASH.html">HASH</a></li>
36+
<li><a href="modules/AES.html">AES</a></li>
3637
<li><a href="modules/ECDH.html">ECDH</a></li>
3738
<li><a href="modules/ECP.html">ECP</a></li>
3839
<li><a href="modules/String.html">String</a></li>
@@ -89,6 +90,16 @@ href="https://zenroom.org">Zenroom.org</a>.</p>
8990

9091
<p> An hash is also known as 'message digest', 'digital fingerprint',
9192
'digest' or 'checksum'.</p>
93+
</td>
94+
</tr>
95+
<tr>
96+
<td class="name" nowrap><a href="modules/AES.html">AES</a></td>
97+
<td class="summary">
98+
99+
<h1>Advanced Encryption Standard (AES)</h1>
100+
101+
102+
<p> AES Block cipher in varoius modes.</p>
92103
</td>
93104
</tr>
94105
<tr>
@@ -178,7 +189,7 @@ href="https://zenroom.org">Zenroom.org</a>.</p>
178189
</div> <!-- id="main" -->
179190
<div id="about">
180191
<i>generated by <a href="https://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
181-
<i style="float:right;">Last updated 2020-03-19 15:26:17 </i>
192+
<i style="float:right;">Last updated 2020-04-07 15:58:34 </i>
182193
</div> <!-- id="about" -->
183194
</div> <!-- id="container" -->
184195
</body>

docs/pages/ldoc/o/examples/crypt-to-multi.lua.html

+3-2
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ <h2>Modules</h2>
4141
<ul class="nowrap">
4242
<li><a href="../modules/OCTET.html">OCTET</a></li>
4343
<li><a href="../modules/HASH.html">HASH</a></li>
44+
<li><a href="../modules/AES.html">AES</a></li>
4445
<li><a href="../modules/ECDH.html">ECDH</a></li>
4546
<li><a href="../modules/ECP.html">ECP</a></li>
4647
<li><a href="../modules/String.html">String</a></li>
@@ -78,7 +79,7 @@ <h2>crypt-to-multi.lua</h2>
7879
</span><span class="keyword">for</span> name,pubkey <span class="keyword">in</span> <span class="global">pairs</span>(keys.recipients) <span class="keyword">do</span>
7980
<span class="comment">-- calculate the session key
8081
</span>
81-
session = ECDH.session(private, url64(pubkey))
82+
session = ECDH.session(private, O.from_url64(pubkey))
8283
iv = O.random(<span class="number">32</span>)
8384

8485
out = { header = <span class="string">"encoded using zenroom "</span> .. VERSION.original}
@@ -98,7 +99,7 @@ <h2>crypt-to-multi.lua</h2>
9899
</div> <!-- id="main" -->
99100
<div id="about">
100101
<i>generated by <a href="https://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
101-
<i style="float:right;">Last updated 2020-03-19 15:26:17 </i>
102+
<i style="float:right;">Last updated 2020-04-07 15:58:34 </i>
102103
</div> <!-- id="about" -->
103104
</div> <!-- id="container" -->
104105
</body>

docs/pages/ldoc/o/examples/keygen.lua.html

+4-10
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ <h2>Modules</h2>
4141
<ul class="nowrap">
4242
<li><a href="../modules/OCTET.html">OCTET</a></li>
4343
<li><a href="../modules/HASH.html">HASH</a></li>
44+
<li><a href="../modules/AES.html">AES</a></li>
4445
<li><a href="../modules/ECDH.html">ECDH</a></li>
4546
<li><a href="../modules/ECP.html">ECP</a></li>
4647
<li><a href="../modules/String.html">String</a></li>
@@ -57,24 +58,17 @@ <h2>Modules</h2>
5758
<h2>keygen.lua</h2>
5859
<pre>
5960
<span class="comment">-- generate a simple keyring
60-
</span>keyring = ECDH.new()
61-
keyring:keygen()
61+
</span>keyring = ECDH.keygen()
6262

6363
<span class="comment">-- export the keypair to json
64-
</span>export = JSON.encode(
65-
{
66-
public = keyring: public():url64(),
67-
private = keyring:private():url64()
68-
}
69-
)
70-
<span class="global">print</span>(export)</pre>
64+
</span><span class="global">print</span>( JSON.encode( keyring ) )</pre>
7165

7266

7367
</div> <!-- id="content" -->
7468
</div> <!-- id="main" -->
7569
<div id="about">
7670
<i>generated by <a href="https://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
77-
<i style="float:right;">Last updated 2020-03-19 15:26:17 </i>
71+
<i style="float:right;">Last updated 2020-04-07 15:58:34 </i>
7872
</div> <!-- id="about" -->
7973
</div> <!-- id="container" -->
8074
</body>

docs/pages/ldoc/o/modules/BIG.html

+2-1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ <h2>Modules</h2>
4040
<ul class="nowrap">
4141
<li><a href="../modules/OCTET.html">OCTET</a></li>
4242
<li><a href="../modules/HASH.html">HASH</a></li>
43+
<li><a href="../modules/AES.html">AES</a></li>
4344
<li><a href="../modules/ECDH.html">ECDH</a></li>
4445
<li><a href="../modules/ECP.html">ECP</a></li>
4546
<li><a href="../modules/String.html">String</a></li>
@@ -211,7 +212,7 @@ <h3>Returns:</h3>
211212
</div> <!-- id="main" -->
212213
<div id="about">
213214
<i>generated by <a href="https://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
214-
<i style="float:right;">Last updated 2020-03-19 15:26:17 </i>
215+
<i style="float:right;">Last updated 2020-04-07 15:58:34 </i>
215216
</div> <!-- id="about" -->
216217
</div> <!-- id="container" -->
217218
</body>

docs/pages/ldoc/o/modules/ECDH.html

+3-2
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ <h2>Modules</h2>
4040
<ul class="nowrap">
4141
<li><a href="../modules/OCTET.html">OCTET</a></li>
4242
<li><a href="../modules/HASH.html">HASH</a></li>
43+
<li><a href="../modules/AES.html">AES</a></li>
4344
<li><strong>ECDH</strong></li>
4445
<li><a href="../modules/ECP.html">ECP</a></li>
4546
<li><a href="../modules/String.html">String</a></li>
@@ -84,7 +85,7 @@ <h1>Elliptic Curve Diffie-Hellman encryption (ECDH)</h1>
8485
'Bob'.</p>
8586
<h3>Info:</h3>
8687
<ul>
87-
<li><strong>Copyright</strong>: Dyne.org foundation 2017-2019</li>
88+
<li><strong>Copyright</strong>: Dyne.org foundation 2017-2020</li>
8889
<li><strong>License</strong>: AGPLv3</li>
8990
<li><strong>Author</strong>: Denis "Jaromil" Roio</li>
9091
</ul>
@@ -287,7 +288,7 @@ <h3>See also:</h3>
287288
</div> <!-- id="main" -->
288289
<div id="about">
289290
<i>generated by <a href="https://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
290-
<i style="float:right;">Last updated 2020-03-19 15:26:17 </i>
291+
<i style="float:right;">Last updated 2020-04-07 15:58:34 </i>
291292
</div> <!-- id="about" -->
292293
</div> <!-- id="container" -->
293294
</body>

docs/pages/ldoc/o/modules/ECP.html

+2-1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ <h2>Modules</h2>
4141
<ul class="nowrap">
4242
<li><a href="../modules/OCTET.html">OCTET</a></li>
4343
<li><a href="../modules/HASH.html">HASH</a></li>
44+
<li><a href="../modules/AES.html">AES</a></li>
4445
<li><a href="../modules/ECDH.html">ECDH</a></li>
4546
<li><strong>ECP</strong></li>
4647
<li><a href="../modules/String.html">String</a></li>
@@ -559,7 +560,7 @@ <h3>Returns:</h3>
559560
</div> <!-- id="main" -->
560561
<div id="about">
561562
<i>generated by <a href="https://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
562-
<i style="float:right;">Last updated 2020-03-19 15:26:17 </i>
563+
<i style="float:right;">Last updated 2020-04-07 15:58:34 </i>
563564
</div> <!-- id="about" -->
564565
</div> <!-- id="container" -->
565566
</body>

docs/pages/ldoc/o/modules/HASH.html

+2-1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ <h2>Modules</h2>
4040
<ul class="nowrap">
4141
<li><a href="../modules/OCTET.html">OCTET</a></li>
4242
<li><strong>HASH</strong></li>
43+
<li><a href="../modules/AES.html">AES</a></li>
4344
<li><a href="../modules/ECDH.html">ECDH</a></li>
4445
<li><a href="../modules/ECP.html">ECP</a></li>
4546
<li><a href="../modules/String.html">String</a></li>
@@ -289,7 +290,7 @@ <h3>See also:</h3>
289290
</div> <!-- id="main" -->
290291
<div id="about">
291292
<i>generated by <a href="https://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
292-
<i style="float:right;">Last updated 2020-03-19 15:26:17 </i>
293+
<i style="float:right;">Last updated 2020-04-07 15:58:34 </i>
293294
</div> <!-- id="about" -->
294295
</div> <!-- id="container" -->
295296
</body>

docs/pages/ldoc/o/modules/INSPECT.html

+2-1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ <h2>Modules</h2>
4040
<ul class="nowrap">
4141
<li><a href="../modules/OCTET.html">OCTET</a></li>
4242
<li><a href="../modules/HASH.html">HASH</a></li>
43+
<li><a href="../modules/AES.html">AES</a></li>
4344
<li><a href="../modules/ECDH.html">ECDH</a></li>
4445
<li><a href="../modules/ECP.html">ECP</a></li>
4546
<li><a href="../modules/String.html">String</a></li>
@@ -179,7 +180,7 @@ <h3>Returns:</h3>
179180
</div> <!-- id="main" -->
180181
<div id="about">
181182
<i>generated by <a href="https://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
182-
<i style="float:right;">Last updated 2020-03-19 15:26:17 </i>
183+
<i style="float:right;">Last updated 2020-04-07 15:58:34 </i>
183184
</div> <!-- id="about" -->
184185
</div> <!-- id="container" -->
185186
</body>

docs/pages/ldoc/o/modules/OCTET.html

+2-1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ <h2>Modules</h2>
4141
<ul class="nowrap">
4242
<li><strong>OCTET</strong></li>
4343
<li><a href="../modules/HASH.html">HASH</a></li>
44+
<li><a href="../modules/AES.html">AES</a></li>
4445
<li><a href="../modules/ECDH.html">ECDH</a></li>
4546
<li><a href="../modules/ECP.html">ECP</a></li>
4647
<li><a href="../modules/String.html">String</a></li>
@@ -455,7 +456,7 @@ <h3>Returns:</h3>
455456
</div> <!-- id="main" -->
456457
<div id="about">
457458
<i>generated by <a href="https://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
458-
<i style="float:right;">Last updated 2020-03-19 15:26:17 </i>
459+
<i style="float:right;">Last updated 2020-04-07 15:58:34 </i>
459460
</div> <!-- id="about" -->
460461
</div> <!-- id="container" -->
461462
</body>

docs/pages/ldoc/o/modules/String.html

+2-1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ <h2>Modules</h2>
4040
<ul class="nowrap">
4141
<li><a href="../modules/OCTET.html">OCTET</a></li>
4242
<li><a href="../modules/HASH.html">HASH</a></li>
43+
<li><a href="../modules/AES.html">AES</a></li>
4344
<li><a href="../modules/ECDH.html">ECDH</a></li>
4445
<li><a href="../modules/ECP.html">ECP</a></li>
4546
<li><strong>String</strong></li>
@@ -658,7 +659,7 @@ <h3>Parameters:</h3>
658659
</div> <!-- id="main" -->
659660
<div id="about">
660661
<i>generated by <a href="https://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
661-
<i style="float:right;">Last updated 2020-03-19 15:26:17 </i>
662+
<i style="float:right;">Last updated 2020-04-07 15:58:34 </i>
662663
</div> <!-- id="about" -->
663664
</div> <!-- id="container" -->
664665
</body>

docs/pages/ldoc/o/modules/Table.html

+2-1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ <h2>Modules</h2>
4040
<ul class="nowrap">
4141
<li><a href="../modules/OCTET.html">OCTET</a></li>
4242
<li><a href="../modules/HASH.html">HASH</a></li>
43+
<li><a href="../modules/AES.html">AES</a></li>
4344
<li><a href="../modules/ECDH.html">ECDH</a></li>
4445
<li><a href="../modules/ECP.html">ECP</a></li>
4546
<li><a href="../modules/String.html">String</a></li>
@@ -277,7 +278,7 @@ <h3>Parameters:</h3>
277278
</div> <!-- id="main" -->
278279
<div id="about">
279280
<i>generated by <a href="https://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
280-
<i style="float:right;">Last updated 2020-03-19 15:26:17 </i>
281+
<i style="float:right;">Last updated 2020-04-07 15:58:34 </i>
281282
</div> <!-- id="about" -->
282283
</div> <!-- id="container" -->
283284
</body>

docs/pages/ldoc/o/modules/ZEN.html

+2-1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ <h2>Modules</h2>
4040
<ul class="nowrap">
4141
<li><a href="../modules/OCTET.html">OCTET</a></li>
4242
<li><a href="../modules/HASH.html">HASH</a></li>
43+
<li><a href="../modules/AES.html">AES</a></li>
4344
<li><a href="../modules/ECDH.html">ECDH</a></li>
4445
<li><a href="../modules/ECP.html">ECP</a></li>
4546
<li><a href="../modules/String.html">String</a></li>
@@ -126,7 +127,7 @@ <h2 class="section-header "><a name="Functions"></a>Functions</h2>
126127
</div> <!-- id="main" -->
127128
<div id="about">
128129
<i>generated by <a href="https://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
129-
<i style="float:right;">Last updated 2020-03-19 15:26:17 </i>
130+
<i style="float:right;">Last updated 2020-04-07 15:58:34 </i>
130131
</div> <!-- id="about" -->
131132
</div> <!-- id="container" -->
132133
</body>

examples/crypt-to-multi.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ for name,pubkey in pairs(keys.recipients) do
2626
out = { header = "encoded using zenroom " .. VERSION.original}
2727
-- encrypt the message with the session key
2828
out.text, out.checksum =
29-
ECDH.aead_encrypt(KDF(session), secret, iv, out.header)
29+
AES.gcm_encrypt(KDF(session), secret, iv, out.header)
3030

3131
-- insert results in final json array
3232
res[name] = url64( JSON.encode(out) )

examples/dashboard-from-iotdev.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ commsec = O.from_url64(keys.community_seckey)
1010
devpub = O.from_url64(decode.header.device_pubkey)
1111
session = ECDH.session(commsec, devpub)
1212
decode.text, decode.checksum =
13-
ECDH.aead_decrypt(KDF(session), O.from_url64(data.text),
13+
AES.gcm_decrypt(KDF(session), O.from_url64(data.text),
1414
O.from_url64(decode.header.iv), data.header)
1515

1616
assert(data.checksum == data.checksum)

examples/iotdev-to-dashboard.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ header.iv = O.random(32):url64()
3333
local session = ECDH.session(devkey.private, O.from_url64(keys.community_pubkey))
3434
local out = { header = url64(JSON.encode(header)) }
3535
out.text, out.checksum =
36-
ECDH.aead_encrypt(KDF(session), JSON.encode(payload), header.iv, out.header)
36+
AES.gcm_encrypt(KDF(session), JSON.encode(payload), header.iv, out.header)
3737

3838
-- content(output) -- uncomment for debug
3939
print( JSON.encode( out ) ) -- map(output, url64) ) )

examples/symmetric-crypto-pin.lua

+4-4
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ key = HASH.pbkdf2(hash, secrets.pin, secrets.salt, secrets.kdf_iterations, 32)
1313
local cipher = { header = O.from_str("my header"),
1414
iv = O.random(16) }
1515
cipher.text, cipher.checksum =
16-
ECDH.aead_encrypt(key, secrets.text,
17-
cipher.iv, cipher.header)
16+
AES.gcm_encrypt(key, secrets.text,
17+
cipher.iv, cipher.header)
1818

1919
-- I.print(cipher)
2020
-- output = map(cipher, hex)
@@ -25,8 +25,8 @@ print(JSON.encode(cipher))
2525

2626
local decode = { header = cipher.header }
2727
decode.text, decode.checksum =
28-
ECDH.aead_decrypt(key, cipher.text,
29-
cipher.iv, cipher.header)
28+
AES.gcm_decrypt(key, cipher.text,
29+
cipher.iv, cipher.header)
3030

3131
-- this needs to be checked, can also be in the host application
3232
-- if checksums are different then the data integrity is corrupted

test/ecdh.lua

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ I.print({ session = session,
1919
secret = secret,
2020
header = ciphermsg.header })
2121
ciphermsg.text, ciphermsg.checksum =
22-
ECDH.aead_encrypt(session, secret, iv, ciphermsg.header)
22+
AES.gcm_encrypt(session, secret, iv, ciphermsg.header)
2323

2424
-- I.print(ciphermsg)
2525
-- print ('AES-GCM encrypt : ' .. ciphermsg.text:url64())
@@ -28,7 +28,7 @@ ciphermsg.text, ciphermsg.checksum =
2828
session = ECDH.session(bob.private, alice.public)
2929
decode = { header = ciphermsg.header }
3030
decode.text, decode.checksum =
31-
ECDH.aead_decrypt(session, ciphermsg.text, iv, decode.header)
31+
AES.gcm_decrypt(session, ciphermsg.text, iv, decode.header)
3232

3333
-- print ('AES-GCM checksum : ' .. ck2:base64())
3434

test/ecdh_aes-gcm_vectors.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ print()
77

88
function Test(t)
99
print ("Test vector: " .. t.name)
10-
out, tag_out = ECDH.aead_encrypt(hex(t.key), hex(t.msg), hex(t.iv), hex(t.header))
10+
out, tag_out = AES.gcm_encrypt(hex(t.key), hex(t.msg), hex(t.iv), hex(t.header))
1111

1212
assert(hex(t.ciphermsg) == out)
1313
print (' encrypt OK')

test/integration_asymmetric_crypto.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ ciphermsg =
4747
iv = iv })) }
4848
session = ECDH.session(sender.private, recipient.public)
4949
ciphermsg.text, ciphermsg.checksum =
50-
ECDH.aead_encrypt(session,
50+
AES.gcm_encrypt(session,
5151
str('$secret'), iv,
5252
ciphermsg.header)
5353
print(JSON.encode(ciphermsg))
@@ -68,7 +68,7 @@ decode = { header = JSON.decode(data.header) }
6868
sender.public = O.from_url64(decode.header.public)
6969
session = ECDH.session(recipient.private, sender.public)
7070
decode.text, decode.checksum =
71-
ECDH.aead_decrypt(session, O.from_url64(data.text), O.from_url64(decode.header.iv), data.header)
71+
AES.gcm_decrypt(session, O.from_url64(data.text), O.from_url64(decode.header.iv), data.header)
7272
print(decode.text:str())
7373
EOF
7474
}

0 commit comments

Comments
 (0)