From 599a40b02532b65ce5b9ac538c8579e292389766 Mon Sep 17 00:00:00 2001 From: Aleksey Veresov Date: Fri, 16 Oct 2020 16:07:04 +0300 Subject: Encryptor added. --- cipher.sts | 14 ++++++++++++++ encrypt.sts | 29 +++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 cipher.sts create mode 100644 encrypt.sts diff --git a/cipher.sts b/cipher.sts new file mode 100644 index 0000000..0f20470 --- /dev/null +++ b/cipher.sts @@ -0,0 +1,14 @@ +; cipher is password string (pointer to start and length) and position in it + +defword ciphernew + 0 +exit + +defword cipher ; ... passwd plen ppos key + 3 get 2 get + @ xor ; key = key ^ passwd[ppos] + over 1 + 3 get mod 2 set ; ppos = (ppos + 1) % plen +exit + +defword cipherdel + drop drop drop +exit diff --git a/encrypt.sts b/encrypt.sts new file mode 100644 index 0000000..378a686 --- /dev/null +++ b/encrypt.sts @@ -0,0 +1,29 @@ +module ia32/elf/begin.sts +module cipher.sts + +defword encbyte + key dup if + drop + cipher + 1 1 + fi 0 = if + drop 0 + fi +exit + +defword encrypt + encbyte if encrypt fi +exit + +defarr passwd 3 + +set_entry + 31 passwd ! + 32 passwd 1 + ! + 33 passwd 2 + ! + passwd 3 ciphernew + encrypt + cipherdel +quit + +module ia32/elf/end.sts -- cgit v1.2.3