Skip to content

Commit 8e0c214

Browse files
committed
Update README.md
1 parent 79292ec commit 8e0c214

File tree

1 file changed

+16
-36
lines changed

1 file changed

+16
-36
lines changed

README.md

Lines changed: 16 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
# An implementation based on NIST.SP.800-185
22

33
Algorithms:
4-
SHA-3 derived function KMACXOF256;
5-
ECDHIES encryption and Schnorr signatures;
6-
DHIES encryption and Schnorr signatures with elliptic curves
4+
- SHA-3 derived function KMACXOF256
5+
- ECDHIES encryption and Schnorr signatures
6+
- DHIES encryption and Schnorr signatures with elliptic curves
77

88
Objective: implement (in Java) a library and an app for asymmetric encryption and digital signatures at the 256-bit
99
security level
1010

11+
12+
1113
# Developed By:
1214

1315
**Yudong Lin**:
@@ -21,6 +23,8 @@ security level
2123
- The implementation of cSHAKE256
2224
- The implementation of Ed448-Goldilocks
2325

26+
27+
2428
# What this program will do:
2529

2630
### KMACXOF256 and ECDHIES encryption:
@@ -50,6 +54,8 @@ security level
5054
7. Sign text input by the user directly to the app instead of having to read it from a file (but write the signature to a file).
5155
8. Verify a given data file and its signature file under a given public key file.
5256

57+
58+
5359
# How to use:
5460

5561
### SHA-3:
@@ -96,36 +102,6 @@ local disk.
96102

97103
### Elliptic curves:
98104

99-
#### Services the app must offer for part 2:
100-
101-
**Generate an elliptic key pair from a given passphrase and write the public key to a file (and also encrypt the private key from that pair under the given password and write it to a different file as well):**
102-
103-
`-eck -p testpw -o public.key -o2 private.key` -- generate an elliptic key pair from the given passphrase "testpw" and write the public key to "public.key" file and ***encrypted*** private key to "private.key" file.
104-
105-
**Encrypt a data file under a given elliptic public key file and write the ciphertext to a file:**
106-
107-
`-ece -f test.txt -keyp public.key -o test.txt.enc` -- the program will encrypt the "test.txt" file using previously generated "public.key" file, and then save to "test.txt.enc" file.
108-
109-
**Encrypt text input by the user directly to the app instead of having to read it from a file (but write the ciphertext to a file).**
110-
111-
`-ece -keyp public.key -o test.txt.enc` -- you will be asked to input a string which will be encrypted using previously generated "public.key" file, and then save to "test.txt.enc" file.
112-
113-
**Decrypt a given elliptic-encrypted file from a given password and write the decrypted data to a file.**
114-
115-
`-ecd -f test.txt.enc -p testpw -o test.txt` -- the program will decrypt "test.txt.enc" file with the passphrase "testpw", and then save to "test.txt"
116-
117-
**Sign a given file from a given password and write the signature to a file:**
118-
119-
`-ecs -f test.txt -p testpw -o test_signature.key` -- the program will sign the "test.txt" file with the passphrase "testpw", and write the signature to "test_signature.key" file.
120-
121-
**Sign text input by the user directly to the app instead of having to read it from a file (but write the signature to a file):**
122-
123-
`-ecs -p testpw -o test_signature.key` -- you will be asked to input a string which will be signed using passphrase "testpw", and write the signature to "test_signature.key" file.
124-
125-
**Verifying a signature (h, z) for a byte array m under the (Schnorr/ DHIES) public key V:**
126-
127-
`-ecv -f test.txt -o test_signature.key -keyp public.key` -- Verify "test.txt" file and its signature file "test_signature.key" under "public.key" file.
128-
129105
#### Generate an elliptic key pair:
130106

131107
`-eck -p <passphrase> -o <public key output path> -o2 <private key output path> ` -- generate an elliptic key pair from a given passphrase and write the public key and encrypted private key to given location.
@@ -167,15 +143,19 @@ path with the given public key, and then save to given location
167143

168144
`-ecv -f <input data file path> -o <signature file path> -keyp <public key file path>` -- Verify a given data file and its signature file under a given public key file.
169145

170-
171-
172-
#### Please Note that:
146+
#### Please Note:
173147

174148
> The mode argument such as "-h" or "-t" has to be entered as the first argument! The other arguments can be entered
175149
> in different orders, but following the order listed above are highly recommended!
176150
177151

178152

153+
# License
154+
155+
Please check the **LICENSE** file. You are free to learn and use any part of this repo. However, giving us credits is always a requirement! **You are mandated to include an explicit link to this repo**! We reserve the right to notify your professor or take legal action if needed.
156+
157+
158+
179159
# Credits:
180160

181161
Our implementations is inspired by following repositories or documents:

0 commit comments

Comments
 (0)