sodium: prepare some code for reuse

travis-windows
Alexander Iljin 2018-12-24 00:50:20 +01:00
parent ce6f4ee249
commit 0f57380074
1 changed files with 11 additions and 4 deletions

View File

@ -14,10 +14,17 @@ ERROR: buffer-too-small ;
<PRIVATE <PRIVATE
: cipher-buf ( message-length n -- byte-array ) : cipher-buf ( message-length n -- byte-array )
crypto_secretbox_macbytes + <byte-array> ; + <byte-array> ;
: message-buf ( cipher-length n -- byte-array ) : message-buf ( cipher-length n -- byte-array )
crypto_secretbox_macbytes - <byte-array> ; - <byte-array> ;
: secretbox-cipher-buf ( message-length -- byte-array )
crypto_secretbox_macbytes cipher-buf ;
: secretbox-message-buf ( cipher-length -- byte-array )
crypto_secretbox_macbytes message-buf ;
PRIVATE> PRIVATE>
@ -44,7 +51,7 @@ PRIVATE>
[ dup length ] dip < [ buffer-too-small ] when ; [ dup length ] dip < [ buffer-too-small ] when ;
: crypto-secretbox-easy ( msg-bytes nonce-bytes key-bytes -- cipher-bytes ) : crypto-secretbox-easy ( msg-bytes nonce-bytes key-bytes -- cipher-bytes )
[ dup length [ cipher-buf swap dupd ] keep ] [ dup length [ secretbox-cipher-buf swap dupd ] keep ]
[ crypto_secretbox_noncebytes check-length ] [ crypto_secretbox_noncebytes check-length ]
[ crypto_secretbox_keybytes check-length ] tri* [ crypto_secretbox_keybytes check-length ] tri*
crypto_secretbox_easy check0 ; crypto_secretbox_easy check0 ;
@ -52,7 +59,7 @@ PRIVATE>
: crypto-secretbox-open-easy ( cipher-bytes nonce-bytes key-bytes -- msg-bytes/f ) : crypto-secretbox-open-easy ( cipher-bytes nonce-bytes key-bytes -- msg-bytes/f )
[ [
crypto_secretbox_macbytes check-length crypto_secretbox_macbytes check-length
dup length [ message-buf swap dupd ] keep dup length [ secretbox-message-buf swap dupd ] keep
] ]
[ crypto_secretbox_noncebytes check-length ] [ crypto_secretbox_noncebytes check-length ]
[ crypto_secretbox_keybytes check-length ] tri* [ crypto_secretbox_keybytes check-length ] tri*