LUC public key cryptosystem based on Lucas sequences over finite fields. Encryption is the Lucas function c = V_e(m, 1) mod n and recovery inverts it modulo each prime factor using the Jacobi symbol of the discriminant, then combines by CRT. Historical cryptosystem with no practical advantages over RSA but of pedagogical interest for Lucas function mathematics.
| Property | Value |
|---|---|
| Category | Asymmetric Ciphers |
| Sub-category | Lucas-based Cryptosystem |
| Security status | 🎓 Educational Only |
| Complexity | Advanced |
| Inventor | Peter Smith, Michael Lennon |
| Year | 1993 |
| Origin | 🇬🇧 United Kingdom |
| Source | algorithms/asymmetric/luc.js |
| Parameter | Supported values |
|---|---|
| Key sizes | 1024 bytes (8192 bits); 2048 bytes (16384 bits) |
Status: 🎓 Educational Only
No vulnerabilities are recorded for this implementation.
2 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.
Vector 1 — LUC-1024 round-trip - c = V_e(m, 1) mod n recovered through InverseLucas
| Field | Value |
|---|---|
key |
0400 |
input |
74657374 |
expected |
74657374 |
Vector 2 — LUC-2048 round-trip with leading zero octets
| Field | Value |
|---|---|
key |
0800 |
input |
0000000102030405 |
expected |
0000000102030405 |