2020-02-13 10:39:08 -07:00
# [KFDtool](https://github.com/KFDtool/KFDtool)
2019-07-29 15:24:10 -06:00
Open Source P25 Key Fill Device
Compliant with P25 standards (TIA-102.AACD-A)
2019-10-16 13:22:25 -06:00
Purchase Hardware: [online store ](https://kfdtool.com/store )
2022-08-24 17:54:15 -06:00
Download Software: [latest release ](https://kfdtool.com/download )
2019-07-29 15:24:10 -06:00
2021-02-11 10:58:17 -07:00
Release Notifications: [subscribe ](https://kfdtool.com/newsletter )
2021-02-11 10:12:43 -07:00
2019-07-29 15:24:10 -06:00
Demonstration: [video ](https://www.youtube.com/watch?v=Oioa3xTQoE0 )
2020-08-01 09:09:13 -06:00
Software Manual: [view ](doc/KFDtool_Manual.pdf )
2019-07-29 15:24:10 -06:00
2020-08-01 09:09:13 -06:00
Security Considerations: [view ](doc/SECURITY_CONSIDERATIONS.md )
2019-07-29 15:24:10 -06:00
Features
--------
2019-12-28 11:30:34 -07:00
**Key Fill Device (KFD)**
2019-07-29 15:24:10 -06:00
2020-05-17 18:27:55 -06:00
The KFDtool software supports KFD features through the KFDtool hardware adapter (TWI/3WI/Three Wire Interface), as well as through a IP (UDP) connection (DLI/Data Link Independent interface).
2020-08-01 08:12:20 -06:00
Keys and groups of keys can be saved to an AES-256 encrypted key container file, which can then be selected and loaded into a target device in one operation.
2020-05-17 18:57:10 -06:00
Supported Manual Rekeying Features (TIA-102.AACD-A)
2019-07-29 15:24:10 -06:00
* 2.3.1 Keyload
* 2.3.2 Key Erase
* 2.3.3 Erase All Keys
* 2.3.4 View Key Info
2020-05-17 18:57:10 -06:00
* 2.3.5 View Individual RSI
* 2.3.6 Load Individual RSI
* 2.3.7 View KMF RSI
* 2.3.8 Load KMF RSI
* 2.3.9 View MNP
* 2.3.10 Load MNP
* 2.3.11 View Keyset Info
* 2.3.12 Activate Keyset
2019-07-29 15:24:10 -06:00
Motorola refers to the P25 standard 3 wire interface (3WI) keyload protocol as ASTRO 25 mode or CKR mode.
The legacy Motorola proprietary keyloading formats SECURENET and ASN (Advanced SECURENET) are **NOT** supported by KFDtool. PID mode is also used to refer to ASN mode.
Key validators/generators are available for the following algorithms:
* AES-256 (Algorithm ID 0x84)
* DES-OFB (Algorithm ID 0x81)
* DES-XL (Algorithm ID 0x9F)
* ADP/RC4 (Algorithm ID 0xAA)
2019-12-28 11:30:34 -07:00
**Mobile Radio (MR) Emulator**
2020-05-17 18:27:55 -06:00
The KFDtool software only supports MR Emulator features through the KFDtool hardware adapter (TWI/3WI/Three Wire Interface) at this time.
2020-08-01 08:12:20 -06:00
This mode allows another keyloader to be connected to the KFDtool, and the keys retrieved.
2020-05-17 18:57:10 -06:00
Supported Manual Rekeying Features (TIA-102.AACD-A)
2019-12-28 11:30:34 -07:00
* 2.3.1 Keyload
2019-07-29 15:24:10 -06:00
Radio Compatibility
-------------------
*Any statements of compatibility do not imply endorsement by the vendor. Testing has not been performed by the vendor themselves.*
2019-09-10 16:50:07 -06:00
**A detailed list of compatible radios and adapters is available [here ](doc/RADIO_COMPATIBILITY.md ).**
2019-09-04 19:34:44 -06:00
2019-07-29 15:24:10 -06:00
Radios that are compatible with Motorola KVL3000/KVL3000+/KVL4000/KVL5000 keyloaders in ASTRO 25 mode should be compatible with KFDtool.
2019-09-10 16:50:07 -06:00
Keyloading cables made for other radios with MX (Motorola KVL) connectors can be modified by soldering an AC101 or AC102 Hirose pigtail in parallel with the MX connector according to [these ](doc/MX_CONN_MOD_NOTES.md ) instructions.
2020-02-18 19:06:24 -07:00
Operations encapsulated with encryption (commonly referred to as FIPS mode) are not supported at this time for either the KFD or MR emulation modes.
2019-10-16 13:37:54 -06:00
Hardware
--------
2019-07-29 15:24:10 -06:00
2019-10-16 13:22:25 -06:00
Assembled and tested KFDtool hardware is available from me directly. I can ship internationally. Please visit the [online store ](https://kfdtool.com/store ) to place an order.
2019-09-10 16:50:07 -06:00
**Proceeds from hardware sales enables me to further develop the software.**
2019-07-29 15:24:10 -06:00
2019-10-16 13:22:25 -06:00
| Part Number | Description |
| :---: | --- |
| KFD100 | Single Hirose port USB key fill device (includes 1 m / 3 ft USB A to USB B cable) |
| AC100 | 6 pin male plug Hirose to 6 pin male plug Hirose cable (0.5 m / 1.5 ft) |
| AC101 | 6 pin male plug Hirose pigtail for custom cables (0.5 m / 1.5 ft) |
| AC102 | 6 pin female jack Hirose pigtail for custom cables (0.5 m / 1.5 ft) |
2020-07-23 20:12:27 -06:00
| AC103 | Motorola R2670 compatible adapter (0.15 m / 6 in) |
| AC104 | Kenwood KPG-115 compatible adapter (0.15 m / 6 in) |
2020-01-18 17:56:16 -07:00
| AC105 | 4 way female jack passive Hirose splitter |
2020-07-23 20:12:27 -06:00
| AC106 | Kenwood KPG-93 compatible adapter (0.15 m / 6 in) |
| AC107 | Motorola XTS4000 compatible adapter (0.15 m / 6 in) |
| AC108 | Aeroflex/IFR 2975 compatible adapter (0.15 m / 6 in) |
2021-02-11 11:04:54 -07:00
| AC109 | Harris XG-100P/XL-150P/XL-185P/XL-200P compatible adapter |
2019-07-29 15:24:10 -06:00
2019-08-30 10:39:32 -06:00
OS Compatibility
----------------
* KFDtool software supports 32-bit and 64-bit Windows 7, Windows 8.1, and Windows 10
2019-09-11 17:13:30 -06:00
2019-08-30 10:39:32 -06:00
* The .NET Framework 4.7.2 or later compatible must be installed
2019-09-11 17:13:30 -06:00
2019-09-04 19:34:44 -06:00
* **The use of a virtual machine with USB passthrough is NOT supported at this time**
2019-09-11 17:13:30 -06:00
* Changing the USB controller from USB 2.0 mode to USB 3.0 mode has been reported to resolve the issue
* Do not attempt to update the adapter firmware or initialize an adapter using USB passthrough
2019-08-30 10:39:32 -06:00
2019-08-01 12:21:31 -06:00
Documentation
-------------
2019-09-04 16:46:22 -06:00
* [Software Changelog ](doc/SW_CHANGELOG.txt )
* [Firmware Changelog ](doc/FW_CHANGELOG.txt )
2019-10-12 12:56:57 -06:00
* [Hardware Changelog ](doc/HW_CHANGELOG.txt )
2020-07-23 20:12:27 -06:00
* [Radio Compatibility ](doc/RADIO_COMPATIBILITY.md )
2020-03-08 20:47:37 -06:00
* [TWI Cable Assembly Notes ](doc/TWI_CABLE_ASSY_NOTES.md )
* [MX Connector Modification Notes ](doc/MX_CONN_MOD_NOTES.md )
2019-10-29 17:11:27 -06:00
* [Developer Notes ](doc/DEV_NOTES.md )
2020-08-01 09:09:13 -06:00
* [Security Considerations ](doc/SECURITY_CONSIDERATIONS.md )
2019-08-01 12:21:31 -06:00
2022-08-24 17:54:15 -06:00
Community Forks
---------------
The following projects are community created forks of the KFDtool project.
2019-07-29 15:24:10 -06:00
2022-08-24 17:54:15 -06:00
* [KFDShield ](https://github.com/omahacommsys/KFDTool )
2019-07-29 15:24:10 -06:00
License / Legal
---------------
2019-09-04 18:33:47 -06:00
KFDtool software, firmware, and hardware is distributed under the MIT License (see [LICENSE.txt ](LICENSE.txt )).
2019-07-29 15:24:10 -06:00
2022-08-24 17:54:15 -06:00
KFDtool is a trademark of KFDtool, LLC
2019-07-29 15:24:10 -06:00
2019-09-04 19:34:44 -06:00
All product names, trademarks, registered trademarks, logos, and brands are property of their respective owners. All company, product, and service names used are for identification purposes only. Use of these names, trademarks, logos, and brands does not imply endorsement.
2019-07-29 15:24:10 -06:00
Included open-source components:
2019-09-04 18:33:47 -06:00
Software (see [doc/SW_LICENSE.txt ](doc/SW_LICENSE.txt )):
2019-07-29 15:24:10 -06:00
* [NLog ](https://github.com/NLog/NLog ) - MIT License
* [Mono.Options ](https://github.com/mono/mono/blob/master/mcs/class/Mono.Options/Mono.Options/Options.cs ) - MIT License
* [HidLibrary ](https://github.com/mikeobrien/HidLibrary ) - MIT License
* [Microsoft Reference Source ](https://github.com/microsoft/referencesource ) - MIT License
* [InnovasubBSL430 ](https://github.com/corentinaltepe/InnovasubBSL430 ) - GPL v3+ License
2019-08-01 12:39:15 -06:00
* Texas Instruments - BSD 3 Clause License
2019-07-29 15:24:10 -06:00
2019-09-04 18:33:47 -06:00
Firmware (see [doc/FW_LICENSE.txt ](doc/FW_LICENSE.txt )):
2019-07-29 15:24:10 -06:00
* Texas Instruments - BSD 3 Clause License