|
lacteApp
C++17 service for Lacte hardware
|
Namespaces | |
| namespace | detail |
Functions | |
| auto | encrypt_block (const std::uint64_t plaintext, const std::uint64_t key64) -> std::uint64_t |
| Encrypts one 64-bit block with one 64-bit DES key (parity bits included but unchecked - PC1 drops them exactly as the algorithm always does). | |
| auto | bytes_to_u64 (const std::array< std::uint8_t, 8 > &bytes) -> std::uint64_t |
| auto | u64_to_bytes (const std::uint64_t value) -> std::array< std::uint8_t, 8 > |
| auto | vnc_encrypt_challenge (const std::array< std::uint8_t, 16 > &challenge, const std::string &password) -> std::array< std::uint8_t, 16 > |
| RFB's classic "VNC Authentication" (security type 2) challenge response: the connection password becomes an 8-byte DES key (truncated to 8 bytes / zero-padded if shorter - a real, well-known VNC password length limit, not a bug), with each key BYTE's bits reversed before use. | |
|
inline |
|
inlinenodiscard |
Encrypts one 64-bit block with one 64-bit DES key (parity bits included but unchecked - PC1 drops them exactly as the algorithm always does).
Verified against the classic FIPS PUB 46 worked example in des_test.cpp; do not "simplify" the bit numbering here without re-checking against that vector - DES's MSB-first, 1-indexed table convention is easy to get silently backwards.
Definition at line 169 of file Des.hpp.
|
inline |
|
inlinenodiscard |
RFB's classic "VNC Authentication" (security type 2) challenge response: the connection password becomes an 8-byte DES key (truncated to 8 bytes / zero-padded if shorter - a real, well-known VNC password length limit, not a bug), with each key BYTE's bits reversed before use.
Definition at line 228 of file Des.hpp.