Update readme

This commit is contained in:
2022-07-17 11:44:42 +02:00
parent 1fdb74eb10
commit 357a4b3510

View File

@@ -4,13 +4,13 @@ Here is the link to the original project: <http://git.gniibe.org/cgit/gnuk/gnuk.
What's Gnuk?
============
Gnuk is an implementation of USB cryptographic token for GNU Privacy Guard. Gnuk supports OpenPGP card protocol version 3, and it runs on STM32F103 processor (and its compatible). Gnuk allows one to converting a Cheap $2 ST-Link v2 clone into a Hardware GPG Key.
Gnuk is an implementation of USB cryptographic token for GNU Privacy Guard. Gnuk supports OpenPGP card protocol version 3, and it runs on STM32F103 processor (and its compatible). Gnuk allows one to convert a cheap $2 ST-Link v2 clone device into a hardware OpenPGP Key.
It has supports of Ed25519 and X25519 (ECDH on Curve25519). It also has experimental support of ECDSA (on NIST P256 and secp256k1) and ECDH (on NIST P256 and secp256k1).
With regards to RSA-4096 support, users should know that it takes more than 8 seconds to sign/decrypt. Key generation of RSA-4096 just fails, because the device doesn't have enough memory.
Gnuk supports the Key Derived Function (KDF) functionality. With the KDF function enabled, the PIN is stored as a hash on the Gnuk. To use the feature, you need to use GnuPG (2.2.6 or later). The KDF setting needs to be enabled before any keys is put on the Gnuk. Once a key has been placed on the Gnuk and changes to the KDF settings will be prevented until the Gnuk has been reset. Your Gnuk token can be configured with the card-edit/kdf-setup command of GnuPG.
Gnuk supports the Key Derived Function (KDF) functionality. To use this feature one will need to use GnuPG 2.2.6 or later.
How to build the Gnuk firmware
==============================
@@ -40,6 +40,18 @@ Then, we will have "gnuk.bin" under src/build directory.
How to flash the Gnuk firmware
==============================
Ensure that you have openocd installed.
On Arch Linux one can use the following command to install openocd
```
sudo pacman -S openocd
```
On Debian or Ubuntu one can use the following command
```
sudo apt-get install openocd
```
Now create a file called stm32f103.cfg with the following content
```
telnet_port 4444
@@ -48,7 +60,7 @@ source [find target/stm32f1x.cfg]
set WORKAREASIZE 0x10000
```
Now execute the openocd command and connect with telnet
Execute the openocd and connect with telnet
```
openocd stm32f103.cfg
telnet localhost 4444
@@ -65,7 +77,7 @@ reset halt
Testing Gnuk
============
Type following command to see if GnuPG detects the token.
Type following command to see if GnuPG detects the Gnuk token.
```
gpg --card-status
```
@@ -74,11 +86,13 @@ gpg --card-status
Personalize the Token, import keys, and change the password
===========================================================
You can personalize the token by putting in your information like: Name, Login and Languages.
You can personalize your token by putting in your information like: Name, Login and Language.
***Note*** that the factory user password is "123456" and admin password is "12345678". It is recommended to create your keys on your computer, and import them in to the token. Gnuk supports key generation, but this feature is young and should be considered experimental.
The KDF setting needs to be enabled before any keys are imported into the Gnuk token. Once a key has been imported the KDF setting can't be changed until the token has been reset.
To do this GnuPG command is:
***Note:*** That the factory user password is "123456" and admin password is "12345678". It is recommended to create your keys on your computer, and import them in to the token. Gnuk supports key generation, but this feature is young and should be considered experimental.
To configure your Gnuk token use the following command.
```
gpg --card-edit
```